Browse Source

Added error expression for the for construct.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
fa6ea1222f
  1. 2
      ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs
  2. 2
      ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.jay
  3. 10
      ICSharpCode.NRefactory.CSharp/Parser/mcs/expression.cs
  4. 2
      ICSharpCode.NRefactory.CSharp/Parser/mcs/statement.cs
  5. 5
      ICSharpCode.NRefactory.CSharp/Parser/mcs/visit.cs

2
ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.cs

@ -7922,7 +7922,7 @@ void case_797() @@ -7922,7 +7922,7 @@ void case_797()
void case_798()
#line 5301 "cs-parser.jay"
{
For f = new For ((Statement) yyVals[-2+yyTop], null, null, null, GetLocation (yyVals[-5+yyTop]));
For f = new For ((Statement) yyVals[-2+yyTop], ErrorExpression.Create (0, lexer.Location, "Syntax error"), null, null, GetLocation (yyVals[-5+yyTop]));
current_block.AddStatement (f);
lbag.AddStatement (f, current_block.StartLocation, GetLocation (yyVals[-1+yyTop]));

2
ICSharpCode.NRefactory.CSharp/Parser/mcs/cs-parser.jay

@ -5299,7 +5299,7 @@ for_statement_cont @@ -5299,7 +5299,7 @@ for_statement_cont
}
| opt_for_initializer SEMICOLON error
{
For f = new For ((Statement) $1, null, null, null, GetLocation ($-2));
For f = new For ((Statement) $1, ErrorExpression.Create (0, lexer.Location, "Syntax error"), null, null, GetLocation ($-2));
current_block.AddStatement (f);
lbag.AddStatement (f, current_block.StartLocation, GetLocation ($2));

10
ICSharpCode.NRefactory.CSharp/Parser/mcs/expression.cs

@ -9168,10 +9168,11 @@ namespace Mono.CSharp @@ -9168,10 +9168,11 @@ namespace Mono.CSharp
{
}
ErrorExpression (int errorCode, Location location, string error) : base (InternalType.ErrorType)
ErrorExpression (int errorCode, Location location, string error)
: base (InternalType.ErrorType)
{
this.ErrorCode = errorCode;
this.loc = location;
base.loc = location;
this.Error = error;
}
@ -9201,6 +9202,11 @@ namespace Mono.CSharp @@ -9201,6 +9202,11 @@ namespace Mono.CSharp
public override void Error_OperatorCannotBeApplied (ResolveContext rc, Location loc, string oper, TypeSpec t)
{
}
public override object Accept (StructuralVisitor visitor)
{
return visitor.Visit (this);
}
}
public class UserCast : Expression {

2
ICSharpCode.NRefactory.CSharp/Parser/mcs/statement.cs

@ -484,7 +484,7 @@ namespace Mono.CSharp { @@ -484,7 +484,7 @@ namespace Mono.CSharp {
bool infinite, empty;
public For (Statement init_statement,
BooleanExpression test,
Expression test,
Statement increment,
Statement statement,
Location l)

5
ICSharpCode.NRefactory.CSharp/Parser/mcs/visit.cs

@ -183,6 +183,11 @@ namespace Mono.CSharp @@ -183,6 +183,11 @@ namespace Mono.CSharp
{
return null;
}
public virtual object Visit (ErrorExpression errorExpression)
{
return null;
}
public virtual object Visit (If ifStatement)
{

Loading…
Cancel
Save