Browse Source

added LocationAssignmentCheckVisitor - ensures that Locations set for INodes are at least not empty.

pull/2/head
Siegfried Pammer 15 years ago
parent
commit
50d1d313e3
  1. 1
      src/Libraries/NRefactory/Test/NRefactoryTests.csproj
  2. 19
      src/Libraries/NRefactory/Test/Parser/LocationAssignmentCheckVisitor.cs
  3. 1
      src/Libraries/NRefactory/Test/Parser/ParseUtilCSharp.cs
  4. 1
      src/Libraries/NRefactory/Test/Parser/ParseUtilVBNet.cs

1
src/Libraries/NRefactory/Test/NRefactoryTests.csproj

@ -100,6 +100,7 @@ @@ -100,6 +100,7 @@
<Compile Include="Parser\Expressions\StackAllocExpressionTests.cs" />
<Compile Include="Parser\GlobalScope\UsingDeclarationTests.cs" />
<Compile Include="Parser\GlobalScope\TypeDeclarationTests.cs" />
<Compile Include="Parser\LocationAssignmentCheckVisitor.cs" />
<Compile Include="Parser\SnippetParserTests.cs" />
<Compile Include="Parser\TypeLevel\ConstructorDeclarationTests.cs" />
<Compile Include="Parser\TypeLevel\EventDeclarationTests.cs" />

19
src/Libraries/NRefactory/Test/Parser/LocationAssignmentCheckVisitor.cs

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
// 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.Ast;
using ICSharpCode.NRefactory.Visitors;
using NUnit.Framework;
namespace ICSharpCode.NRefactory.Tests.Ast
{
public class LocationAssignmentCheckVisitor : NodeTrackingAstVisitor
{
protected override void BeginVisit(INode node)
{
Assert.IsFalse(node.StartLocation.IsEmpty);
Assert.IsFalse(node.EndLocation.IsEmpty);
}
}
}

1
src/Libraries/NRefactory/Test/Parser/ParseUtilCSharp.cs

@ -40,6 +40,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast @@ -40,6 +40,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast
Type type = typeof(T);
Assert.IsTrue(type.IsAssignableFrom(parser.CompilationUnit.Children[0].GetType()), String.Format("Parsed expression was {0} instead of {1} ({2})", parser.CompilationUnit.Children[0].GetType(), type, parser.CompilationUnit.Children[0]));
parser.CompilationUnit.AcceptVisitor(new CheckParentVisitor(), null);
parser.CompilationUnit.AcceptVisitor(new LocationAssignmentCheckVisitor(), null);
return (T)parser.CompilationUnit.Children[0];
}

1
src/Libraries/NRefactory/Test/Parser/ParseUtilVBNet.cs

@ -35,6 +35,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast @@ -35,6 +35,7 @@ namespace ICSharpCode.NRefactory.Tests.Ast
Assert.IsTrue(type.IsAssignableFrom(parser.CompilationUnit.Children[0].GetType()), String.Format("Parsed expression was {0} instead of {1} ({2})", parser.CompilationUnit.Children[0].GetType(), type, parser.CompilationUnit.Children[0]));
parser.CompilationUnit.AcceptVisitor(new CheckParentVisitor(), null);
parser.CompilationUnit.AcceptVisitor(new LocationAssignmentCheckVisitor(), null);
return (T)parser.CompilationUnit.Children[0];
}

Loading…
Cancel
Save