From: <fwi...@us...> - 2008-08-25 15:45:52
|
Revision: 5244 http://jython.svn.sourceforge.net/jython/?rev=5244&view=rev Author: fwierzbicki Date: 2008-08-25 15:25:24 +0000 (Mon, 25 Aug 2008) Log Message: ----------- Clean up creation of stmtType[] and exprType[]. Modified Paths: -------------- branches/nowalker/src/org/python/antlr/GrammarActions.java Modified: branches/nowalker/src/org/python/antlr/GrammarActions.java =================================================================== --- branches/nowalker/src/org/python/antlr/GrammarActions.java 2008-08-25 14:21:29 UTC (rev 5243) +++ branches/nowalker/src/org/python/antlr/GrammarActions.java 2008-08-25 15:25:24 UTC (rev 5244) @@ -236,27 +236,21 @@ } stmtType makeTryExcept(Token t, List body, List handlers, List orelse, List finBody) { - stmtType[] b = (stmtType[])body.toArray(new stmtType[body.size()]); + stmtType[] b = makeStmts(body); excepthandlerType[] e = (excepthandlerType[])handlers.toArray(new excepthandlerType[handlers.size()]); - stmtType[] o; - if (orelse != null) { - o = (stmtType[])orelse.toArray(new stmtType[orelse.size()]); - } else { - o = new stmtType[0]; - } - + stmtType[] o = makeStmts(orelse); stmtType te = new TryExcept(t, b, e, o); if (finBody == null) { return te; } - stmtType[] f = (stmtType[])finBody.toArray(new stmtType[finBody.size()]); + stmtType[] f = makeStmts(finBody); stmtType[] mainBody = new stmtType[]{te}; return new TryFinally(t, mainBody, f); } TryFinally makeTryFinally(Token t, List body, List finBody) { - stmtType[] b = (stmtType[])body.toArray(new stmtType[body.size()]); - stmtType[] f = (stmtType[])finBody.toArray(new stmtType[finBody.size()]); + stmtType[] b = makeStmts(body); + stmtType[] f = makeStmts(finBody); return new TryFinally(t, b, f); } @@ -271,13 +265,8 @@ } else { a = new argumentsType(t, new exprType[0], null, null, new exprType[0]); } - stmtType[] s = (stmtType[])funcStatements.toArray(new stmtType[funcStatements.size()]); - exprType[] d; - if (decorators != null) { - d = (exprType[])decorators.toArray(new exprType[decorators.size()]); - } else { - d = new exprType[0]; - } + stmtType[] s = makeStmts(funcStatements); + exprType[] d = makeExprs(decorators); return new FunctionDef(t, nameToken.getText(), a, s, d); } @@ -317,13 +306,8 @@ argumentsType makeArgumentsType(Token t, List params, Token snameToken, Token knameToken, List defaults) { - exprType[] p; - if (params == null) { - p = new exprType[0]; - } else { - p = (exprType[])params.toArray(new exprType[params.size()]); - } - exprType[] d = (exprType[])defaults.toArray(new exprType[defaults.size()]); + exprType[] p = makeExprs(params); + exprType[] d = makeExprs(defaults); String s; String k; if (snameToken == null) { @@ -340,10 +324,7 @@ } exprType[] extractArgs(List args) { - if (args == null) { - return new exprType[0]; - } - return (exprType[])args.toArray(new exprType[args.size()]); + return makeExprs(args); } keywordType[] makeKeywords(List args) { @@ -475,12 +456,7 @@ //FROM Walker: modType makeMod(PythonTree t, List stmts) { - stmtType[] s; - if (stmts != null) { - s = (stmtType[])stmts.toArray(new stmtType[stmts.size()]); - } else { - s = new stmtType[0]; - } + stmtType[] s = makeStmts(stmts); return new Module(t, s); } @@ -489,12 +465,7 @@ } modType makeInteractive(PythonTree t, List stmts) { - stmtType[] s; - if (stmts == null) { - s = new stmtType[0]; - } else { - s = (stmtType[])stmts.toArray(new stmtType[stmts.size()]); - } + stmtType[] s = makeStmts(stmts); return new Interactive(t, s); } @@ -503,16 +474,16 @@ return errorHandler.errorStmt(t); } cantBeNone(nameToken); - exprType[] b = (exprType[])bases.toArray(new exprType[bases.size()]); - stmtType[] s = (stmtType[])body.toArray(new stmtType[body.size()]); + exprType[] b = makeExprs(bases); + stmtType[] s = makeStmts(body); return new ClassDef(t, nameToken.getText(), b, s); } argumentsType makeArgumentsType(PythonTree t, List params, PythonTree snameToken, PythonTree knameToken, List defaults) { - exprType[] p = (exprType[])params.toArray(new exprType[params.size()]); - exprType[] d = (exprType[])defaults.toArray(new exprType[defaults.size()]); + exprType[] p = makeExprs(params); + exprType[] d = makeExprs(defaults); String s; String k; if (snameToken == null) { @@ -529,27 +500,22 @@ } stmtType makeTryExcept(PythonTree t, List body, List handlers, List orelse, List finBody) { - stmtType[] b = (stmtType[])body.toArray(new stmtType[body.size()]); + stmtType[] b = makeStmts(body); excepthandlerType[] e = (excepthandlerType[])handlers.toArray(new excepthandlerType[handlers.size()]); - stmtType[] o; - if (orelse != null) { - o = (stmtType[])orelse.toArray(new stmtType[orelse.size()]); - } else { - o = new stmtType[0]; - } + stmtType[] o = makeStmts(orelse); stmtType te = new TryExcept(t, b, e, o); if (finBody == null) { return te; } - stmtType[] f = (stmtType[])finBody.toArray(new stmtType[finBody.size()]); + stmtType[] f = makeStmts(finBody); stmtType[] mainBody = new stmtType[]{te}; return new TryFinally(t, mainBody, f); } TryFinally makeTryFinally(PythonTree t, List body, List finBody) { - stmtType[] b = (stmtType[])body.toArray(new stmtType[body.size()]); - stmtType[] f = (stmtType[])finBody.toArray(new stmtType[finBody.size()]); + stmtType[] b = makeStmts(body); + stmtType[] f = makeStmts(finBody); return new TryFinally(t, b, f); } @@ -557,18 +523,8 @@ if (test == null) { return errorHandler.errorStmt(t); } - stmtType[] o; - if (orelse != null) { - o = (stmtType[])orelse.toArray(new stmtType[orelse.size()]); - } else { - o = new stmtType[0]; - } - stmtType[] b; - if (body != null) { - b = (stmtType[])body.toArray(new stmtType[body.size()]); - } else { - b = new stmtType[0]; - } + stmtType[] o = makeStmts(orelse); + stmtType[] b = makeStmts(body); return new If(t, test, b, o); } @@ -576,13 +532,8 @@ if (test == null) { return errorHandler.errorStmt(t); } - stmtType[] o; - if (orelse != null) { - o = (stmtType[])orelse.toArray(new stmtType[orelse.size()]); - } else { - o = new stmtType[0]; - } - stmtType[] b = (stmtType[])body.toArray(new stmtType[body.size()]); + stmtType[] o = makeStmts(orelse); + stmtType[] b = makeStmts(body); return new While(t, test, b, o); } @@ -591,13 +542,8 @@ return errorHandler.errorStmt(t); } cantBeNone(target); - stmtType[] o; - if (orelse != null) { - o = (stmtType[])orelse.toArray(new stmtType[orelse.size()]); - } else { - o = new stmtType[0]; - } - stmtType[] b = (stmtType[])body.toArray(new stmtType[body.size()]); + stmtType[] o = makeStmts(orelse); + stmtType[] b = makeStmts(body); return new For(t, target, iter, b, o); } @@ -609,18 +555,8 @@ if (func == null) { return errorHandler.errorExpr(t); } - exprType[] a; - keywordType[] k; - if (args == null) { - a = new exprType[0]; - } else { - a = (exprType[])args.toArray(new exprType[args.size()]); - } - if (keywords == null) { - k = new keywordType[0]; - } else { - k = (keywordType[])keywords.toArray(new keywordType[keywords.size()]); - } + keywordType[] k = makeKeywords(keywords); + exprType[] a = makeExprs(args); return new Call(t, func, a, k, starargs, kwargs); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |