From: <fwi...@us...> - 2009-01-08 16:12:57
|
Revision: 5880 http://jython.svn.sourceforge.net/jython/?rev=5880&view=rev Author: fwierzbicki Date: 2009-01-08 16:12:44 +0000 (Thu, 08 Jan 2009) Log Message: ----------- Added nonlocal, and support for the -> annotation. 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-08 15:52:56 UTC (rev 5879) +++ branches/jy3k/grammar/Python.g 2009-01-08 16:12:44 UTC (rev 5880) @@ -377,7 +377,6 @@ | DELETE | ELIF | EXCEPT - | EXEC | FINALLY | FROM | FOR @@ -443,7 +442,7 @@ if ($decorators.start != null) { t = $decorators.start; } - stype = actions.makeFuncdef(t, $NAME, $parameters.args, $suite.stypes, $decorators.etypes); + stype = actions.makeFuncdef(t, $NAME, $parameters.args, $suite.stypes, $decorators.etypes, actions.castExpr($test.tree)); } ; @@ -1584,6 +1583,7 @@ IN : 'in' ; IS : 'is' ; LAMBDA : 'lambda' ; +NONLOCAL : 'nonlocal' ; ORELSE : 'else' ; PASS : 'pass' ; RAISE : 'raise' ; Modified: branches/jy3k/src/org/python/antlr/GrammarActions.java =================================================================== --- branches/jy3k/src/org/python/antlr/GrammarActions.java 2009-01-08 15:52:56 UTC (rev 5879) +++ branches/jy3k/src/org/python/antlr/GrammarActions.java 2009-01-08 16:12:44 UTC (rev 5880) @@ -263,7 +263,7 @@ return new TryFinally(t, b, f); } - stmt makeFuncdef(Token t, Token nameToken, arguments args, List funcStatements, List decorators) { + stmt makeFuncdef(Token t, Token nameToken, arguments args, List funcStatements, List decorators, expr returnType) { if (nameToken == null) { return errorHandler.errorStmt(new PythonTree(t)); } @@ -276,7 +276,7 @@ } List<stmt> s = castStmts(funcStatements); List<expr> d = castExprs(decorators); - return new FunctionDef(t, nameToken.getText(), a, s, d, null); + return new FunctionDef(t, nameToken.getText(), a, s, d, returnType); } List<expr> makeAssignTargets(expr lhs, List rhs) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |