Browse Source

implement XamlParser

newNRvisualizers
Siegfried Pammer 14 years ago
parent
commit
c0a13242a2
  1. 21
      SharpDevelop.sln
  2. 5
      src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBehavior.cs
  3. 1
      src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj
  4. 32
      src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlFullParseInformation.cs
  5. 99
      src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlParsedFile.cs
  6. 18
      src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlParser.cs
  7. 2
      src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlAttribute.cs
  8. 7
      src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlDocument.cs
  9. 2
      src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlElement.cs
  10. 2
      src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlObject.cs
  11. 2
      src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlTag.cs
  12. 2
      src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlText.cs
  13. 45
      src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlVisitor.cs
  14. 2
      src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/ICSharpCode.NRefactory.Xml.csproj

21
SharpDevelop.sln

@ -1,7 +1,7 @@
 
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010 # Visual Studio 2010
# SharpDevelop 4.2.0.8662-Beta 2 # SharpDevelop 4.2.0.8680-Beta 2
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
@ -115,6 +115,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection
@ -541,6 +543,22 @@ Global
{DCA2703D-250A-463E-A68A-07ED105AE6BD}.Release|x86.ActiveCfg = Release|Any CPU {DCA2703D-250A-463E-A68A-07ED105AE6BD}.Release|x86.ActiveCfg = Release|Any CPU
{DCA2703D-250A-463E-A68A-07ED105AE6BD}.Release|Debug.Build.0 = Release|Any CPU {DCA2703D-250A-463E-A68A-07ED105AE6BD}.Release|Debug.Build.0 = Release|Any CPU
{DCA2703D-250A-463E-A68A-07ED105AE6BD}.Release|Debug.ActiveCfg = Release|Any CPU {DCA2703D-250A-463E-A68A-07ED105AE6BD}.Release|Debug.ActiveCfg = Release|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Debug|Win32.Build.0 = Debug|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Debug|x86.Build.0 = Debug|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Debug|x86.ActiveCfg = Debug|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Debug|Debug.Build.0 = Debug|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Debug|Debug.ActiveCfg = Debug|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|Any CPU.Build.0 = Release|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|Win32.Build.0 = Release|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|Win32.ActiveCfg = Release|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|x86.Build.0 = Release|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|x86.ActiveCfg = Release|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|Debug.Build.0 = Release|Any CPU
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|Debug.ActiveCfg = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -574,6 +592,7 @@ Global
{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94}
{E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94}
{70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94}
{7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94}
{9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9}
{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9}
{4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9}

5
src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBehavior.cs

@ -17,6 +17,11 @@ namespace ICSharpCode.XamlBinding
{ {
public class XamlBehavior : ProjectBehavior public class XamlBehavior : ProjectBehavior
{ {
/// <summary>
/// value: http://schemas.microsoft.com/winfx/2006/xaml
/// </summary>
public const string XamlNamespace = "http://schemas.microsoft.com/winfx/2006/xaml";
public override ItemType GetDefaultItemType(string fileName) public override ItemType GetDefaultItemType(string fileName)
{ {
if (".xaml".Equals(Path.GetExtension(fileName), StringComparison.OrdinalIgnoreCase)) if (".xaml".Equals(Path.GetExtension(fileName), StringComparison.OrdinalIgnoreCase))

1
src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj

@ -64,6 +64,7 @@
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="XamlFullParseInformation.cs" />
<Compile Include="XamlParsedFile.cs" /> <Compile Include="XamlParsedFile.cs" />
<Compile Include="XamlSymbolSearch.cs" /> <Compile Include="XamlSymbolSearch.cs" />
<None Include="XamlBinding.addin"> <None Include="XamlBinding.addin">

32
src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlFullParseInformation.cs

@ -0,0 +1,32 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.NRefactory.Xml;
using ICSharpCode.SharpDevelop.Parser;
namespace ICSharpCode.XamlBinding
{
public class XamlFullParseInformation : ParseInformation
{
readonly AXmlDocument document;
public XamlFullParseInformation(XamlParsedFile parsedFile, AXmlDocument document)
: base(parsedFile, true)
{
if (parsedFile == null)
throw new ArgumentNullException("parsedFile");
if (document == null)
throw new ArgumentNullException("document");
this.document = document;
}
public new XamlParsedFile ParsedFile {
get { return (XamlParsedFile)base.ParsedFile; }
}
public AXmlDocument Document {
get { return document; }
}
}
}

99
src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlParsedFile.cs

@ -3,10 +3,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.NRefactory; using ICSharpCode.NRefactory;
@ -27,7 +27,7 @@ namespace ICSharpCode.XamlBinding
FileName fileName; FileName fileName;
AXmlDocument document; AXmlDocument document;
List<Error> errors; List<Error> errors;
ITypeDefinition xamlTypeDefinition; IUnresolvedTypeDefinition[] topLevel;
XamlParsedFile(FileName fileName, AXmlDocument document) XamlParsedFile(FileName fileName, AXmlDocument document)
{ {
@ -36,11 +36,14 @@ namespace ICSharpCode.XamlBinding
this.errors = new List<Error>(); this.errors = new List<Error>();
} }
public static XamlParsedFile Create(FileName fileName, string fileContent, AXmlDocument document) public static XamlParsedFile Create(FileName fileName, ITextSource fileContent, AXmlDocument document)
{ {
XamlParsedFile file = new XamlParsedFile(fileName, document); XamlParsedFile file = new XamlParsedFile(fileName, document);
file.errors.AddRange(document.SyntaxErrors.Select(err => new Error(ErrorType.Error, err.Description))); file.errors.AddRange(document.SyntaxErrors.Select(err => new Error(ErrorType.Error, err.Description)));
var visitor = new XamlDocumentVisitor(file, fileContent);
visitor.VisitDocument(document);
file.topLevel = new[] { visitor.TypeDefinition };
file.lastWriteTime = DateTime.UtcNow; file.lastWriteTime = DateTime.UtcNow;
return file; return file;
@ -57,9 +60,7 @@ namespace ICSharpCode.XamlBinding
} }
public IList<IUnresolvedTypeDefinition> TopLevelTypeDefinitions { public IList<IUnresolvedTypeDefinition> TopLevelTypeDefinitions {
get { get { return topLevel; }
throw new NotImplementedException();
}
} }
public IList<IUnresolvedAttribute> AssemblyAttributes { public IList<IUnresolvedAttribute> AssemblyAttributes {
@ -76,22 +77,102 @@ namespace ICSharpCode.XamlBinding
public IUnresolvedTypeDefinition GetTopLevelTypeDefinition(TextLocation location) public IUnresolvedTypeDefinition GetTopLevelTypeDefinition(TextLocation location)
{ {
throw new NotImplementedException(); foreach (var td in topLevel) {
if (td.Region.IsInside(location))
return td;
}
return null;
} }
public IUnresolvedTypeDefinition GetInnermostTypeDefinition(TextLocation location) public IUnresolvedTypeDefinition GetInnermostTypeDefinition(TextLocation location)
{ {
throw new NotImplementedException(); return GetTopLevelTypeDefinition(location);
} }
public IUnresolvedMember GetMember(TextLocation location) public IUnresolvedMember GetMember(TextLocation location)
{ {
throw new NotImplementedException(); var td = GetInnermostTypeDefinition(location);
if (td != null) {
foreach (var md in td.Members) {
if (md.Region.IsInside(location))
return md;
}
}
return null;
} }
public ITypeResolveContext GetTypeResolveContext(ICompilation compilation, TextLocation loc) public ITypeResolveContext GetTypeResolveContext(ICompilation compilation, TextLocation loc)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
class XamlDocumentVisitor : AXmlVisitor
{
public DefaultUnresolvedTypeDefinition TypeDefinition { get; private set; }
IParsedFile file;
AXmlDocument currentDocument;
AXmlElement rootElement;
ReadOnlyDocument textDocument;
public XamlDocumentVisitor(IParsedFile file, ITextSource fileContent)
{
this.file = file;
textDocument = new ReadOnlyDocument(fileContent);
}
public override void VisitDocument(AXmlDocument document)
{
currentDocument = document;
rootElement = currentDocument.Children.OfType<AXmlElement>().FirstOrDefault();
base.VisitDocument(document);
}
public override void VisitAttribute(AXmlAttribute attribute)
{
if (attribute.Namespace == XamlBehavior.XamlNamespace) {
string prefix = attribute.Prefix;
switch (attribute.LocalName) {
case "Class":
if (attribute.ParentElement == rootElement) {
TypeDefinition = new DefaultUnresolvedTypeDefinition(attribute.Value) {
Kind = TypeKind.Class,
ParsedFile = file,
Region = new DomRegion(file.FileName, textDocument.GetLocation(rootElement.StartOffset), textDocument.GetLocation(rootElement.EndOffset))
};
TypeDefinition.Members.Add(
new DefaultUnresolvedMethod(TypeDefinition, "InitializeComponent") {
Accessibility = Accessibility.Public,
ReturnType = KnownTypeReference.Void
});
}
break;
case "Name":
if (TypeDefinition != null) {
var field = new DefaultUnresolvedField(TypeDefinition, attribute.Value);
if (attribute.ParentElement != null) {
var modifier = attribute.ParentElement.Attributes.FirstOrDefault(a => a.Prefix == prefix && a.LocalName == "FieldModifier");
field.Accessibility = Accessibility.Internal;
field.Region = new DomRegion(file.FileName, textDocument.GetLocation(attribute.ParentElement.StartOffset), textDocument.GetLocation(attribute.ParentElement.EndOffset));
if (modifier != null) {
field.Accessibility = ParseAccessibility(modifier.Value);
}
}
TypeDefinition.Members.Add(field);
}
break;
}
}
base.VisitAttribute(attribute);
}
Accessibility ParseAccessibility(string value)
{
if ("public".Equals(value.Trim(), StringComparison.OrdinalIgnoreCase))
return Accessibility.Public;
return Accessibility.Internal;
}
}
} }
} }

18
src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlParser.cs

@ -131,21 +131,19 @@ namespace ICSharpCode.XamlBinding
// return compilationUnit; // return compilationUnit;
// } // }
volatile IncrementalParserState parserState = null; volatile IncrementalParserState parserState;
public ParseInformation Parse(FileName fileName, ITextSource fileContent, bool fullParseInformationRequested) public ParseInformation Parse(FileName fileName, ITextSource fileContent, bool fullParseInformationRequested)
{ {
AXmlParser parser = new AXmlParser(); AXmlParser parser = new AXmlParser();
AXmlDocument document; AXmlDocument document;
try { IncrementalParserState newParserState;
document = parser.ParseIncremental(parserState, fileContent, out parserState); document = parser.ParseIncremental(parserState, fileContent, out newParserState);
} catch (Exception ex) { parserState = newParserState;
LoggingService.Error(ex); XamlParsedFile parsedFile = XamlParsedFile.Create(fileName, fileContent, document);
document = null; // TODO empty document?
}
XamlParsedFile parsedFile = XamlParsedFile.Create(fileName, fileContent.Text, document);
// TODO if (fullParseInformationRequested) if (fullParseInformationRequested)
return new XamlFullParseInformation(parsedFile, document);
return new ParseInformation(parsedFile, false); return new ParseInformation(parsedFile, false);
} }
@ -159,6 +157,4 @@ namespace ICSharpCode.XamlBinding
throw new NotImplementedException(); throw new NotImplementedException();
} }
} }
} }

