Browse Source

Added work-around for unexpected parser behaviour.

newNRvisualizers
Mike Krüger 13 years ago
parent
commit
7d702dc862
  1. 9
      ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs

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

@ -3186,14 +3186,15 @@ namespace ICSharpCode.NRefactory.CSharp @@ -3186,14 +3186,15 @@ namespace ICSharpCode.NRefactory.CSharp
result.IsAsync = true;
result.AddChild (new CSharpTokenNode (Convert (location [l++]), LambdaExpression.AsyncModifierRole), LambdaExpression.AsyncModifierRole);
}
if (location == null || location.Count == l + 1) {
AddParameter (result, lambdaExpression.Parameters);
if (lambdaExpression.Block != null)
AddParameter (result, lambdaExpression.Parameters);
if (location != null)
result.AddChild (new CSharpTokenNode (Convert (location [l++]), LambdaExpression.ArrowRole), LambdaExpression.ArrowRole);
} else {
result.AddChild (new CSharpTokenNode (Convert (location [l++]), Roles.LPar), Roles.LPar);
AddParameter (result, lambdaExpression.Parameters);
if (lambdaExpression.Block != null)
AddParameter (result, lambdaExpression.Parameters);
if (location != null) {
result.AddChild (new CSharpTokenNode (Convert (location [l++]), Roles.RPar), Roles.RPar);
result.AddChild (new CSharpTokenNode (Convert (location [l++]), LambdaExpression.ArrowRole), LambdaExpression.ArrowRole);
@ -3207,7 +3208,6 @@ namespace ICSharpCode.NRefactory.CSharp @@ -3207,7 +3208,6 @@ namespace ICSharpCode.NRefactory.CSharp
result.AddChild ((AstNode)lambdaExpression.Block.Accept (this), LambdaExpression.BodyRole);
}
}
return result;
}
@ -3706,7 +3706,6 @@ namespace ICSharpCode.NRefactory.CSharp @@ -3706,7 +3706,6 @@ namespace ICSharpCode.NRefactory.CSharp
return errorReportPrinter;
}
}
public bool HasErrors {
get {
return errorReportPrinter.ErrorsCount > 0;

Loading…
Cancel
Save