Browse Source

Fixed incorrect parser positions in FixedStatement test.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
12c0472ece
  1. 6
      ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs
  2. 6
      ICSharpCode.NRefactory.Tests/CSharp/Resolver/UnsafeCodeTests.cs

6
ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs

@ -1885,7 +1885,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -1885,7 +1885,7 @@ namespace ICSharpCode.NRefactory.CSharp
varInit.AddChild (Identifier.Create (blockVariableDeclaration.Variable.Name, Convert (blockVariableDeclaration.Variable.Location)), VariableInitializer.Roles.Identifier);
if (blockVariableDeclaration.Initializer != null) {
if (initLocation != null)
varInit.AddChild (new CSharpTokenNode (Convert (location [0])), VariableInitializer.Roles.Assign);
varInit.AddChild (new CSharpTokenNode (Convert (initLocation [0])), VariableInitializer.Roles.Assign);
varInit.AddChild ((Expression)blockVariableDeclaration.Initializer.Accept (this), VariableInitializer.Roles.Expression);
}
@ -2221,9 +2221,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -2221,9 +2221,7 @@ namespace ICSharpCode.NRefactory.CSharp
{
var result = new UnaryOperatorExpression ();
result.Operator = UnaryOperatorType.Dereference;
var location = LocationsBag.GetLocations (indirectionExpression);
if (location != null)
result.AddChild (new CSharpTokenNode (Convert (location [0])), UnaryOperatorExpression.DereferenceRole);
result.AddChild (new CSharpTokenNode (Convert (indirectionExpression.Location)), UnaryOperatorExpression.DereferenceRole);
if (indirectionExpression.Expr != null)
result.AddChild ((Expression)indirectionExpression.Expr.Accept (this), UnaryOperatorExpression.Roles.Expression);
return result;

6
ICSharpCode.NRefactory.Tests/CSharp/Resolver/UnsafeCodeTests.cs

@ -25,7 +25,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver @@ -25,7 +25,7 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver
[TestFixture]
public class UnsafeCodeTests : ResolverTestBase
{
[Test, Ignore("Parser returns incorrect positions")]
[Test]
public void FixedStatement()
{
string program = @"using System;
@ -38,8 +38,8 @@ class TestClass { @@ -38,8 +38,8 @@ class TestClass {
var lrr = Resolve<LocalResolveResult>(program);
Assert.AreEqual("System.Byte*", lrr.Type.ReflectionName);
var rr = Resolve<ResolveResult>(program.Replace("$p$", "$*p$"));
Assert.AreEqual("System.Byte", lrr.Type.ReflectionName);
var rr = Resolve<OperatorResolveResult>(program.Replace("$p$", "$*p$"));
Assert.AreEqual("System.Byte", rr.Type.ReflectionName);
}
[Test]

Loading…
Cancel
Save