2
src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlAttribute.cs

@ -104,7 +104,7 @@ namespace ICSharpCode.NRefactory.Xml
} }
/// <inheritdoc/> /// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor) public override void AcceptVisitor(AXmlVisitor visitor)
{ {
visitor.VisitAttribute(this); visitor.VisitAttribute(this);
} }

7
src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlDocument.cs

@ -45,7 +45,7 @@ namespace ICSharpCode.NRefactory.Xml
} }
/// <inheritdoc/> /// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor) public override void AcceptVisitor(AXmlVisitor visitor)
{ {
visitor.VisitDocument(this); visitor.VisitDocument(this);
} }
@ -55,5 +55,10 @@ namespace ICSharpCode.NRefactory.Xml
{ {
return string.Format(CultureInfo.InvariantCulture, "[{0} Chld:{1}]", base.ToString(), this.Children.Count); return string.Format(CultureInfo.InvariantCulture, "[{0} Chld:{1}]", base.ToString(), this.Children.Count);
} }
/// <summary>
/// Represents an empty document.
/// </summary>
public readonly static AXmlDocument Empty = new AXmlDocument(null, 0, new InternalDocument());
} }
} }

2
src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlElement.cs

@ -164,7 +164,7 @@ namespace ICSharpCode.NRefactory.Xml
} }
/// <inheritdoc/> /// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor) public override void AcceptVisitor(AXmlVisitor visitor)
{ {
visitor.VisitElement(this); visitor.VisitElement(this);
} }

