// $ANTLR start "interfaceFunctionDeclaration" // AS3_ex.g3:1669:1: interfaceFunctionDeclaration : ( conditionalDirAndBindingDecls )? ( memberModifiers )? F= FUNCTION (S= SET | G= GET )? (I= IDENTIFIER | notQuiteReservedWord ) formalParameterList (C= COLON type )? semic ; public AS3_exParser.interfaceFunctionDeclaration_return interfaceFunctionDeclaration() // throws RecognitionException [1] { AS3_exParser.interfaceFunctionDeclaration_return retval = new AS3_exParser.interfaceFunctionDeclaration_return(); retval.Start = input.LT(1); int interfaceFunctionDeclaration_StartIndex = input.Index(); object root_0 = null; IToken F = null; IToken S = null; IToken G = null; IToken I = null; IToken C = null; AS3_exParser.conditionalDirAndBindingDecls_return conditionalDirAndBindingDecls102 = null; AS3_exParser.memberModifiers_return memberModifiers103 = null; AS3_exParser.notQuiteReservedWord_return notQuiteReservedWord104 = null; AS3_exParser.formalParameterList_return formalParameterList105 = null; AS3_exParser.type_return type106 = null; AS3_exParser.semic_return semic107 = null; object F_tree=null; object S_tree=null; object G_tree=null; object I_tree=null; object C_tree=null; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 49) ) { return retval; } // AS3_ex.g3:1670:5: ( ( conditionalDirAndBindingDecls )? ( memberModifiers )? F= FUNCTION (S= SET | G= GET )? (I= IDENTIFIER | notQuiteReservedWord ) formalParameterList (C= COLON type )? semic ) // AS3_ex.g3:1670:10: ( conditionalDirAndBindingDecls )? ( memberModifiers )? F= FUNCTION (S= SET | G= GET )? (I= IDENTIFIER | notQuiteReservedWord ) formalParameterList (C= COLON type )? semic { root_0 = (object)adaptor.GetNilNode(); // AS3_ex.g3:1670:10: ( conditionalDirAndBindingDecls )? int alt56 = 2; switch ( input.LA(1) ) { case IDENTIFIER: { int LA56_1 = input.LA(2); if ( (LA56_1 == XML_NS_OP) ) { alt56 = 1; } } break; case NATIVE: case DYNAMIC: case FINAL: case OVERRIDE: case STATIC: { int LA56_2 = input.LA(2); if ( (LA56_2 == XML_NS_OP) ) { alt56 = 1; } } break; case TO: case EACH: case GET: case SET: case NAMESPACE: { alt56 = 1; } break; } switch (alt56) { case 1 : // AS3_ex.g3:1670:11: conditionalDirAndBindingDecls { PushFollow(FOLLOW_conditionalDirAndBindingDecls_in_interfaceFunctionDeclaration6876); conditionalDirAndBindingDecls102 = conditionalDirAndBindingDecls(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, conditionalDirAndBindingDecls102.Tree); } break; } if ( state.backtracking == 0 ) { InsertCR(false); } // AS3_ex.g3:1670:62: ( memberModifiers )? int alt57 = 2; int LA57_0 = input.LA(1); if ( (LA57_0 == INTERNAL || LA57_0 == NATIVE || (LA57_0 >= PRIVATE && LA57_0 <= PUBLIC) || (LA57_0 >= DYNAMIC && LA57_0 <= STATIC) || LA57_0 == IDENTIFIER) ) { alt57 = 1; } switch (alt57) { case 1 : // AS3_ex.g3:0:0: memberModifiers { PushFollow(FOLLOW_memberModifiers_in_interfaceFunctionDeclaration6882); memberModifiers103 = memberModifiers(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, memberModifiers103.Tree); } break; } F=(IToken)Match(input,FUNCTION,FOLLOW_FUNCTION_in_interfaceFunctionDeclaration6887); if (state.failed) return retval; if ( state.backtracking == 0 ) {F_tree = (object)adaptor.Create(F); adaptor.AddChild(root_0, F_tree); } if ( state.backtracking == 0 ) { Emit((CommonToken)F); } // AS3_ex.g3:1672:5: (S= SET | G= GET )? int alt58 = 3; int LA58_0 = input.LA(1); if ( (LA58_0 == SET) ) { int LA58_1 = input.LA(2); if ( (LA58_1 == NATIVE || LA58_1 == TO || (LA58_1 >= EACH && LA58_1 <= NAMESPACE) || (LA58_1 >= DYNAMIC && LA58_1 <= STATIC) || LA58_1 == IDENTIFIER) ) { alt58 = 1; } } else if ( (LA58_0 == GET) ) { int LA58_2 = input.LA(2); if ( (LA58_2 == NATIVE || LA58_2 == TO || (LA58_2 >= EACH && LA58_2 <= NAMESPACE) || (LA58_2 >= DYNAMIC && LA58_2 <= STATIC) || LA58_2 == IDENTIFIER) ) { alt58 = 2; } } switch (alt58) { case 1 : // AS3_ex.g3:1672:6: S= SET { S=(IToken)Match(input,SET,FOLLOW_SET_in_interfaceFunctionDeclaration6906); if (state.failed) return retval; if ( state.backtracking == 0 ) {S_tree = (object)adaptor.Create(S); adaptor.AddChild(root_0, S_tree); } if ( state.backtracking == 0 ) { Emit((CommonToken)S); } } break; case 2 : // AS3_ex.g3:1672:38: G= GET { G=(IToken)Match(input,GET,FOLLOW_GET_in_interfaceFunctionDeclaration6913); if (state.failed) return retval; if ( state.backtracking == 0 ) {G_tree = (object)adaptor.Create(G); adaptor.AddChild(root_0, G_tree); } if ( state.backtracking == 0 ) { Emit((CommonToken)G); } } break; } // AS3_ex.g3:1673:5: (I= IDENTIFIER | notQuiteReservedWord ) int alt59 = 2; int LA59_0 = input.LA(1); if ( (LA59_0 == IDENTIFIER) ) { alt59 = 1; } else if ( (LA59_0 == NATIVE || LA59_0 == TO || (LA59_0 >= EACH && LA59_0 <= NAMESPACE) || (LA59_0 >= DYNAMIC && LA59_0 <= STATIC)) ) { alt59 = 2; } else { if ( state.backtracking > 0 ) {state.failed = true; return retval;} NoViableAltException nvae_d59s0 = new NoViableAltException("", 59, 0, input); throw nvae_d59s0; } switch (alt59) { case 1 : // AS3_ex.g3:1673:6: I= IDENTIFIER { I=(IToken)Match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_interfaceFunctionDeclaration6927); if (state.failed) return retval; if ( state.backtracking == 0 ) {I_tree = (object)adaptor.Create(I); adaptor.AddChild(root_0, I_tree); } if ( state.backtracking == 0 ) { Emit((CommonToken)I); } } break; case 2 : // AS3_ex.g3:1673:46: notQuiteReservedWord { PushFollow(FOLLOW_notQuiteReservedWord_in_interfaceFunctionDeclaration6933); notQuiteReservedWord104 = notQuiteReservedWord(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, notQuiteReservedWord104.Tree); } break; } PushFollow(FOLLOW_formalParameterList_in_interfaceFunctionDeclaration6936); formalParameterList105 = formalParameterList(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, formalParameterList105.Tree); // AS3_ex.g3:1673:88: (C= COLON type )? int alt60 = 2; int LA60_0 = input.LA(1); if ( (LA60_0 == COLON) ) { alt60 = 1; } switch (alt60) { case 1 : // AS3_ex.g3:1673:89: C= COLON type { C=(IToken)Match(input,COLON,FOLLOW_COLON_in_interfaceFunctionDeclaration6941); 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 ) { InsertWS(mPrinter.GetAdvancedSpacesBeforeColons()); Emit((CommonToken)C);InsertWS(mPrinter.GetAdvancedSpacesAfterColons()); } PushFollow(FOLLOW_type_in_interfaceFunctionDeclaration6945); type106 = type(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, type106.Tree); } break; } PushFollow(FOLLOW_semic_in_interfaceFunctionDeclaration6949); semic107 = semic(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, semic107.Tree); } 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, 49, interfaceFunctionDeclaration_StartIndex); } } return retval; }
// $ANTLR start "interfaceFunctionDeclaration" // AS3_ex.g3:2117:1: interfaceFunctionDeclaration : ( conditionalDirAndBindingDecls )? ( memberModifiers )? F= FUNCTION (S= SET | G= GET )? (I= IDENTIFIER | notQuiteReservedWord ) formalParameterList (C= COLON type )? semic ; public AS3_exParser.interfaceFunctionDeclaration_return interfaceFunctionDeclaration() // throws RecognitionException [1] { AS3_exParser.interfaceFunctionDeclaration_return retval = new AS3_exParser.interfaceFunctionDeclaration_return(); retval.Start = input.LT(1); int interfaceFunctionDeclaration_StartIndex = input.Index(); object root_0 = null; IToken F = null; IToken S = null; IToken G = null; IToken I = null; IToken C = null; AS3_exParser.conditionalDirAndBindingDecls_return conditionalDirAndBindingDecls113 = null; AS3_exParser.memberModifiers_return memberModifiers114 = null; AS3_exParser.notQuiteReservedWord_return notQuiteReservedWord115 = null; AS3_exParser.formalParameterList_return formalParameterList116 = null; AS3_exParser.type_return type117 = null; AS3_exParser.semic_return semic118 = null; object F_tree=null; object S_tree=null; object G_tree=null; object I_tree=null; object C_tree=null; WrapOptions options=mPrinter.getExpressionWrapOptions(); bool pushedWrapInfo=false; try { if ( (state.backtracking > 0) && AlreadyParsedRule(input, 49) ) { return retval; } // AS3_ex.g3:2122:5: ( ( conditionalDirAndBindingDecls )? ( memberModifiers )? F= FUNCTION (S= SET | G= GET )? (I= IDENTIFIER | notQuiteReservedWord ) formalParameterList (C= COLON type )? semic ) // AS3_ex.g3:2122:10: ( conditionalDirAndBindingDecls )? ( memberModifiers )? F= FUNCTION (S= SET | G= GET )? (I= IDENTIFIER | notQuiteReservedWord ) formalParameterList (C= COLON type )? semic { root_0 = (object)adaptor.GetNilNode(); if ( state.backtracking == 0 ) { mPrinter.setBindingContext(ASPrettyPrinter.BindingContext_Function); } // AS3_ex.g3:2122:81: ( conditionalDirAndBindingDecls )? int alt62 = 2; switch ( input.LA(1) ) { case IDENTIFIER: { int LA62_1 = input.LA(2); if ( (LA62_1 == XML_NS_OP) ) { alt62 = 1; } } break; case NATIVE: case DYNAMIC: case FINAL: case OVERRIDE: case STATIC: { int LA62_2 = input.LA(2); if ( (LA62_2 == XML_NS_OP) ) { alt62 = 1; } } break; case TO: case EACH: case GET: case SET: case NAMESPACE: { alt62 = 1; } break; } switch (alt62) { case 1 : // AS3_ex.g3:2122:82: conditionalDirAndBindingDecls { PushFollow(FOLLOW_conditionalDirAndBindingDecls_in_interfaceFunctionDeclaration7300); conditionalDirAndBindingDecls113 = conditionalDirAndBindingDecls(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, conditionalDirAndBindingDecls113.Tree); } break; } if ( state.backtracking == 0 ) { insertCR(false); } // AS3_ex.g3:2122:133: ( memberModifiers )? int alt63 = 2; int LA63_0 = input.LA(1); if ( (LA63_0 == INTERNAL || LA63_0 == NATIVE || (LA63_0 >= PRIVATE && LA63_0 <= PUBLIC) || (LA63_0 >= DYNAMIC && LA63_0 <= STATIC) || LA63_0 == IDENTIFIER) ) { alt63 = 1; } switch (alt63) { case 1 : // AS3_ex.g3:0:0: memberModifiers { PushFollow(FOLLOW_memberModifiers_in_interfaceFunctionDeclaration7306); memberModifiers114 = memberModifiers(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, memberModifiers114.Tree); } break; } F=(IToken)Match(input,FUNCTION,FOLLOW_FUNCTION_in_interfaceFunctionDeclaration7311); if (state.failed) return retval; if ( state.backtracking == 0 ) {F_tree = (object)adaptor.Create(F); adaptor.AddChild(root_0, F_tree); } if ( state.backtracking == 0 ) { emit(F); } // AS3_ex.g3:2124:5: (S= SET | G= GET )? int alt64 = 3; int LA64_0 = input.LA(1); if ( (LA64_0 == SET) ) { int LA64_1 = input.LA(2); if ( (LA64_1 == NATIVE || LA64_1 == TO || (LA64_1 >= EACH && LA64_1 <= NAMESPACE) || (LA64_1 >= DYNAMIC && LA64_1 <= STATIC) || LA64_1 == IDENTIFIER) ) { alt64 = 1; } } else if ( (LA64_0 == GET) ) { int LA64_2 = input.LA(2); if ( (LA64_2 == NATIVE || LA64_2 == TO || (LA64_2 >= EACH && LA64_2 <= NAMESPACE) || (LA64_2 >= DYNAMIC && LA64_2 <= STATIC) || LA64_2 == IDENTIFIER) ) { alt64 = 2; } } switch (alt64) { case 1 : // AS3_ex.g3:2124:6: S= SET { S=(IToken)Match(input,SET,FOLLOW_SET_in_interfaceFunctionDeclaration7330); if (state.failed) return retval; if ( state.backtracking == 0 ) {S_tree = (object)adaptor.Create(S); adaptor.AddChild(root_0, S_tree); } if ( state.backtracking == 0 ) { emit(S); } } break; case 2 : // AS3_ex.g3:2124:25: G= GET { G=(IToken)Match(input,GET,FOLLOW_GET_in_interfaceFunctionDeclaration7337); if (state.failed) return retval; if ( state.backtracking == 0 ) {G_tree = (object)adaptor.Create(G); adaptor.AddChild(root_0, G_tree); } if ( state.backtracking == 0 ) { emit(G); } } break; } if ( state.backtracking == 0 ) { pushedWrapInfo=pushWrapInfo(options, true); } // AS3_ex.g3:2126:2: (I= IDENTIFIER | notQuiteReservedWord ) int alt65 = 2; int LA65_0 = input.LA(1); if ( (LA65_0 == IDENTIFIER) ) { alt65 = 1; } else if ( (LA65_0 == NATIVE || LA65_0 == TO || (LA65_0 >= EACH && LA65_0 <= NAMESPACE) || (LA65_0 >= DYNAMIC && LA65_0 <= STATIC)) ) { alt65 = 2; } else { if ( state.backtracking > 0 ) {state.failed = true; return retval;} NoViableAltException nvae_d65s0 = new NoViableAltException("", 65, 0, input); throw nvae_d65s0; } switch (alt65) { case 1 : // AS3_ex.g3:2126:3: I= IDENTIFIER { I=(IToken)Match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_interfaceFunctionDeclaration7354); if (state.failed) return retval; if ( state.backtracking == 0 ) {I_tree = (object)adaptor.Create(I); adaptor.AddChild(root_0, I_tree); } if ( state.backtracking == 0 ) { emit(I); } } break; case 2 : // AS3_ex.g3:2126:30: notQuiteReservedWord { PushFollow(FOLLOW_notQuiteReservedWord_in_interfaceFunctionDeclaration7360); notQuiteReservedWord115 = notQuiteReservedWord(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, notQuiteReservedWord115.Tree); } break; } PushFollow(FOLLOW_formalParameterList_in_interfaceFunctionDeclaration7363); formalParameterList116 = formalParameterList(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, formalParameterList116.Tree); // AS3_ex.g3:2126:72: (C= COLON type )? int alt66 = 2; int LA66_0 = input.LA(1); if ( (LA66_0 == COLON) ) { alt66 = 1; } switch (alt66) { case 1 : // AS3_ex.g3:2126:73: C= COLON type { C=(IToken)Match(input,COLON,FOLLOW_COLON_in_interfaceFunctionDeclaration7368); 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 ) { insertWS(mPrinter.getAdvancedSpacesBeforeColonsInFunctionTypes()); emit(C);insertWS(mPrinter.getAdvancedSpacesAfterColonsInFunctionTypes()); } PushFollow(FOLLOW_type_in_interfaceFunctionDeclaration7372); type117 = type(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, type117.Tree); } break; } PushFollow(FOLLOW_semic_in_interfaceFunctionDeclaration7376); semic118 = semic(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, semic118.Tree); if ( state.backtracking == 0 ) { 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, 49, interfaceFunctionDeclaration_StartIndex); } } return retval; }