- Revision
- 1111
- Author
- rfscholte
- Date
- 2011-03-08 14:35:16 -0600 (Tue, 08 Mar 2011)
Log Message
Use Formal Parameters according to JLS
Modified Paths
Diff
Modified: trunk/qdox/src/grammar/parser.y (1110 => 1111)
--- trunk/qdox/src/grammar/parser.y 2011-03-07 21:48:23 UTC (rev 1110) +++ trunk/qdox/src/grammar/parser.y 2011-03-08 20:35:16 UTC (rev 1111) @@ -65,7 +65,6 @@ %type <annoval> PostfixExpression CastExpression %type <ival> dims Dims_opt %type <sval> fullidentifier typedeclspecifier typename memberend -%type <bval> varargs %type <type> type arrayidentifier classtype typearg %% @@ -661,7 +660,7 @@ $$ = ""; }; -methoddef: PARENOPEN opt_params PARENCLOSE; +methoddef: PARENOPEN FormalParameterList_opt PARENCLOSE; // 8.4.6 Method Throws Throws_opt: @@ -675,32 +674,43 @@ { mth.exceptions.add($3); }; +// 8.4.1 Formal Parameters +FormalParameterList_opt: + | FormalParameterList; + +FormalParameterList: LastFormalParameter + | FormalParameters COMMA LastFormalParameter; -opt_params: | paramlist; +FormalParameters: FormalParameter + | FormalParameters COMMA FormalParameter; + +FormalParameter: VariableModifiers_opt type /* =Type */ arrayidentifier /* =VariableDeclaratorId */ + { + param.name = $3.name; + param.type = $2; + param.dimensions = $3.dimensions; + param.isVarArgs = false; + param.modifiers.addAll(modifiers); modifiers.clear(); + builder.addParameter(param); + param = new FieldDef(); + }; -paramlist: - param | - paramlist COMMA param; +LastFormalParameter: VariableModifiers_opt type /* =Type */ DOTDOTDOT arrayidentifier /* =VariableDeclaratorId */ + { + param.name = $4.name; + param.type = $2; + param.dimensions = $4.dimensions; + param.isVarArgs = true; + param.modifiers.addAll(modifiers); modifiers.clear(); + builder.addParameter(param); + param = new FieldDef(); + }; + | FormalParameter; -param: - opt_parammodifiers type varargs arrayidentifier { - param.name = $4.name; - param.type = $2; - param.dimensions = $4.dimensions; - param.isVarArgs = $3; - param.modifiers.addAll(modifiers); modifiers.clear(); - builder.addParameter(param); - param = new FieldDef(); - }; - -varargs: - /* empty */ { $$ = false; } | - DOTDOTDOT { $$ = true; } ; - opt_annotations: | opt_annotations annotation; -opt_parammodifiers: | - opt_parammodifiers modifier; +VariableModifiers_opt: + | VariableModifiers_opt modifier; %%
To unsubscribe from this list please visit:
