// $ANTLR start "propertyNameAndValueList" // AS3_ex.g3:2566:1: propertyNameAndValueList : propertyNameAndValue (C= COMMA propertyNameAndValue )* ; public AS3_exParser.propertyNameAndValueList_return propertyNameAndValueList() // throws RecognitionException [1] { AS3_exParser.propertyNameAndValueList_return retval = new AS3_exParser.propertyNameAndValueList_return(); retval.Start = input.LT(1); int propertyNameAndValueList_StartIndex = input.Index(); object root_0 = null; IToken C = null; AS3_exParser.propertyNameAndValue_return propertyNameAndValue336 = null; AS3_exParser.propertyNameAndValue_return propertyNameAndValue337 = null; object C_tree=null; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 144) ) { return retval; } // AS3_ex.g3:2567:5: ( propertyNameAndValue (C= COMMA propertyNameAndValue )* ) // AS3_ex.g3:2567:9: propertyNameAndValue (C= COMMA propertyNameAndValue )* { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_propertyNameAndValue_in_propertyNameAndValueList13208); propertyNameAndValue336 = propertyNameAndValue(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, propertyNameAndValue336.Tree); // AS3_ex.g3:2567:30: (C= COMMA propertyNameAndValue )* do { int alt157 = 2; int LA157_0 = input.LA(1); if ( (LA157_0 == COMMA) ) { alt157 = 1; } switch (alt157) { case 1 : // AS3_ex.g3:2567:31: C= COMMA propertyNameAndValue { if ( state.backtracking == 0 ) { InsertWS(mPrinter.GetSpacesBeforeComma()); } C=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_propertyNameAndValueList13214); 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 ) { Emit((CommonToken)C); } if ( state.backtracking == 0 ) { InsertWS(mPrinter.GetSpacesAfterComma()); } PushFollow(FOLLOW_propertyNameAndValue_in_propertyNameAndValueList13219); propertyNameAndValue337 = propertyNameAndValue(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, propertyNameAndValue337.Tree); } break; default: goto loop157; } } while (true); loop157: ; // Stops C# compiler whining that label 'loop157' has no statements } 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, 144, propertyNameAndValueList_StartIndex); } } return retval; }
// $ANTLR start "propertyNameAndValueList" // AS3_ex.g3:3542:1: propertyNameAndValueList : propertyNameAndValue (C= COMMA propertyNameAndValue )* ; public AS3_exParser.propertyNameAndValueList_return propertyNameAndValueList() // throws RecognitionException [1] { AS3_exParser.propertyNameAndValueList_return retval = new AS3_exParser.propertyNameAndValueList_return(); retval.Start = input.LT(1); int propertyNameAndValueList_StartIndex = input.Index(); object root_0 = null; IToken C = null; AS3_exParser.propertyNameAndValue_return propertyNameAndValue346 = null; AS3_exParser.propertyNameAndValue_return propertyNameAndValue347 = null; object C_tree=null; WrapOptions options=mPrinter.getArrayInitWrapOptions(); bool pushedFormat=false; bool pushedIndent=true; //so that we won't push another indent bool pushedWrapInfo=false; int firstItem=(-1); try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 144) ) { return retval; } // AS3_ex.g3:3551:5: ( propertyNameAndValue (C= COMMA propertyNameAndValue )* ) // AS3_ex.g3:3552:4: propertyNameAndValue (C= COMMA propertyNameAndValue )* { root_0 = (object)adaptor.GetNilNode(); if ( state.backtracking == 0 ) { pushedFormat=pushFormatType(options, true); pushedWrapInfo=pushWrapInfo(options, true); } if ( state.backtracking == 0 ) { mPrinter.captureNextTextPosition(); } PushFollow(FOLLOW_propertyNameAndValue_in_propertyNameAndValueList14998); propertyNameAndValue346 = propertyNameAndValue(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, propertyNameAndValue346.Tree); if ( state.backtracking == 0 ) { firstItem=mPrinter.getLastCapturePosition(); } // AS3_ex.g3:3558:10: (C= COMMA propertyNameAndValue )* do { int alt164 = 2; int LA164_0 = input.LA(1); if ( (LA164_0 == COMMA) ) { alt164 = 1; } switch (alt164) { case 1 : // AS3_ex.g3:3558:11: C= COMMA propertyNameAndValue { C=(IToken)Match(input,COMMA,FOLLOW_COMMA_in_propertyNameAndValueList15022); 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, firstItem, ASPrettyPrinter.Break_SubType_Object); } PushFollow(FOLLOW_propertyNameAndValue_in_propertyNameAndValueList15026); propertyNameAndValue347 = propertyNameAndValue(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, propertyNameAndValue347.Tree); } break; default: goto loop164; } } while (true); loop164: ; // Stops C# compiler whining that label 'loop164' has no statements 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, 144, propertyNameAndValueList_StartIndex); } } return retval; }