From: <fwi...@us...> - 2009-01-10 20:50:40
|
Revision: 5911 http://jython.svn.sourceforge.net/jython/?rev=5911&view=rev Author: fwierzbicki Date: 2009-01-10 20:50:36 +0000 (Sat, 10 Jan 2009) Log Message: ----------- ClassDef now takes arglist for bases. Modified Paths: -------------- branches/jy3k/grammar/Python.g branches/jy3k/src/org/python/antlr/GrammarActions.java Modified: branches/jy3k/grammar/Python.g =================================================================== --- branches/jy3k/grammar/Python.g 2009-01-10 13:45:43 UTC (rev 5910) +++ branches/jy3k/grammar/Python.g 2009-01-10 20:50:36 UTC (rev 5911) @@ -1505,17 +1505,18 @@ @after { $classdef.tree = stype; } - : decorators? CLASS NAME (LPAREN testlist[expr_contextType.Load]? RPAREN)? COLON suite[false] + : decorators? CLASS NAME (LPAREN arglist? RPAREN)? COLON suite[false] { Token t = $CLASS; if ($decorators.start != null) { t = $decorators.start; } - stype = new ClassDef(t, actions.cantBeNone($NAME), - actions.makeBases(actions.castExpr($testlist.tree)), - new ArrayList<keyword>(), - null, - null, + stype = new ClassDef(t, + actions.cantBeNone($NAME), + actions.castExprs($arglist.args), + actions.makeKeywords($arglist.keywords), + $arglist.starargs, + $arglist.kwargs, actions.castStmts($suite.stypes), actions.castExprs($decorators.etypes)); } @@ -1531,12 +1532,11 @@ List gens = new ArrayList(); List arguments2 = new ArrayList(); - List kws2 = new ArrayList(); List gens2 = new ArrayList(); } : argument[arguments, kws, gens, true] (COMMA argument[arguments, kws, gens, false])* (COMMA - ( STAR s=test[expr_contextType.Load] (COMMA argument[arguments2, kws2, gens2, false])* (COMMA DOUBLESTAR k=test[expr_contextType.Load])? + ( STAR s=test[expr_contextType.Load] (COMMA argument[arguments2, kws, gens2, false])* (COMMA DOUBLESTAR k=test[expr_contextType.Load])? | DOUBLESTAR k=test[expr_contextType.Load] )? )? Modified: branches/jy3k/src/org/python/antlr/GrammarActions.java =================================================================== --- branches/jy3k/src/org/python/antlr/GrammarActions.java 2009-01-10 13:45:43 UTC (rev 5910) +++ branches/jy3k/src/org/python/antlr/GrammarActions.java 2009-01-10 20:50:36 UTC (rev 5911) @@ -100,17 +100,6 @@ return atypes; } - List<expr> makeBases(expr etype) { - List<expr> result = new ArrayList<expr>(); - if (etype != null) { - if (etype instanceof Tuple) { - return ((Tuple)etype).getInternalElts(); - } - result.add(etype); - } - return result; - } - List<String> makeNames(List names) { List<String> s = new ArrayList<String>(); for(int i=0;i<names.size();i++) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |