// $ANTLR start "arguments" // AS3_ex.g3:2499:1: arguments : L= LPAREN ( assignmentExpression (C= COMMA assignmentExpression )* )? R= RPAREN ; public AS3_exParser.arguments_return arguments() // throws RecognitionException [1] { AS3_exParser.arguments_return retval = new AS3_exParser.arguments_return(); retval.Start = input.LT(1); int arguments_StartIndex = input.Index(); object root_0 = null; IToken L = null; IToken C = null; IToken R = null; AS3_exParser.assignmentExpression_return assignmentExpression319 = null; AS3_exParser.assignmentExpression_return assignmentExpression320 = null; object L_tree=null; object C_tree=null; object R_tree=null; WrapOptions options=mPrinter.GetMethodCallWrapOptions(); bool pushedFormat=false; bool pushedIndent=false; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 137) ) { return retval; } // AS3_ex.g3:2506:2: (L= LPAREN ( assignmentExpression (C= COMMA assignmentExpression )* )? R= RPAREN ) // AS3_ex.g3:2507:4: L= LPAREN ( assignmentExpression (C= COMMA assignmentExpression )* )? R= RPAREN { root_0 = (object)adaptor.GetNilNode(); if ( state.backtracking == 0 ) { pushedFormat=PushFormatType(options, false); } L=(IToken)Match(input,LPAREN,FOLLOW_LPAREN_in_arguments12722); if (state.failed) return retval; if ( state.backtracking == 0 ) {L_tree = (object)adaptor.Create(L); adaptor.AddChild(root_0, L_tree); } if ( state.backtracking == 0 ) { Emit((CommonToken)L);InsertWS(mPrinter.GetAdvancedSpacesInsideParens()); } // AS3_ex.g3:2509:4: ( assignmentExpression (C= COMMA assignmentExpression )* )? int alt151 = 2; int LA151_0 = input.LA(1); if ( ((LA151_0 >= AS && LA151_0 <= STATIC) || LA151_0 == VOID || LA151_0 == LCURLY || LA151_0 == LPAREN || LA151_0 == LBRACK || LA151_0 == LT || (LA151_0 >= PLUS && LA151_0 <= STAR) || (LA151_0 >= INC && LA151_0 <= DEC) || (LA151_0 >= NOT && LA151_0 <= INV) || (LA151_0 >= XML_AT && LA151_0 <= XML_LS_STD) || (LA151_0 >= SINGLE_QUOTE_LITERAL && LA151_0 <= DOUBLE_QUOTE_LITERAL) || LA151_0 == REGULAR_EXPR_LITERAL || LA151_0 == HEX_NUMBER_LITERAL || LA151_0 == DEC_NUMBER_LITERAL || LA151_0 == IDENTIFIER || (LA151_0 >= XML_COMMENT && LA151_0 <= XML_PI)) ) { alt151 = 1; } switch (alt151) { case 1 : // AS3_ex.g3:2509:6: assignmentExpression (C= COMMA assignmentExpression )* { if ( state.backtracking == 0 ) { pushedIndent=PushLazyParmIndent(pushedIndent, options.IndentStyle); } PushFollow(FOLLOW_assignmentExpression_in_arguments12734); assignmentExpression319 = assignmentExpression(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, assignmentExpression319.Tree); // AS3_ex.g3:2510:10: (C= COMMA assignmentExpression )* do { int alt150 = 2; int LA150_0 = input.LA(1); if ( (LA150_0 == COMMA) ) { alt150 = 1; } switch (alt150) { case 1 : // AS3_ex.g3:2511:11: C= COMMA assignmentExpression { C=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_arguments12762); if (state.failed) return retval; if ( state.backtracking == 0 ) {C_tree = (object)adaptor.Create(C); adaptor.AddChild(root_0, C_tree); } if ( state.backtracking == 0 ) { pushedIndent=EmitCommaWithSpacingAndCRs(options, (CommonToken) C, pushedIndent); } PushFollow(FOLLOW_assignmentExpression_in_arguments12787); assignmentExpression320 = assignmentExpression(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, assignmentExpression320.Tree); } break; default: goto loop150; } } while (true); loop150: ; // Stops C# compiler whining that label 'loop150' has no statements } break; } R=(IToken)Match(input,RPAREN,FOLLOW_RPAREN_in_arguments12815); if (state.failed) return retval; if ( state.backtracking == 0 ) {R_tree = (object)adaptor.Create(R); adaptor.AddChild(root_0, R_tree); } if ( state.backtracking == 0 ) { InsertWS(mPrinter.GetAdvancedSpacesInsideParens());Emit((CommonToken)R); } if ( state.backtracking == 0 ) { if (pushedIndent) PopIndent(); if (pushedFormat) mPrinter.PopFormatMode(); } } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 137, arguments_StartIndex); } } return retval; }
// $ANTLR start "arguments" // AS3_ex.g3:3466:1: arguments : L= LPAREN ( assignmentExpression (C= COMMA assignmentExpression )* )? R= RPAREN ; public AS3_exParser.arguments_return arguments() // throws RecognitionException [1] { AS3_exParser.arguments_return retval = new AS3_exParser.arguments_return(); retval.Start = input.LT(1); int arguments_StartIndex = input.Index(); object root_0 = null; IToken L = null; IToken C = null; IToken R = null; AS3_exParser.assignmentExpression_return assignmentExpression329 = null; AS3_exParser.assignmentExpression_return assignmentExpression330 = null; object L_tree=null; object C_tree=null; object R_tree=null; WrapOptions options=mPrinter.getMethodCallWrapOptions(); bool pushedFormat=false; bool pushedIndent=false; bool pushedWrapInfo=false; int firstArgPos=0; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 137) ) { return retval; } // AS3_ex.g3:3475:2: (L= LPAREN ( assignmentExpression (C= COMMA assignmentExpression )* )? R= RPAREN ) // AS3_ex.g3:3476:4: L= LPAREN ( assignmentExpression (C= COMMA assignmentExpression )* )? R= RPAREN { root_0 = (object)adaptor.GetNilNode(); if ( state.backtracking == 0 ) { pushedFormat=pushFormatType(options, true); pushedWrapInfo=pushWrapInfo(options, true); } L=(IToken)Match(input,LPAREN,FOLLOW_LPAREN_in_arguments14494); if (state.failed) return retval; if ( state.backtracking == 0 ) {L_tree = (object)adaptor.Create(L); adaptor.AddChild(root_0, L_tree); } if ( state.backtracking == 0 ) { {insertWS(mPrinter.getSpacesBeforeArguments());} emit(L);insertWS(mPrinter.getAdvancedSpacesInsideParensInArgumentLists()); } // AS3_ex.g3:3480:4: ( assignmentExpression (C= COMMA assignmentExpression )* )? int alt157 = 2; int LA157_0 = input.LA(1); if ( ((LA157_0 >= AS && LA157_0 <= STATIC) || LA157_0 == LCURLY || LA157_0 == LPAREN || LA157_0 == LBRACK || LA157_0 == LT || (LA157_0 >= PLUS && LA157_0 <= STAR) || (LA157_0 >= INC && LA157_0 <= DEC) || (LA157_0 >= NOT && LA157_0 <= INV) || (LA157_0 >= XML_AT && LA157_0 <= XML_LS_STD) || (LA157_0 >= SINGLE_QUOTE_LITERAL && LA157_0 <= DOUBLE_QUOTE_LITERAL) || LA157_0 == REGULAR_EXPR_LITERAL || LA157_0 == HEX_NUMBER_LITERAL || LA157_0 == DEC_NUMBER_LITERAL || LA157_0 == IDENTIFIER || (LA157_0 >= XML_COMMENT && LA157_0 <= XML_PI)) ) { alt157 = 1; } switch (alt157) { case 1 : // AS3_ex.g3:3480:6: assignmentExpression (C= COMMA assignmentExpression )* { if ( state.backtracking == 0 ) { pushedIndent=pushLazyParmIndent(pushedIndent, options.getIndentStyle()); } if ( state.backtracking == 0 ) { mPrinter.captureNextTextPosition(); } PushFollow(FOLLOW_assignmentExpression_in_arguments14507); assignmentExpression329 = assignmentExpression(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, assignmentExpression329.Tree); if ( state.backtracking == 0 ) { firstArgPos=mPrinter.getLastCapturePosition(); } // AS3_ex.g3:3481:10: (C= COMMA assignmentExpression )* do { int alt156 = 2; int LA156_0 = input.LA(1); if ( (LA156_0 == COMMA) ) { alt156 = 1; } switch (alt156) { case 1 : // AS3_ex.g3:3482:11: C= COMMA assignmentExpression { C=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_arguments14537); if (state.failed) return retval; if ( state.backtracking == 0 ) {C_tree = (object)adaptor.Create(C); adaptor.AddChild(root_0, C_tree); } if ( state.backtracking == 0 ) { pushedIndent=emitCommaWithSpacingAndCRs(options, C, pushedIndent, firstArgPos, ASPrettyPrinter.Break_SubType_Arguments); } PushFollow(FOLLOW_assignmentExpression_in_arguments14562); assignmentExpression330 = assignmentExpression(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, assignmentExpression330.Tree); } break; default: goto loop156; } } while (true); loop156: ; // Stops C# compiler whining that label 'loop156' has no statements } break; } R=(IToken)Match(input,RPAREN,FOLLOW_RPAREN_in_arguments14588); if (state.failed) return retval; if ( state.backtracking == 0 ) {R_tree = (object)adaptor.Create(R); adaptor.AddChild(root_0, R_tree); } if ( state.backtracking == 0 ) { insertWS(mPrinter.getAdvancedSpacesInsideParensInArgumentLists());emit(R); } if ( state.backtracking == 0 ) { if (pushedIndent) popIndent(); if (pushedFormat) { mPrinter.popFormatMode(); } if (pushedWrapInfo) mPrinter.popWrapContext(); } } retval.Stop = input.LT(-1); if ( state.backtracking==0 ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { if ( state.backtracking > 0 ) { Memoize(input, 137, arguments_StartIndex); } } return retval; }