@ -564,30 +564,30 @@ out aliasedType);
@@ -564,30 +564,30 @@ out aliasedType);
}
void Qualident (
#line 290 6 "VBNET.ATG"
#line 28 96 "VBNET.ATG"
out string qualident ) {
#line 290 8 "VBNET.ATG"
#line 28 98 "VBNET.ATG"
string name ;
qualidentBuilder . Length = 0 ;
Identifier ( ) ;
#line 291 2 "VBNET.ATG"
#line 290 2 "VBNET.ATG"
qualidentBuilder . Append ( t . val ) ;
while (
#line 291 3 "VBNET.ATG"
#line 290 3 "VBNET.ATG"
DotAndIdentOrKw ( ) ) {
Expect ( 1 0 ) ;
IdentifierOrKeyword (
#line 291 3 "VBNET.ATG"
#line 290 3 "VBNET.ATG"
out name ) ;
#line 291 3 "VBNET.ATG"
#line 290 3 "VBNET.ATG"
qualidentBuilder . Append ( '.' ) ; qualidentBuilder . Append ( name ) ;
}
#line 291 5 "VBNET.ATG"
#line 290 5 "VBNET.ATG"
qualident = qualidentBuilder . ToString ( ) ;
}
@ -691,69 +691,69 @@ out attribute);
@@ -691,69 +691,69 @@ out attribute);
}
void TypeModifier (
#line 296 7 "VBNET.ATG"
#line 295 7 "VBNET.ATG"
Modifiers m ) {
switch ( la . kind ) {
case 1 4 8 : {
lexer . NextToken ( ) ;
#line 296 8 "VBNET.ATG"
#line 295 8 "VBNET.ATG"
m . Add ( Modifier . Public , t . Location ) ;
break ;
}
case 1 4 7 : {
lexer . NextToken ( ) ;
#line 296 9 "VBNET.ATG"
#line 295 9 "VBNET.ATG"
m . Add ( Modifier . Protected , t . Location ) ;
break ;
}
case 9 9 : {
lexer . NextToken ( ) ;
#line 297 0 "VBNET.ATG"
#line 296 0 "VBNET.ATG"
m . Add ( Modifier . Internal , t . Location ) ;
break ;
}
case 1 4 5 : {
lexer . NextToken ( ) ;
#line 297 1 "VBNET.ATG"
#line 296 1 "VBNET.ATG"
m . Add ( Modifier . Private , t . Location ) ;
break ;
}
case 1 5 8 : {
lexer . NextToken ( ) ;
#line 297 2 "VBNET.ATG"
#line 296 2 "VBNET.ATG"
m . Add ( Modifier . Static , t . Location ) ;
break ;
}
case 1 5 7 : {
lexer . NextToken ( ) ;
#line 297 3 "VBNET.ATG"
#line 296 3 "VBNET.ATG"
m . Add ( Modifier . New , t . Location ) ;
break ;
}
case 1 2 2 : {
lexer . NextToken ( ) ;
#line 297 4 "VBNET.ATG"
#line 296 4 "VBNET.ATG"
m . Add ( Modifier . Abstract , t . Location ) ;
break ;
}
case 1 3 1 : {
lexer . NextToken ( ) ;
#line 297 5 "VBNET.ATG"
#line 296 5 "VBNET.ATG"
m . Add ( Modifier . Sealed , t . Location ) ;
break ;
}
case 2 0 3 : {
lexer . NextToken ( ) ;
#line 297 6 "VBNET.ATG"
#line 296 6 "VBNET.ATG"
m . Add ( Modifier . Partial , t . Location ) ;
break ;
}
@ -1487,132 +1487,132 @@ out p);
@@ -1487,132 +1487,132 @@ out p);
}
void MemberModifier (
#line 297 9 "VBNET.ATG"
#line 296 9 "VBNET.ATG"
Modifiers m ) {
switch ( la . kind ) {
case 1 2 2 : {
lexer . NextToken ( ) ;
#line 298 0 "VBNET.ATG"
#line 297 0 "VBNET.ATG"
m . Add ( Modifier . Abstract , t . Location ) ;
break ;
}
case 7 9 : {
lexer . NextToken ( ) ;
#line 298 1 "VBNET.ATG"
#line 297 1 "VBNET.ATG"
m . Add ( Modifier . Default , t . Location ) ;
break ;
}
case 9 9 : {
lexer . NextToken ( ) ;
#line 298 2 "VBNET.ATG"
#line 297 2 "VBNET.ATG"
m . Add ( Modifier . Internal , t . Location ) ;
break ;
}
case 1 5 7 : {
lexer . NextToken ( ) ;
#line 298 3 "VBNET.ATG"
#line 297 3 "VBNET.ATG"
m . Add ( Modifier . New , t . Location ) ;
break ;
}
case 1 4 2 : {
lexer . NextToken ( ) ;
#line 298 4 "VBNET.ATG"
#line 297 4 "VBNET.ATG"
m . Add ( Modifier . Override , t . Location ) ;
break ;
}
case 1 2 3 : {
lexer . NextToken ( ) ;
#line 298 5 "VBNET.ATG"
#line 297 5 "VBNET.ATG"
m . Add ( Modifier . Abstract , t . Location ) ;
break ;
}
case 1 4 5 : {
lexer . NextToken ( ) ;
#line 298 6 "VBNET.ATG"
#line 297 6 "VBNET.ATG"
m . Add ( Modifier . Private , t . Location ) ;
break ;
}
case 1 4 7 : {
lexer . NextToken ( ) ;
#line 298 7 "VBNET.ATG"
#line 297 7 "VBNET.ATG"
m . Add ( Modifier . Protected , t . Location ) ;
break ;
}
case 1 4 8 : {
lexer . NextToken ( ) ;
#line 298 8 "VBNET.ATG"
#line 297 8 "VBNET.ATG"
m . Add ( Modifier . Public , t . Location ) ;
break ;
}
case 1 3 1 : {
lexer . NextToken ( ) ;
#line 298 9 "VBNET.ATG"
#line 297 9 "VBNET.ATG"
m . Add ( Modifier . Sealed , t . Location ) ;
break ;
}
case 1 3 2 : {
lexer . NextToken ( ) ;
#line 299 0 "VBNET.ATG"
#line 298 0 "VBNET.ATG"
m . Add ( Modifier . Sealed , t . Location ) ;
break ;
}
case 1 5 8 : {
lexer . NextToken ( ) ;
#line 299 1 "VBNET.ATG"
#line 298 1 "VBNET.ATG"
m . Add ( Modifier . Static , t . Location ) ;
break ;
}
case 1 4 1 : {
lexer . NextToken ( ) ;
#line 299 2 "VBNET.ATG"
#line 298 2 "VBNET.ATG"
m . Add ( Modifier . Virtual , t . Location ) ;
break ;
}
case 1 4 0 : {
lexer . NextToken ( ) ;
#line 299 3 "VBNET.ATG"
#line 298 3 "VBNET.ATG"
m . Add ( Modifier . Overloads , t . Location ) ;
break ;
}
case 1 5 0 : {
lexer . NextToken ( ) ;
#line 299 4 "VBNET.ATG"
#line 298 4 "VBNET.ATG"
m . Add ( Modifier . ReadOnly , t . Location ) ;
break ;
}
case 1 8 4 : {
lexer . NextToken ( ) ;
#line 299 5 "VBNET.ATG"
#line 298 5 "VBNET.ATG"
m . Add ( Modifier . WriteOnly , t . Location ) ;
break ;
}
case 1 8 3 : {
lexer . NextToken ( ) ;
#line 299 6 "VBNET.ATG"
#line 298 6 "VBNET.ATG"
m . Add ( Modifier . WithEvents , t . Location ) ;
break ;
}
case 8 1 : {
lexer . NextToken ( ) ;
#line 299 7 "VBNET.ATG"
#line 298 7 "VBNET.ATG"
m . Add ( Modifier . Dim , t . Location ) ;
break ;
}
@ -3830,114 +3830,114 @@ ref pexpr);
@@ -3830,114 +3830,114 @@ ref pexpr);
}
void PrimitiveTypeName (
#line 294 1 "VBNET.ATG"
#line 293 1 "VBNET.ATG"
out string type ) {
#line 294 2 "VBNET.ATG"
#line 293 2 "VBNET.ATG"
type = String . Empty ;
switch ( la . kind ) {
case 5 2 : {
lexer . NextToken ( ) ;
#line 294 3 "VBNET.ATG"
#line 293 3 "VBNET.ATG"
type = "Boolean" ;
break ;
}
case 7 6 : {
lexer . NextToken ( ) ;
#line 294 4 "VBNET.ATG"
#line 293 4 "VBNET.ATG"
type = "Date" ;
break ;
}
case 6 5 : {
lexer . NextToken ( ) ;
#line 294 5 "VBNET.ATG"
#line 293 5 "VBNET.ATG"
type = "Char" ;
break ;
}
case 1 6 5 : {
lexer . NextToken ( ) ;
#line 294 6 "VBNET.ATG"
#line 293 6 "VBNET.ATG"
type = "String" ;
break ;
}
case 7 7 : {
lexer . NextToken ( ) ;
#line 294 7 "VBNET.ATG"
#line 293 7 "VBNET.ATG"
type = "Decimal" ;
break ;
}
case 5 4 : {
lexer . NextToken ( ) ;
#line 294 8 "VBNET.ATG"
#line 293 8 "VBNET.ATG"
type = "Byte" ;
break ;
}
case 1 5 9 : {
lexer . NextToken ( ) ;
#line 294 9 "VBNET.ATG"
#line 293 9 "VBNET.ATG"
type = "Short" ;
break ;
}
case 1 1 1 : {
lexer . NextToken ( ) ;
#line 295 0 "VBNET.ATG"
#line 294 0 "VBNET.ATG"
type = "Integer" ;
break ;
}
case 1 1 7 : {
lexer . NextToken ( ) ;
#line 295 1 "VBNET.ATG"
#line 294 1 "VBNET.ATG"
type = "Long" ;
break ;
}
case 1 6 0 : {
lexer . NextToken ( ) ;
#line 295 2 "VBNET.ATG"
#line 294 2 "VBNET.ATG"
type = "Single" ;
break ;
}
case 8 4 : {
lexer . NextToken ( ) ;
#line 295 3 "VBNET.ATG"
#line 294 3 "VBNET.ATG"
type = "Double" ;
break ;
}
case 1 9 1 : {
lexer . NextToken ( ) ;
#line 295 4 "VBNET.ATG"
#line 294 4 "VBNET.ATG"
type = "UInteger" ;
break ;
}
case 1 9 2 : {
lexer . NextToken ( ) ;
#line 295 5 "VBNET.ATG"
#line 294 5 "VBNET.ATG"
type = "ULong" ;
break ;
}
case 1 9 3 : {
lexer . NextToken ( ) ;
#line 295 6 "VBNET.ATG"
#line 294 6 "VBNET.ATG"
type = "UShort" ;
break ;
}
case 1 9 0 : {
lexer . NextToken ( ) ;
#line 295 7 "VBNET.ATG"
#line 294 7 "VBNET.ATG"
type = "SByte" ;
break ;
}
@ -3946,10 +3946,10 @@ out string type) {
@@ -3946,10 +3946,10 @@ out string type) {
}
void IdentifierOrKeyword (
#line 293 4 "VBNET.ATG"
#line 292 4 "VBNET.ATG"
out string name ) {
#line 293 6 "VBNET.ATG"
#line 292 6 "VBNET.ATG"
lexer . NextToken ( ) ; name = t . val ;
}
@ -4856,27 +4856,27 @@ out expr);
@@ -4856,27 +4856,27 @@ out expr);
}
void ParameterModifier (
#line 296 0 "VBNET.ATG"
#line 295 0 "VBNET.ATG"
ParamModifiers m ) {
if ( la . kind = = 5 5 ) {
lexer . NextToken ( ) ;
#line 296 1 "VBNET.ATG"
#line 295 1 "VBNET.ATG"
m . Add ( ParamModifier . In ) ;
} else if ( la . kind = = 5 3 ) {
lexer . NextToken ( ) ;
#line 296 2 "VBNET.ATG"
#line 295 2 "VBNET.ATG"
m . Add ( ParamModifier . Ref ) ;
} else if ( la . kind = = 1 3 7 ) {
lexer . NextToken ( ) ;
#line 296 3 "VBNET.ATG"
#line 295 3 "VBNET.ATG"
m . Add ( ParamModifier . Optional ) ;
} else if ( la . kind = = 1 4 3 ) {
lexer . NextToken ( ) ;
#line 296 4 "VBNET.ATG"
#line 295 4 "VBNET.ATG"
m . Add ( ParamModifier . Params ) ;
} else SynErr ( 2 4 9 ) ;
}
@ -4927,21 +4927,21 @@ out stmt);
@@ -4927,21 +4927,21 @@ out stmt);
}
void LabelName (
#line 276 0 "VBNET.ATG"
#line 275 0 "VBNET.ATG"
out string name ) {
#line 276 2 "VBNET.ATG"
#line 275 2 "VBNET.ATG"
name = String . Empty ;
if ( StartOf ( 1 2 ) ) {
Identifier ( ) ;
#line 276 4 "VBNET.ATG"
#line 275 4 "VBNET.ATG"
name = t . val ;
} else if ( la . kind = = 5 ) {
lexer . NextToken ( ) ;
#line 276 5 "VBNET.ATG"
#line 275 5 "VBNET.ATG"
name = t . val ;
} else SynErr ( 2 5 1 ) ;
}
@ -5645,59 +5645,32 @@ out expr);
@@ -5645,59 +5645,32 @@ out expr);
}
case 1 8 8 : {
lexer . NextToken ( ) ;
Identifier ( ) ;
#line 2668 "VBNET.ATG"
string resourcename = t . val , typeName ;
Statement resourceAquisition = null , block = null ;
Expect ( 4 8 ) ;
if ( la . kind = = 1 2 7 ) {
lexer . NextToken ( ) ;
Qualident (
#line 2671 "VBNET.ATG"
out typeName ) ;
LocalVariableDeclaration resourceAquisition = new LocalVariableDeclaration ( Modifier . None ) ;
#line 2669 "VBNET.ATG"
Statement block ;
VariableDeclarator (
#line 2670 "VBNET.ATG"
resourceAquisition . Variables ) ;
while ( la . kind = = 1 2 ) {
lexer . NextToken ( ) ;
VariableDeclarator (
#line 2672 "VBNET.ATG"
List < Expression > initializer = null ;
if ( la . kind = = 2 4 ) {
lexer . NextToken ( ) ;
if ( StartOf ( 2 0 ) ) {
ArgumentList (
#line 2673 "VBNET.ATG"
out initializer ) ;
}
Expect ( 2 5 ) ;
}
#line 2675 "VBNET.ATG"
resourceAquisition = new LocalVariableDeclaration ( new VariableDeclaration ( resourcename , new ArrayInitializerExpression ( initializer ) , new TypeReference ( typeName ) ) ) ;
} else if ( StartOf ( 1 2 ) ) {
Qualident (
#line 2678 "VBNET.ATG"
out typeName ) ;
Expect ( 1 1 ) ;
Expr (
#line 2678 "VBNET.ATG"
out expr ) ;
#line 2680 "VBNET.ATG"
resourceAquisition = new LocalVariableDeclaration ( new VariableDeclaration ( resourcename , expr , new TypeReference ( typeName ) ) ) ;
} else SynErr ( 2 5 7 ) ;
resourceAquisition . Variables ) ;
}
Block (
#line 2683 "VBNET.ATG"
#line 2674 "VBNET.ATG"
out block ) ;
Expect ( 8 8 ) ;
Expect ( 1 8 8 ) ;
#line 2685 "VBNET.ATG"
#line 2676 "VBNET.ATG"
statement = new UsingStatement ( resourceAquisition , block ) ;
break ;
}
default : SynErr ( 2 5 8 ) ; break ;
default : SynErr ( 2 5 7 ) ; break ;
}
}
@ -5757,122 +5730,122 @@ localVariableDeclaration.Variables);
@@ -5757,122 +5730,122 @@ localVariableDeclaration.Variables);
}
void TryStatement (
#line 287 2 "VBNET.ATG"
#line 286 2 "VBNET.ATG"
out Statement tryStatement ) {
#line 287 4 "VBNET.ATG"
#line 286 4 "VBNET.ATG"
Statement blockStmt = null , finallyStmt = null ; List < CatchClause > catchClauses = null ;
Expect ( 1 7 4 ) ;
EndOfStmt ( ) ;
Block (
#line 287 7 "VBNET.ATG"
#line 286 7 "VBNET.ATG"
out blockStmt ) ;
if ( la . kind = = 5 8 | | la . kind = = 8 8 | | la . kind = = 9 7 ) {
CatchClauses (
#line 287 8 "VBNET.ATG"
#line 286 8 "VBNET.ATG"
out catchClauses ) ;
}
if ( la . kind = = 9 7 ) {
lexer . NextToken ( ) ;
EndOfStmt ( ) ;
Block (
#line 287 9 "VBNET.ATG"
#line 286 9 "VBNET.ATG"
out finallyStmt ) ;
}
Expect ( 8 8 ) ;
Expect ( 1 7 4 ) ;
#line 288 2 "VBNET.ATG"
#line 287 2 "VBNET.ATG"
tryStatement = new TryCatchStatement ( blockStmt , catchClauses , finallyStmt ) ;
}
void WithStatement (
#line 285 0 "VBNET.ATG"
#line 284 0 "VBNET.ATG"
out Statement withStatement ) {
#line 285 2 "VBNET.ATG"
#line 284 2 "VBNET.ATG"
Statement blockStmt = null ;
Expression expr = null ;
Expect ( 1 8 2 ) ;
#line 285 5 "VBNET.ATG"
#line 284 5 "VBNET.ATG"
Point start = t . Location ;
Expr (
#line 285 6 "VBNET.ATG"
#line 284 6 "VBNET.ATG"
out expr ) ;
EndOfStmt ( ) ;
#line 285 8 "VBNET.ATG"
#line 284 8 "VBNET.ATG"
withStatement = new WithStatement ( expr ) ;
withStatement . StartLocation = start ;
withStatements . Push ( withStatement ) ;
Block (
#line 286 2 "VBNET.ATG"
#line 285 2 "VBNET.ATG"
out blockStmt ) ;
#line 286 4 "VBNET.ATG"
#line 285 4 "VBNET.ATG"
( ( WithStatement ) withStatement ) . Body = ( BlockStatement ) blockStmt ;
withStatements . Pop ( ) ;
Expect ( 8 8 ) ;
Expect ( 1 8 2 ) ;
#line 286 8 "VBNET.ATG"
#line 285 8 "VBNET.ATG"
withStatement . EndLocation = t . Location ;
}
void WhileOrUntil (
#line 284 3 "VBNET.ATG"
#line 283 3 "VBNET.ATG"
out ConditionType conditionType ) {
#line 284 4 "VBNET.ATG"
#line 283 4 "VBNET.ATG"
conditionType = ConditionType . None ;
if ( la . kind = = 1 8 1 ) {
lexer . NextToken ( ) ;
#line 284 5 "VBNET.ATG"
#line 283 5 "VBNET.ATG"
conditionType = ConditionType . While ;
} else if ( la . kind = = 1 7 7 ) {
lexer . NextToken ( ) ;
#line 284 6 "VBNET.ATG"
#line 283 6 "VBNET.ATG"
conditionType = ConditionType . Until ;
} else SynErr ( 2 5 9 ) ;
} else SynErr ( 2 5 8 ) ;
}
void LoopControlVariable (
#line 269 0 "VBNET.ATG"
#line 268 0 "VBNET.ATG"
out TypeReference type , out string name ) {
#line 269 1 "VBNET.ATG"
#line 268 1 "VBNET.ATG"
ArrayList arrayModifiers = null ;
type = null ;
Qualident (
#line 269 5 "VBNET.ATG"
#line 268 5 "VBNET.ATG"
out name ) ;
if (
#line 269 6 "VBNET.ATG"
#line 268 6 "VBNET.ATG"
IsDims ( ) ) {
ArrayTypeModifiers (
#line 269 6 "VBNET.ATG"
#line 268 6 "VBNET.ATG"
out arrayModifiers ) ;
}
if ( la . kind = = 4 8 ) {
lexer . NextToken ( ) ;
TypeName (
#line 269 7 "VBNET.ATG"
#line 268 7 "VBNET.ATG"
out type ) ;
#line 269 7 "VBNET.ATG"
#line 268 7 "VBNET.ATG"
if ( name . IndexOf ( '.' ) > 0 ) { Error ( "No type def for 'for each' member indexer allowed." ) ; }
}
#line 269 9 "VBNET.ATG"
#line 268 9 "VBNET.ATG"
if ( type ! = null ) {
if ( type . RankSpecifier ! = null & & arrayModifiers ! = null ) {
Error ( "array rank only allowed one time" ) ;
@ -5884,48 +5857,48 @@ out type);
@@ -5884,48 +5857,48 @@ out type);
}
void CaseClauses (
#line 280 3 "VBNET.ATG"
#line 279 3 "VBNET.ATG"
out List < CaseLabel > caseClauses ) {
#line 280 5 "VBNET.ATG"
#line 279 5 "VBNET.ATG"
caseClauses = new List < CaseLabel > ( ) ;
CaseLabel caseClause = null ;
CaseClause (
#line 280 8 "VBNET.ATG"
#line 279 8 "VBNET.ATG"
out caseClause ) ;
#line 280 8 "VBNET.ATG"
#line 279 8 "VBNET.ATG"
if ( caseClause ! = null ) { caseClauses . Add ( caseClause ) ; }
while ( la . kind = = 1 2 ) {
lexer . NextToken ( ) ;
CaseClause (
#line 280 9 "VBNET.ATG"
#line 279 9 "VBNET.ATG"
out caseClause ) ;
#line 280 9 "VBNET.ATG"
#line 279 9 "VBNET.ATG"
if ( caseClause ! = null ) { caseClauses . Add ( caseClause ) ; }
}
}
void OnErrorStatement (
#line 271 0 "VBNET.ATG"
#line 270 0 "VBNET.ATG"
out OnErrorStatement stmt ) {
#line 271 2 "VBNET.ATG"
#line 270 2 "VBNET.ATG"
stmt = null ;
GotoStatement goToStatement = null ;
Expect ( 1 3 5 ) ;
Expect ( 9 2 ) ;
if (
#line 271 8 "VBNET.ATG"
#line 270 8 "VBNET.ATG"
IsNegativeLabelName ( ) ) {
Expect ( 1 0 4 ) ;
Expect ( 1 5 ) ;
Expect ( 5 ) ;
#line 272 0 "VBNET.ATG"
#line 271 0 "VBNET.ATG"
long intLabel = Int64 . Parse ( t . val ) ;
if ( intLabel ! = 1 ) {
Error ( "invalid label in on error statement." ) ;
@ -5934,10 +5907,10 @@ IsNegativeLabelName()) {
@@ -5934,10 +5907,10 @@ IsNegativeLabelName()) {
} else if ( la . kind = = 1 0 4 ) {
GotoStatement (
#line 272 6 "VBNET.ATG"
#line 271 6 "VBNET.ATG"
out goToStatement ) ;
#line 272 8 "VBNET.ATG"
#line 271 8 "VBNET.ATG"
string val = goToStatement . Label ;
// if value is numeric, make sure that is 0
@ -5954,63 +5927,63 @@ out goToStatement);
@@ -5954,63 +5927,63 @@ out goToStatement);
lexer . NextToken ( ) ;
Expect ( 1 2 8 ) ;
#line 274 2 "VBNET.ATG"
#line 273 2 "VBNET.ATG"
stmt = new OnErrorStatement ( new ResumeStatement ( true ) ) ;
} else SynErr ( 2 6 0 ) ;
} else SynErr ( 2 5 9 ) ;
}
void GotoStatement (
#line 274 8 "VBNET.ATG"
#line 273 8 "VBNET.ATG"
out ICSharpCode . NRefactory . Parser . AST . GotoStatement goToStatement ) {
#line 275 0 "VBNET.ATG"
#line 274 0 "VBNET.ATG"
string label = String . Empty ;
Expect ( 1 0 4 ) ;
LabelName (
#line 275 3 "VBNET.ATG"
#line 274 3 "VBNET.ATG"
out label ) ;
#line 275 5 "VBNET.ATG"
#line 274 5 "VBNET.ATG"
goToStatement = new ICSharpCode . NRefactory . Parser . AST . GotoStatement ( label ) ;
}
void ResumeStatement (
#line 279 2 "VBNET.ATG"
#line 278 2 "VBNET.ATG"
out ResumeStatement resumeStatement ) {
#line 279 4 "VBNET.ATG"
#line 278 4 "VBNET.ATG"
resumeStatement = null ;
string label = String . Empty ;
if (
#line 279 7 "VBNET.ATG"
#line 278 7 "VBNET.ATG"
IsResumeNext ( ) ) {
Expect ( 1 5 3 ) ;
Expect ( 1 2 8 ) ;
#line 279 8 "VBNET.ATG"
#line 278 8 "VBNET.ATG"
resumeStatement = new ResumeStatement ( true ) ;
} else if ( la . kind = = 1 5 3 ) {
lexer . NextToken ( ) ;
if ( StartOf ( 2 9 ) ) {
LabelName (
#line 279 9 "VBNET.ATG"
#line 278 9 "VBNET.ATG"
out label ) ;
}
#line 279 9 "VBNET.ATG"
#line 278 9 "VBNET.ATG"
resumeStatement = new ResumeStatement ( label ) ;
} else SynErr ( 2 6 1 ) ;
} else SynErr ( 2 6 0 ) ;
}
void CaseClause (
#line 281 3 "VBNET.ATG"
#line 280 3 "VBNET.ATG"
out CaseLabel caseClause ) {
#line 281 5 "VBNET.ATG"
#line 280 5 "VBNET.ATG"
Expression expr = null ;
Expression sexpr = null ;
BinaryOperatorType op = BinaryOperatorType . None ;
@ -6019,7 +5992,7 @@ out CaseLabel caseClause) {
@@ -6019,7 +5992,7 @@ out CaseLabel caseClause) {
if ( la . kind = = 8 6 ) {
lexer . NextToken ( ) ;
#line 282 1 "VBNET.ATG"
#line 281 1 "VBNET.ATG"
caseClause = new CaseLabel ( ) ;
} else if ( StartOf ( 3 0 ) ) {
if ( la . kind = = 1 1 3 ) {
@ -6029,76 +6002,76 @@ out CaseLabel caseClause) {
@@ -6029,76 +6002,76 @@ out CaseLabel caseClause) {
case 2 7 : {
lexer . NextToken ( ) ;
#line 282 5 "VBNET.ATG"
#line 281 5 "VBNET.ATG"
op = BinaryOperatorType . LessThan ;
break ;
}
case 2 6 : {
lexer . NextToken ( ) ;
#line 282 6 "VBNET.ATG"
#line 281 6 "VBNET.ATG"
op = BinaryOperatorType . GreaterThan ;
break ;
}
case 3 0 : {
lexer . NextToken ( ) ;
#line 282 7 "VBNET.ATG"
#line 281 7 "VBNET.ATG"
op = BinaryOperatorType . LessThanOrEqual ;
break ;
}
case 2 9 : {
lexer . NextToken ( ) ;
#line 282 8 "VBNET.ATG"
#line 281 8 "VBNET.ATG"
op = BinaryOperatorType . GreaterThanOrEqual ;
break ;
}
case 1 1 : {
lexer . NextToken ( ) ;
#line 282 9 "VBNET.ATG"
#line 281 9 "VBNET.ATG"
op = BinaryOperatorType . Equality ;
break ;
}
case 2 8 : {
lexer . NextToken ( ) ;
#line 283 0 "VBNET.ATG"
#line 282 0 "VBNET.ATG"
op = BinaryOperatorType . InEquality ;
break ;
}
default : SynErr ( 2 6 2 ) ; break ;
default : SynErr ( 2 6 1 ) ; break ;
}
Expr (
#line 283 2 "VBNET.ATG"
#line 282 2 "VBNET.ATG"
out expr ) ;
#line 283 4 "VBNET.ATG"
#line 282 4 "VBNET.ATG"
caseClause = new CaseLabel ( op , expr ) ;
} else if ( StartOf ( 2 1 ) ) {
Expr (
#line 283 6 "VBNET.ATG"
#line 282 6 "VBNET.ATG"
out expr ) ;
if ( la . kind = = 1 7 2 ) {
lexer . NextToken ( ) ;
Expr (
#line 283 6 "VBNET.ATG"
#line 282 6 "VBNET.ATG"
out sexpr ) ;
}
#line 283 8 "VBNET.ATG"
#line 282 8 "VBNET.ATG"
caseClause = new CaseLabel ( expr , sexpr ) ;
} else SynErr ( 2 6 3 ) ;
} else SynErr ( 2 6 2 ) ;
}
void CatchClauses (
#line 288 7 "VBNET.ATG"
#line 287 7 "VBNET.ATG"
out List < CatchClause > catchClauses ) {
#line 288 9 "VBNET.ATG"
#line 287 9 "VBNET.ATG"
catchClauses = new List < CatchClause > ( ) ;
TypeReference type = null ;
Statement blockStmt = null ;
@ -6110,27 +6083,27 @@ out List<CatchClause> catchClauses) {
@@ -6110,27 +6083,27 @@ out List<CatchClause> catchClauses) {
if ( StartOf ( 1 2 ) ) {
Identifier ( ) ;
#line 289 7 "VBNET.ATG"
#line 288 7 "VBNET.ATG"
name = t . val ;
if ( la . kind = = 4 8 ) {
lexer . NextToken ( ) ;
TypeName (
#line 289 7 "VBNET.ATG"
#line 288 7 "VBNET.ATG"
out type ) ;
}
}
if ( la . kind = = 1 8 0 ) {
lexer . NextToken ( ) ;
Expr (
#line 289 8 "VBNET.ATG"
#line 288 8 "VBNET.ATG"
out expr ) ;
}
EndOfStmt ( ) ;
Block (
#line 290 0 "VBNET.ATG"
#line 28 90 "VBNET.ATG"
out blockStmt ) ;
#line 290 1 "VBNET.ATG"
#line 28 91 "VBNET.ATG"
catchClauses . Add ( new CatchClause ( type , name , blockStmt , expr ) ) ;
}
}
@ -6442,12 +6415,11 @@ out blockStmt);
@@ -6442,12 +6415,11 @@ out blockStmt);
case 2 5 5 : s = "invalid EmbeddedStatement" ; break ;
case 2 5 6 : s = "invalid EmbeddedStatement" ; break ;
case 2 5 7 : s = "invalid EmbeddedStatement" ; break ;
case 2 5 8 : s = "invalid EmbeddedStatement " ; break ;
case 2 5 9 : s = "invalid WhileOrUntil " ; break ;
case 2 6 0 : s = "invalid OnError Statement" ; break ;
case 2 6 1 : s = "invalid ResumeStatement " ; break ;
case 2 5 8 : s = "invalid WhileOrUntil " ; break ;
case 2 5 9 : s = "invalid OnErrorStatement " ; break ;
case 2 6 0 : s = "invalid Resume Statement" ; break ;
case 2 6 1 : s = "invalid CaseClause " ; break ;
case 2 6 2 : s = "invalid CaseClause" ; break ;
case 2 6 3 : s = "invalid CaseClause" ; break ;
default : s = "error " + errorNumber ; break ;
}
@ -6479,7 +6451,7 @@ out blockStmt);
@@ -6479,7 +6451,7 @@ out blockStmt);
{ x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , T , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , T , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , T , x , x , x , x , x , x , x , T , T , x , x , x , x , x , x , x , T , T , T , x , x , T , T , T , T , x , T , x , x , x , x , x , x , T , T , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x } ,
{ x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x } ,
{ x , T , T , T , T , T , T , T , T , T , T , x , x , T , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , T , x , x , x , T , x , T , T , T , T , x , T , x , T , x , x , T , T , T , T , T , T , T , T , x , T , T , T , T , T , T , T , T , T , T , x , x , x , T , T , T , T , x , x , x , x , x , x , T , T , x , T , x , T , x , T , x , x , x , T , x , T , x , T , x , x , x , x , T , x , x , x , x , x , T , x , T , x , x , x , x , T , T , x , T , x , x , T , x , x , x , x , T , x , x , x , x , x , x , x , x , T , x , x , x , x , T , x , T , T , T , T , T , x , x , x , T , T , T , x , T , x , T , x , x , T , T , x , T , x , T , T , T , T , T , x , x , x , T , T , x , x , x , T , x , T , x , T , T , T , T , T , T , T , T , T , T , x , x , x , x , x , x , x } ,
{ x , T , x , x , x , x , x , x , x , x , x , T , T , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x } ,
{ x , T , T , T , T , T , T , T , T , T , T , T , T , T , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , T , x , x , x , T , T , T , T , T , T , x , T , x , T , x , x , T , T , T , T , T , T , T , T , x , T , T , T , T , T , T , T , T , T , T , x , x , x , T , T , T , T , x , x , x , T , x , x , T , T , x , T , x , T , x , T , x , x , x , T , x , T , x , T , x , x , x , x , T , x , x , x , x , x , T , x , T , x , x , x , x , T , T , x , T , x , x , T , x , x , x , x , T , x , x , x , x , x , x , x , x , T , x , x , x , x , T , x , T , T , T , T , T , x , x , x , T , T , T , x , T , x , T , x , x , T , T , x , T , x , T , T , T , T , T , x , x , x , T , T , x , x , x , T , x , T , x , T , T , T , T , T , T , T , T , T , T , x , x , x , x , x , x , x } ,
{ x , x , T , T , T , T , T , T , T , T , T , x , x , x , T , T , T , x , x , x , x , x , x , x , T , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , T , x , T , T , T , T , x , T , x , x , x , x , T , T , T , T , T , T , T , T , x , T , T , T , x , T , T , T , T , T , T , x , x , x , x , T , x , T , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , T , x , x , x , x , x , x , x , x , T , x , x , x , x , x , T , x , T , x , x , x , x , T , T , x , T , x , T , T , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , T , x , x , x , x , T , x , x , x , T , x , x , x , T , x , T , T , T , x , x , x , x , x , x , x , x , x , x , x , x , T , T , T , T , T , T , T , T , T , T , x , x , x , x , x , x , x } ,
{ x , x , T , T , T , T , T , T , T , T , T , x , x , x , T , T , T , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , T , x , T , T , T , T , x , T , x , x , x , x , T , T , T , T , T , T , T , T , x , T , T , T , x , T , T , T , T , T , T , x , x , x , x , T , x , T , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , T , x , x , x , x , x , x , x , x , T , x , x , x , x , x , T , x , T , x , x , x , x , T , T , x , T , x , T , T , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , T , x , x , x , x , T , x , x , x , T , x , x , x , T , x , T , T , T , x , x , x , x , x , x , x , x , x , x , x , x , T , T , T , T , T , T , T , T , T , T , x , x , x , x , x , x , x } ,
{ x , x , T , T , T , T , T , T , T , T , T , x , x , x , T , T , T , x , x , x , x , x , T , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , T , x , T , T , T , T , x , T , x , x , x , x , T , T , T , T , T , T , T , T , x , T , T , T , x , T , T , T , T , T , T , x , x , x , x , T , x , T , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , T , x , x , x , x , x , x , x , x , T , x , x , x , x , x , T , x , T , x , x , x , x , T , T , x , T , x , T , T , x , x , x , x , x , x , x , x , x , x , x , x , x , T , x , x , x , x , x , x , x , x , x , x , x , x , x , x , T , T , x , x , x , x , T , x , x , x , T , x , x , x , T , x , T , T , T , x , x , x , x , x , x , x , x , x , x , x , x , T , T , T , T , T , T , T , T , T , T , x , x , x , x , x , x , x } ,