2
src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlObject.cs

@ -180,7 +180,7 @@ namespace ICSharpCode.NRefactory.Xml
#endregion #endregion
/// <summary> Call appropriate visit method on the given visitor </summary> /// <summary> Call appropriate visit method on the given visitor </summary>
public abstract void AcceptVisitor(IAXmlVisitor visitor); public abstract void AcceptVisitor(AXmlVisitor visitor);
/// <summary> /// <summary>
/// Gets the start offset of the segment. /// Gets the start offset of the segment.

2
src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlTag.cs

@ -84,7 +84,7 @@ namespace ICSharpCode.NRefactory.Xml
public bool IsUnknownBang { get { return internalObject.IsUnknownBang; } } public bool IsUnknownBang { get { return internalObject.IsUnknownBang; } }
/// <inheritdoc/> /// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor) public override void AcceptVisitor(AXmlVisitor visitor)
{ {
visitor.VisitTag(this); visitor.VisitTag(this);
} }

2
src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlText.cs

@ -49,7 +49,7 @@ namespace ICSharpCode.NRefactory.Xml
} }
/// <inheritdoc/> /// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor) public override void AcceptVisitor(AXmlVisitor visitor)
{ {
visitor.VisitText(this); visitor.VisitText(this);
} }

45
src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/IAXmlVisitor.cs → src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/AXmlVisitor.cs

@ -1,4 +1,4 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team // Copyright (c) AlphaSierraPapa for the SharpDevelop Team
// //
// Permission is hereby granted, free of charge, to any person obtaining a copy of this // Permission is hereby granted, free of charge, to any person obtaining a copy of this
// software and associated documentation files (the "Software"), to deal in the Software // software and associated documentation files (the "Software"), to deal in the Software
@ -17,27 +17,46 @@
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
using System; using System;
using System.Text;
namespace ICSharpCode.NRefactory.Xml namespace ICSharpCode.NRefactory.Xml
{ {
/// <summary> /// <summary>
/// Visitor for the XML tree /// Derive from this class to create visitor for the XML tree
/// </summary> /// </summary>
public interface IAXmlVisitor public abstract class AXmlVisitor
{ {
/// <summary> Visit document </summary> /// <summary> Visit AXmlDocument </summary>
void VisitDocument(AXmlDocument document); public virtual void VisitDocument(AXmlDocument document)
{
foreach (AXmlObject child in document.Children)
child.AcceptVisitor(this);
}
/// <summary> Visit AXmlElement </summary>
public virtual void VisitElement(AXmlElement element)
{
foreach (AXmlObject child in element.Children)
child.AcceptVisitor(this);
}
/// <summary> Visit AXmlTag </summary>
public virtual void VisitTag(AXmlTag tag)
{
foreach (AXmlObject child in tag.Children)
child.AcceptVisitor(this);
}
/// <summary> Visit tag </summary> /// <summary> Visit AXmlAttribute </summary>
void VisitTag(AXmlTag tag); public virtual void VisitAttribute(AXmlAttribute attribute)
{
/// <summary> Visit attribute </summary> }
void VisitAttribute(AXmlAttribute attribute);
/// <summary> Visit text </summary> /// <summary> Visit AXmlText </summary>
void VisitText(AXmlText text); public virtual void VisitText(AXmlText text)
{
/// <summary> Visit element </summary> }
void VisitElement(AXmlElement element);
} }
} }

2
src/Libraries/NRefactory/ICSharpCode.NRefactory.Xml/ICSharpCode.NRefactory.Xml.csproj

@ -68,8 +68,8 @@
<Compile Include="AXmlReader.cs" /> <Compile Include="AXmlReader.cs" />
<Compile Include="AXmlTag.cs" /> <Compile Include="AXmlTag.cs" />
<Compile Include="AXmlText.cs" /> <Compile Include="AXmlText.cs" />
<Compile Include="AXmlVisitor.cs" />
<Compile Include="DocumentationElement.cs" /> <Compile Include="DocumentationElement.cs" />
<Compile Include="IAXmlVisitor.cs" />
<Compile Include="IncrementalParserState.cs" /> <Compile Include="IncrementalParserState.cs" />
<Compile Include="InternalDocument.cs" /> <Compile Include="InternalDocument.cs" />
<Compile Include="ObjectIterator.cs" /> <Compile Include="ObjectIterator.cs" />

Loading…
Cancel
Save