From: <fwi...@us...> - 2008-11-10 03:36:39
|
Revision: 5565 http://jython.svn.sourceforge.net/jython/?rev=5565&view=rev Author: fwierzbicki Date: 2008-11-10 03:36:31 +0000 (Mon, 10 Nov 2008) Log Message: ----------- Just enough AST tweaking to get some of sympy working for Ondrej. On my todo list is to look at Python 2.6's ast testing and see if I can port that over to Jython. Modified Paths: -------------- trunk/jython/ast/asdl_antlr.py trunk/jython/src/org/python/antlr/AST.java trunk/jython/src/org/python/antlr/PythonTree.java trunk/jython/src/org/python/antlr/ast/Assert.java trunk/jython/src/org/python/antlr/ast/Assign.java trunk/jython/src/org/python/antlr/ast/Attribute.java trunk/jython/src/org/python/antlr/ast/AugAssign.java trunk/jython/src/org/python/antlr/ast/BinOp.java trunk/jython/src/org/python/antlr/ast/BoolOp.java trunk/jython/src/org/python/antlr/ast/Break.java trunk/jython/src/org/python/antlr/ast/Call.java trunk/jython/src/org/python/antlr/ast/ClassDef.java trunk/jython/src/org/python/antlr/ast/Compare.java trunk/jython/src/org/python/antlr/ast/Continue.java trunk/jython/src/org/python/antlr/ast/Delete.java trunk/jython/src/org/python/antlr/ast/Dict.java trunk/jython/src/org/python/antlr/ast/Ellipsis.java trunk/jython/src/org/python/antlr/ast/ErrorExpr.java trunk/jython/src/org/python/antlr/ast/ErrorMod.java trunk/jython/src/org/python/antlr/ast/ErrorSlice.java trunk/jython/src/org/python/antlr/ast/ErrorStmt.java trunk/jython/src/org/python/antlr/ast/Exec.java trunk/jython/src/org/python/antlr/ast/Expr.java trunk/jython/src/org/python/antlr/ast/Expression.java trunk/jython/src/org/python/antlr/ast/ExtSlice.java trunk/jython/src/org/python/antlr/ast/For.java trunk/jython/src/org/python/antlr/ast/FunctionDef.java trunk/jython/src/org/python/antlr/ast/GeneratorExp.java trunk/jython/src/org/python/antlr/ast/Global.java trunk/jython/src/org/python/antlr/ast/If.java trunk/jython/src/org/python/antlr/ast/IfExp.java trunk/jython/src/org/python/antlr/ast/Import.java trunk/jython/src/org/python/antlr/ast/ImportFrom.java trunk/jython/src/org/python/antlr/ast/Index.java trunk/jython/src/org/python/antlr/ast/Interactive.java trunk/jython/src/org/python/antlr/ast/Lambda.java trunk/jython/src/org/python/antlr/ast/List.java trunk/jython/src/org/python/antlr/ast/ListComp.java trunk/jython/src/org/python/antlr/ast/Module.java trunk/jython/src/org/python/antlr/ast/Name.java trunk/jython/src/org/python/antlr/ast/Num.java trunk/jython/src/org/python/antlr/ast/Pass.java trunk/jython/src/org/python/antlr/ast/Print.java trunk/jython/src/org/python/antlr/ast/Raise.java trunk/jython/src/org/python/antlr/ast/Repr.java trunk/jython/src/org/python/antlr/ast/Return.java trunk/jython/src/org/python/antlr/ast/Slice.java trunk/jython/src/org/python/antlr/ast/Str.java trunk/jython/src/org/python/antlr/ast/Subscript.java trunk/jython/src/org/python/antlr/ast/Suite.java trunk/jython/src/org/python/antlr/ast/TryExcept.java trunk/jython/src/org/python/antlr/ast/TryFinally.java trunk/jython/src/org/python/antlr/ast/Tuple.java trunk/jython/src/org/python/antlr/ast/UnaryOp.java trunk/jython/src/org/python/antlr/ast/While.java trunk/jython/src/org/python/antlr/ast/With.java trunk/jython/src/org/python/antlr/ast/Yield.java trunk/jython/src/org/python/antlr/ast/aliasType.java trunk/jython/src/org/python/antlr/ast/argumentsType.java trunk/jython/src/org/python/antlr/ast/boolopType.java trunk/jython/src/org/python/antlr/ast/cmpopType.java trunk/jython/src/org/python/antlr/ast/comprehensionType.java trunk/jython/src/org/python/antlr/ast/excepthandlerType.java trunk/jython/src/org/python/antlr/ast/exprType.java trunk/jython/src/org/python/antlr/ast/expr_contextType.java trunk/jython/src/org/python/antlr/ast/keywordType.java trunk/jython/src/org/python/antlr/ast/modType.java trunk/jython/src/org/python/antlr/ast/operatorType.java trunk/jython/src/org/python/antlr/ast/sliceType.java trunk/jython/src/org/python/antlr/ast/stmtType.java trunk/jython/src/org/python/antlr/ast/unaryopType.java Modified: trunk/jython/ast/asdl_antlr.py =================================================================== --- trunk/jython/ast/asdl_antlr.py 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/ast/asdl_antlr.py 2008-11-10 03:36:31 UTC (rev 5565) @@ -142,9 +142,13 @@ self.emit('', 0) self.emit("public enum %(name)sType implements AST {" % locals(), depth) self.emit("UNDEFINED,", depth + 1) - for i in range(len(sum.types)): + for i in range(len(sum.types) - 1): type = sum.types[i] self.emit("%s," % type.name, depth + 1) + self.emit("%s;" % sum.types[len(sum.types) - 1].name, depth + 1) + + self.attributes(sum, depth, True); + #self.emit("", 0) #self.emit("public static final String[] %sTypeNames = new String[] {" % # name, depth+1) @@ -154,13 +158,49 @@ #self.emit("};", depth+1) self.emit("}", depth) self.close() + + def attributes(self, obj, depth, always_emit=False): + field_list = [] + if hasattr(obj, "fields"): + for f in obj.fields: + field_list.append('"%s"' % f.name) + if len(field_list) > 0: + self.emit("private final static String[] fields = new String[] {%s};" % + ", ".join(field_list), depth+1) + self.emit("public String[] get_fields() { return fields; }", depth+1) + self.emit("", 0) + elif always_emit: + self.emit("private final static String[] fields = new String[0];", depth+1) + self.emit("public String[] get_fields() { return fields; }", depth+1) + self.emit("", 0) + + att_list = [] + if hasattr(obj, "attributes"): + for a in obj.attributes: + att_list.append('"%s"' % a.name) + if len(att_list) > 0: + self.emit("private final static String[] attributes = new String[] {%s};" % + ", ".join(att_list), depth+1) + self.emit("public String[] get_attributes() { return attributes; }", depth+1) + self.emit("", 0) + elif always_emit: + self.emit("private final static String[] attributes = new String[0];", depth+1) + self.emit("public String[] get_attributes() { return attributes; }", depth+1) + self.emit("", 0) def sum_with_constructor(self, sum, name, depth): self.open("%sType" % name) + self.emit("public abstract class %(name)sType extends PythonTree {" % locals(), depth) self.emit("", 0) + self.attributes(sum, depth); + + self.emit("public %(name)sType() {" % locals(), depth+1) + self.emit("}", depth+1) + self.emit("", 0) + self.emit("public %(name)sType(int ttype, Token token) {" % locals(), depth+1) self.emit("super(ttype, token);", depth+2) self.emit("}", depth+1) @@ -189,13 +229,7 @@ self.visit(f, depth + 1) self.emit("", depth) - ##XXX: extract - field_list = [] - for f in product.fields: - field_list.append('"%s"' % f.name) - self.emit("public static final String[] _fields = new String[] {%s};" % - ",".join(field_list), depth+1) - self.emit("", 0) + self.attributes(product, depth) self.javaMethods(product, name, "%sType" % name, product.fields, depth+1) @@ -219,13 +253,7 @@ self.visit(f, depth + 1) self.emit("", depth) - ##XXX: extract - field_list = [] - for f in cons.fields: - field_list.append('"%s"' % f.name) - self.emit("public static final String[] _fields = new String[] {%s};" % - ",".join(field_list), depth+1) - self.emit("", 0) + self.attributes(cons, depth) self.javaMethods(cons, cons.name, cons.name, cons.fields, depth+1) @@ -273,6 +301,12 @@ def javaMethods(self, type, clsname, ctorname, fields, depth): # The java ctors + fpargs = ", ".join([self.fieldDef(f) for f in fields]) + self.emit("public %s(%s) {" % (ctorname, fpargs), depth) + self.javaConstructorHelper(fields, depth) + self.emit("}", depth) + self.emit("", 0) + token = asdl.Field('Token', 'token') token.typedef = False fpargs = ", ".join([self.fieldDef(f) for f in [token] + fields]) @@ -427,7 +461,6 @@ if not sum.simple: for t in sum.types: self.visit(t, name, depth) - def visitProduct(self, product, name, depth): pass Modified: trunk/jython/src/org/python/antlr/AST.java =================================================================== --- trunk/jython/src/org/python/antlr/AST.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/AST.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -1,3 +1,8 @@ package org.python.antlr; -public interface AST {} +public interface AST { + public static String[] emptyStringArray = new String[0]; + + public String[] get_attributes(); + public String[] get_fields(); +} Modified: trunk/jython/src/org/python/antlr/PythonTree.java =================================================================== --- trunk/jython/src/org/python/antlr/PythonTree.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/PythonTree.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -27,9 +27,6 @@ /** What index is this node in the child list? Range: 0..n-1 */ public int childIndex = -1; - /** - * The empty constructor is intended only for use by PythonErrorNode. - */ public PythonTree() { } @@ -255,4 +252,12 @@ public void traverse(VisitorIF visitor) throws Exception { throw new RuntimeException("Cannot traverse node: " + this); } + + public String[] get_fields() { + return emptyStringArray; + } + + public String[] get_attributes() { + return emptyStringArray; + } } Modified: trunk/jython/src/org/python/antlr/ast/Assert.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Assert.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Assert.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,16 @@ public exprType test; public exprType msg; - public static final String[] _fields = new String[] {"test","msg"}; + private final static String[] fields = new String[] {"test", "msg"}; + public String[] get_fields() { return fields; } + public Assert(exprType test, exprType msg) { + this.test = test; + addChild(test); + this.msg = msg; + addChild(msg); + } + public Assert(Token token, exprType test, exprType msg) { super(token); this.test = test; Modified: trunk/jython/src/org/python/antlr/ast/Assign.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Assign.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Assign.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,20 @@ public exprType[] targets; public exprType value; - public static final String[] _fields = new String[] {"targets","value"}; + private final static String[] fields = new String[] {"targets", "value"}; + public String[] get_fields() { return fields; } + public Assign(exprType[] targets, exprType value) { + this.targets = targets; + if (targets != null) { + for(int itargets=0;itargets<targets.length;itargets++) { + addChild(targets[itargets]); + } + } + this.value = value; + addChild(value); + } + public Assign(Token token, exprType[] targets, exprType value) { super(token); this.targets = targets; Modified: trunk/jython/src/org/python/antlr/ast/Attribute.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Attribute.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Attribute.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,8 +11,17 @@ public String attr; public expr_contextType ctx; - public static final String[] _fields = new String[] {"value","attr","ctx"}; + private final static String[] fields = new String[] {"value", "attr", + "ctx"}; + public String[] get_fields() { return fields; } + public Attribute(exprType value, String attr, expr_contextType ctx) { + this.value = value; + addChild(value); + this.attr = attr; + this.ctx = ctx; + } + public Attribute(Token token, exprType value, String attr, expr_contextType ctx) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/AugAssign.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/AugAssign.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/AugAssign.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,8 +11,18 @@ public operatorType op; public exprType value; - public static final String[] _fields = new String[] {"target","op","value"}; + private final static String[] fields = new String[] {"target", "op", + "value"}; + public String[] get_fields() { return fields; } + public AugAssign(exprType target, operatorType op, exprType value) { + this.target = target; + addChild(target); + this.op = op; + this.value = value; + addChild(value); + } + public AugAssign(Token token, exprType target, operatorType op, exprType value) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/BinOp.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/BinOp.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/BinOp.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,8 +11,17 @@ public operatorType op; public exprType right; - public static final String[] _fields = new String[] {"left","op","right"}; + private final static String[] fields = new String[] {"left", "op", "right"}; + public String[] get_fields() { return fields; } + public BinOp(exprType left, operatorType op, exprType right) { + this.left = left; + addChild(left); + this.op = op; + this.right = right; + addChild(right); + } + public BinOp(Token token, exprType left, operatorType op, exprType right) { super(token); this.left = left; Modified: trunk/jython/src/org/python/antlr/ast/BoolOp.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/BoolOp.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/BoolOp.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,19 @@ public boolopType op; public exprType[] values; - public static final String[] _fields = new String[] {"op","values"}; + private final static String[] fields = new String[] {"op", "values"}; + public String[] get_fields() { return fields; } + public BoolOp(boolopType op, exprType[] values) { + this.op = op; + this.values = values; + if (values != null) { + for(int ivalues=0;ivalues<values.length;ivalues++) { + addChild(values[ivalues]); + } + } + } + public BoolOp(Token token, boolopType op, exprType[] values) { super(token); this.op = op; Modified: trunk/jython/src/org/python/antlr/ast/Break.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Break.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Break.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -8,7 +8,8 @@ public class Break extends stmtType { - public static final String[] _fields = new String[] {}; + public Break() { + } public Break(Token token) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/Call.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Call.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Call.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -13,9 +13,33 @@ public exprType starargs; public exprType kwargs; - public static final String[] _fields = new String[] - {"func","args","keywords","starargs","kwargs"}; + private final static String[] fields = new String[] {"func", "args", + "keywords", + "starargs", "kwargs"}; + public String[] get_fields() { return fields; } + public Call(exprType func, exprType[] args, keywordType[] keywords, + exprType starargs, exprType kwargs) { + this.func = func; + addChild(func); + this.args = args; + if (args != null) { + for(int iargs=0;iargs<args.length;iargs++) { + addChild(args[iargs]); + } + } + this.keywords = keywords; + if (keywords != null) { + for(int ikeywords=0;ikeywords<keywords.length;ikeywords++) { + addChild(keywords[ikeywords]); + } + } + this.starargs = starargs; + addChild(starargs); + this.kwargs = kwargs; + addChild(kwargs); + } + public Call(Token token, exprType func, exprType[] args, keywordType[] keywords, exprType starargs, exprType kwargs) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/ClassDef.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/ClassDef.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/ClassDef.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -12,9 +12,33 @@ public stmtType[] body; public exprType[] decorators; - public static final String[] _fields = new String[] - {"name","bases","body","decorators"}; + private final static String[] fields = new String[] {"name", "bases", + "body", "decorators"}; + public String[] get_fields() { return fields; } + public ClassDef(String name, exprType[] bases, stmtType[] body, exprType[] + decorators) { + this.name = name; + this.bases = bases; + if (bases != null) { + for(int ibases=0;ibases<bases.length;ibases++) { + addChild(bases[ibases]); + } + } + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + this.decorators = decorators; + if (decorators != null) { + for(int idecorators=0;idecorators<decorators.length;idecorators++) { + addChild(decorators[idecorators]); + } + } + } + public ClassDef(Token token, String name, exprType[] bases, stmtType[] body, exprType[] decorators) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/Compare.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Compare.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Compare.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,9 +11,23 @@ public cmpopType[] ops; public exprType[] comparators; - public static final String[] _fields = new String[] - {"left","ops","comparators"}; + private final static String[] fields = new String[] {"left", "ops", + "comparators"}; + public String[] get_fields() { return fields; } + public Compare(exprType left, cmpopType[] ops, exprType[] comparators) { + this.left = left; + addChild(left); + this.ops = ops; + this.comparators = comparators; + if (comparators != null) { + for(int + icomparators=0;icomparators<comparators.length;icomparators++) { + addChild(comparators[icomparators]); + } + } + } + public Compare(Token token, exprType left, cmpopType[] ops, exprType[] comparators) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/Continue.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Continue.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Continue.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -8,7 +8,8 @@ public class Continue extends stmtType { - public static final String[] _fields = new String[] {}; + public Continue() { + } public Continue(Token token) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/Delete.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Delete.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Delete.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,18 @@ public class Delete extends stmtType { public exprType[] targets; - public static final String[] _fields = new String[] {"targets"}; + private final static String[] fields = new String[] {"targets"}; + public String[] get_fields() { return fields; } + public Delete(exprType[] targets) { + this.targets = targets; + if (targets != null) { + for(int itargets=0;itargets<targets.length;itargets++) { + addChild(targets[itargets]); + } + } + } + public Delete(Token token, exprType[] targets) { super(token); this.targets = targets; Modified: trunk/jython/src/org/python/antlr/ast/Dict.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Dict.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Dict.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,24 @@ public exprType[] keys; public exprType[] values; - public static final String[] _fields = new String[] {"keys","values"}; + private final static String[] fields = new String[] {"keys", "values"}; + public String[] get_fields() { return fields; } + public Dict(exprType[] keys, exprType[] values) { + this.keys = keys; + if (keys != null) { + for(int ikeys=0;ikeys<keys.length;ikeys++) { + addChild(keys[ikeys]); + } + } + this.values = values; + if (values != null) { + for(int ivalues=0;ivalues<values.length;ivalues++) { + addChild(values[ivalues]); + } + } + } + public Dict(Token token, exprType[] keys, exprType[] values) { super(token); this.keys = keys; Modified: trunk/jython/src/org/python/antlr/ast/Ellipsis.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Ellipsis.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Ellipsis.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -8,7 +8,8 @@ public class Ellipsis extends sliceType { - public static final String[] _fields = new String[] {}; + public Ellipsis() { + } public Ellipsis(Token token) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/ErrorExpr.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/ErrorExpr.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/ErrorExpr.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -3,8 +3,6 @@ public class ErrorExpr extends exprType { - public static final String[] _fields = new String[] {}; - public ErrorExpr(PythonTree tree) { super(tree); } Modified: trunk/jython/src/org/python/antlr/ast/ErrorMod.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/ErrorMod.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/ErrorMod.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -3,8 +3,6 @@ public class ErrorMod extends modType { - public static final String[] _fields = new String[] {}; - public ErrorMod(PythonTree tree) { super(tree); } Modified: trunk/jython/src/org/python/antlr/ast/ErrorSlice.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/ErrorSlice.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/ErrorSlice.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -7,8 +7,6 @@ public class ErrorSlice extends sliceType { - public static final String[] _fields = new String[] {}; - public ErrorSlice(PythonTree tree) { super(tree); } Modified: trunk/jython/src/org/python/antlr/ast/ErrorStmt.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/ErrorStmt.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/ErrorStmt.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -7,8 +7,6 @@ public class ErrorStmt extends stmtType { - public static final String[] _fields = new String[] {}; - public ErrorStmt(PythonTree tree) { super(tree); } Modified: trunk/jython/src/org/python/antlr/ast/Exec.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Exec.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Exec.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,9 +11,19 @@ public exprType globals; public exprType locals; - public static final String[] _fields = new String[] - {"body","globals","locals"}; + private final static String[] fields = new String[] {"body", "globals", + "locals"}; + public String[] get_fields() { return fields; } + public Exec(exprType body, exprType globals, exprType locals) { + this.body = body; + addChild(body); + this.globals = globals; + addChild(globals); + this.locals = locals; + addChild(locals); + } + public Exec(Token token, exprType body, exprType globals, exprType locals) { super(token); this.body = body; Modified: trunk/jython/src/org/python/antlr/ast/Expr.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Expr.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Expr.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,14 @@ public class Expr extends stmtType { public exprType value; - public static final String[] _fields = new String[] {"value"}; + private final static String[] fields = new String[] {"value"}; + public String[] get_fields() { return fields; } + public Expr(exprType value) { + this.value = value; + addChild(value); + } + public Expr(Token token, exprType value) { super(token); this.value = value; Modified: trunk/jython/src/org/python/antlr/ast/Expression.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Expression.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Expression.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,14 @@ public class Expression extends modType { public exprType body; - public static final String[] _fields = new String[] {"body"}; + private final static String[] fields = new String[] {"body"}; + public String[] get_fields() { return fields; } + public Expression(exprType body) { + this.body = body; + addChild(body); + } + public Expression(Token token, exprType body) { super(token); this.body = body; Modified: trunk/jython/src/org/python/antlr/ast/ExtSlice.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/ExtSlice.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/ExtSlice.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,18 @@ public class ExtSlice extends sliceType { public sliceType[] dims; - public static final String[] _fields = new String[] {"dims"}; + private final static String[] fields = new String[] {"dims"}; + public String[] get_fields() { return fields; } + public ExtSlice(sliceType[] dims) { + this.dims = dims; + if (dims != null) { + for(int idims=0;idims<dims.length;idims++) { + addChild(dims[idims]); + } + } + } + public ExtSlice(Token token, sliceType[] dims) { super(token); this.dims = dims; Modified: trunk/jython/src/org/python/antlr/ast/For.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/For.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/For.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -12,9 +12,30 @@ public stmtType[] body; public stmtType[] orelse; - public static final String[] _fields = new String[] - {"target","iter","body","orelse"}; + private final static String[] fields = new String[] {"target", "iter", + "body", "orelse"}; + public String[] get_fields() { return fields; } + public For(exprType target, exprType iter, stmtType[] body, stmtType[] + orelse) { + this.target = target; + addChild(target); + this.iter = iter; + addChild(iter); + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + this.orelse = orelse; + if (orelse != null) { + for(int iorelse=0;iorelse<orelse.length;iorelse++) { + addChild(orelse[iorelse]); + } + } + } + public For(Token token, exprType target, exprType iter, stmtType[] body, stmtType[] orelse) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/FunctionDef.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/FunctionDef.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/FunctionDef.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -12,9 +12,28 @@ public stmtType[] body; public exprType[] decorators; - public static final String[] _fields = new String[] - {"name","args","body","decorators"}; + private final static String[] fields = new String[] {"name", "args", + "body", "decorators"}; + public String[] get_fields() { return fields; } + public FunctionDef(String name, argumentsType args, stmtType[] body, + exprType[] decorators) { + this.name = name; + this.args = args; + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + this.decorators = decorators; + if (decorators != null) { + for(int idecorators=0;idecorators<decorators.length;idecorators++) { + addChild(decorators[idecorators]); + } + } + } + public FunctionDef(Token token, String name, argumentsType args, stmtType[] body, exprType[] decorators) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/GeneratorExp.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/GeneratorExp.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/GeneratorExp.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,20 @@ public exprType elt; public comprehensionType[] generators; - public static final String[] _fields = new String[] {"elt","generators"}; + private final static String[] fields = new String[] {"elt", "generators"}; + public String[] get_fields() { return fields; } + public GeneratorExp(exprType elt, comprehensionType[] generators) { + this.elt = elt; + addChild(elt); + this.generators = generators; + if (generators != null) { + for(int igenerators=0;igenerators<generators.length;igenerators++) { + addChild(generators[igenerators]); + } + } + } + public GeneratorExp(Token token, exprType elt, comprehensionType[] generators) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/Global.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Global.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Global.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,13 @@ public class Global extends stmtType { public String[] names; - public static final String[] _fields = new String[] {"names"}; + private final static String[] fields = new String[] {"names"}; + public String[] get_fields() { return fields; } + public Global(String[] names) { + this.names = names; + } + public Global(Token token, String[] names) { super(token); this.names = names; Modified: trunk/jython/src/org/python/antlr/ast/If.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/If.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/If.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,9 +11,27 @@ public stmtType[] body; public stmtType[] orelse; - public static final String[] _fields = new String[] - {"test","body","orelse"}; + private final static String[] fields = new String[] {"test", "body", + "orelse"}; + public String[] get_fields() { return fields; } + public If(exprType test, stmtType[] body, stmtType[] orelse) { + this.test = test; + addChild(test); + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + this.orelse = orelse; + if (orelse != null) { + for(int iorelse=0;iorelse<orelse.length;iorelse++) { + addChild(orelse[iorelse]); + } + } + } + public If(Token token, exprType test, stmtType[] body, stmtType[] orelse) { super(token); this.test = test; Modified: trunk/jython/src/org/python/antlr/ast/IfExp.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/IfExp.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/IfExp.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,9 +11,19 @@ public exprType body; public exprType orelse; - public static final String[] _fields = new String[] - {"test","body","orelse"}; + private final static String[] fields = new String[] {"test", "body", + "orelse"}; + public String[] get_fields() { return fields; } + public IfExp(exprType test, exprType body, exprType orelse) { + this.test = test; + addChild(test); + this.body = body; + addChild(body); + this.orelse = orelse; + addChild(orelse); + } + public IfExp(Token token, exprType test, exprType body, exprType orelse) { super(token); this.test = test; Modified: trunk/jython/src/org/python/antlr/ast/Import.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Import.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Import.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,18 @@ public class Import extends stmtType { public aliasType[] names; - public static final String[] _fields = new String[] {"names"}; + private final static String[] fields = new String[] {"names"}; + public String[] get_fields() { return fields; } + public Import(aliasType[] names) { + this.names = names; + if (names != null) { + for(int inames=0;inames<names.length;inames++) { + addChild(names[inames]); + } + } + } + public Import(Token token, aliasType[] names) { super(token); this.names = names; Modified: trunk/jython/src/org/python/antlr/ast/ImportFrom.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/ImportFrom.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/ImportFrom.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,9 +11,21 @@ public aliasType[] names; public int level; - public static final String[] _fields = new String[] - {"module","names","level"}; + private final static String[] fields = new String[] {"module", "names", + "level"}; + public String[] get_fields() { return fields; } + public ImportFrom(String module, aliasType[] names, int level) { + this.module = module; + this.names = names; + if (names != null) { + for(int inames=0;inames<names.length;inames++) { + addChild(names[inames]); + } + } + this.level = level; + } + public ImportFrom(Token token, String module, aliasType[] names, int level) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/Index.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Index.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Index.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,14 @@ public class Index extends sliceType { public exprType value; - public static final String[] _fields = new String[] {"value"}; + private final static String[] fields = new String[] {"value"}; + public String[] get_fields() { return fields; } + public Index(exprType value) { + this.value = value; + addChild(value); + } + public Index(Token token, exprType value) { super(token); this.value = value; Modified: trunk/jython/src/org/python/antlr/ast/Interactive.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Interactive.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Interactive.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,18 @@ public class Interactive extends modType { public stmtType[] body; - public static final String[] _fields = new String[] {"body"}; + private final static String[] fields = new String[] {"body"}; + public String[] get_fields() { return fields; } + public Interactive(stmtType[] body) { + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + } + public Interactive(Token token, stmtType[] body) { super(token); this.body = body; Modified: trunk/jython/src/org/python/antlr/ast/Lambda.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Lambda.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Lambda.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,15 @@ public argumentsType args; public exprType body; - public static final String[] _fields = new String[] {"args","body"}; + private final static String[] fields = new String[] {"args", "body"}; + public String[] get_fields() { return fields; } + public Lambda(argumentsType args, exprType body) { + this.args = args; + this.body = body; + addChild(body); + } + public Lambda(Token token, argumentsType args, exprType body) { super(token); this.args = args; Modified: trunk/jython/src/org/python/antlr/ast/List.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/List.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/List.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,19 @@ public exprType[] elts; public expr_contextType ctx; - public static final String[] _fields = new String[] {"elts","ctx"}; + private final static String[] fields = new String[] {"elts", "ctx"}; + public String[] get_fields() { return fields; } + public List(exprType[] elts, expr_contextType ctx) { + this.elts = elts; + if (elts != null) { + for(int ielts=0;ielts<elts.length;ielts++) { + addChild(elts[ielts]); + } + } + this.ctx = ctx; + } + public List(Token token, exprType[] elts, expr_contextType ctx) { super(token); this.elts = elts; Modified: trunk/jython/src/org/python/antlr/ast/ListComp.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/ListComp.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/ListComp.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,20 @@ public exprType elt; public comprehensionType[] generators; - public static final String[] _fields = new String[] {"elt","generators"}; + private final static String[] fields = new String[] {"elt", "generators"}; + public String[] get_fields() { return fields; } + public ListComp(exprType elt, comprehensionType[] generators) { + this.elt = elt; + addChild(elt); + this.generators = generators; + if (generators != null) { + for(int igenerators=0;igenerators<generators.length;igenerators++) { + addChild(generators[igenerators]); + } + } + } + public ListComp(Token token, exprType elt, comprehensionType[] generators) { super(token); this.elt = elt; Modified: trunk/jython/src/org/python/antlr/ast/Module.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Module.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Module.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,18 @@ public class Module extends modType { public stmtType[] body; - public static final String[] _fields = new String[] {"body"}; + private final static String[] fields = new String[] {"body"}; + public String[] get_fields() { return fields; } + public Module(stmtType[] body) { + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + } + public Module(Token token, stmtType[] body) { super(token); this.body = body; Modified: trunk/jython/src/org/python/antlr/ast/Name.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Name.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Name.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,14 @@ public String id; public expr_contextType ctx; - public static final String[] _fields = new String[] {"id","ctx"}; + private final static String[] fields = new String[] {"id", "ctx"}; + public String[] get_fields() { return fields; } + public Name(String id, expr_contextType ctx) { + this.id = id; + this.ctx = ctx; + } + public Name(Token token, String id, expr_contextType ctx) { super(token); this.id = id; Modified: trunk/jython/src/org/python/antlr/ast/Num.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Num.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Num.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,13 @@ public class Num extends exprType { public Object n; - public static final String[] _fields = new String[] {"n"}; + private final static String[] fields = new String[] {"n"}; + public String[] get_fields() { return fields; } + public Num(Object n) { + this.n = n; + } + public Num(Token token, Object n) { super(token); this.n = n; Modified: trunk/jython/src/org/python/antlr/ast/Pass.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Pass.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Pass.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -8,7 +8,8 @@ public class Pass extends stmtType { - public static final String[] _fields = new String[] {}; + public Pass() { + } public Pass(Token token) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/Print.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Print.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Print.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,8 +11,22 @@ public exprType[] values; public boolean nl; - public static final String[] _fields = new String[] {"dest","values","nl"}; + private final static String[] fields = new String[] {"dest", "values", + "nl"}; + public String[] get_fields() { return fields; } + public Print(exprType dest, exprType[] values, boolean nl) { + this.dest = dest; + addChild(dest); + this.values = values; + if (values != null) { + for(int ivalues=0;ivalues<values.length;ivalues++) { + addChild(values[ivalues]); + } + } + this.nl = nl; + } + public Print(Token token, exprType dest, exprType[] values, boolean nl) { super(token); this.dest = dest; Modified: trunk/jython/src/org/python/antlr/ast/Raise.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Raise.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Raise.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,8 +11,19 @@ public exprType inst; public exprType tback; - public static final String[] _fields = new String[] {"type","inst","tback"}; + private final static String[] fields = new String[] {"type", "inst", + "tback"}; + public String[] get_fields() { return fields; } + public Raise(exprType type, exprType inst, exprType tback) { + this.type = type; + addChild(type); + this.inst = inst; + addChild(inst); + this.tback = tback; + addChild(tback); + } + public Raise(Token token, exprType type, exprType inst, exprType tback) { super(token); this.type = type; Modified: trunk/jython/src/org/python/antlr/ast/Repr.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Repr.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Repr.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,14 @@ public class Repr extends exprType { public exprType value; - public static final String[] _fields = new String[] {"value"}; + private final static String[] fields = new String[] {"value"}; + public String[] get_fields() { return fields; } + public Repr(exprType value) { + this.value = value; + addChild(value); + } + public Repr(Token token, exprType value) { super(token); this.value = value; Modified: trunk/jython/src/org/python/antlr/ast/Return.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Return.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Return.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,14 @@ public class Return extends stmtType { public exprType value; - public static final String[] _fields = new String[] {"value"}; + private final static String[] fields = new String[] {"value"}; + public String[] get_fields() { return fields; } + public Return(exprType value) { + this.value = value; + addChild(value); + } + public Return(Token token, exprType value) { super(token); this.value = value; Modified: trunk/jython/src/org/python/antlr/ast/Slice.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Slice.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Slice.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,9 +11,19 @@ public exprType upper; public exprType step; - public static final String[] _fields = new String[] - {"lower","upper","step"}; + private final static String[] fields = new String[] {"lower", "upper", + "step"}; + public String[] get_fields() { return fields; } + public Slice(exprType lower, exprType upper, exprType step) { + this.lower = lower; + addChild(lower); + this.upper = upper; + addChild(upper); + this.step = step; + addChild(step); + } + public Slice(Token token, exprType lower, exprType upper, exprType step) { super(token); this.lower = lower; Modified: trunk/jython/src/org/python/antlr/ast/Str.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Str.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Str.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,13 @@ public class Str extends exprType { public Object s; - public static final String[] _fields = new String[] {"s"}; + private final static String[] fields = new String[] {"s"}; + public String[] get_fields() { return fields; } + public Str(Object s) { + this.s = s; + } + public Str(Token token, Object s) { super(token); this.s = s; Modified: trunk/jython/src/org/python/antlr/ast/Subscript.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Subscript.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Subscript.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,8 +11,17 @@ public sliceType slice; public expr_contextType ctx; - public static final String[] _fields = new String[] {"value","slice","ctx"}; + private final static String[] fields = new String[] {"value", "slice", + "ctx"}; + public String[] get_fields() { return fields; } + public Subscript(exprType value, sliceType slice, expr_contextType ctx) { + this.value = value; + addChild(value); + this.slice = slice; + this.ctx = ctx; + } + public Subscript(Token token, exprType value, sliceType slice, expr_contextType ctx) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/Suite.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Suite.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Suite.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -9,8 +9,18 @@ public class Suite extends modType { public stmtType[] body; - public static final String[] _fields = new String[] {"body"}; + private final static String[] fields = new String[] {"body"}; + public String[] get_fields() { return fields; } + public Suite(stmtType[] body) { + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + } + public Suite(Token token, stmtType[] body) { super(token); this.body = body; Modified: trunk/jython/src/org/python/antlr/ast/TryExcept.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/TryExcept.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/TryExcept.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,9 +11,32 @@ public excepthandlerType[] handlers; public stmtType[] orelse; - public static final String[] _fields = new String[] - {"body","handlers","orelse"}; + private final static String[] fields = new String[] {"body", "handlers", + "orelse"}; + public String[] get_fields() { return fields; } + public TryExcept(stmtType[] body, excepthandlerType[] handlers, stmtType[] + orelse) { + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + this.handlers = handlers; + if (handlers != null) { + for(int ihandlers=0;ihandlers<handlers.length;ihandlers++) { + addChild(handlers[ihandlers]); + } + } + this.orelse = orelse; + if (orelse != null) { + for(int iorelse=0;iorelse<orelse.length;iorelse++) { + addChild(orelse[iorelse]); + } + } + } + public TryExcept(Token token, stmtType[] body, excepthandlerType[] handlers, stmtType[] orelse) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/TryFinally.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/TryFinally.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/TryFinally.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,24 @@ public stmtType[] body; public stmtType[] finalbody; - public static final String[] _fields = new String[] {"body","finalbody"}; + private final static String[] fields = new String[] {"body", "finalbody"}; + public String[] get_fields() { return fields; } + public TryFinally(stmtType[] body, stmtType[] finalbody) { + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + this.finalbody = finalbody; + if (finalbody != null) { + for(int ifinalbody=0;ifinalbody<finalbody.length;ifinalbody++) { + addChild(finalbody[ifinalbody]); + } + } + } + public TryFinally(Token token, stmtType[] body, stmtType[] finalbody) { super(token); this.body = body; Modified: trunk/jython/src/org/python/antlr/ast/Tuple.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/Tuple.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/Tuple.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,19 @@ public exprType[] elts; public expr_contextType ctx; - public static final String[] _fields = new String[] {"elts","ctx"}; + private final static String[] fields = new String[] {"elts", "ctx"}; + public String[] get_fields() { return fields; } + public Tuple(exprType[] elts, expr_contextType ctx) { + this.elts = elts; + if (elts != null) { + for(int ielts=0;ielts<elts.length;ielts++) { + addChild(elts[ielts]); + } + } + this.ctx = ctx; + } + public Tuple(Token token, exprType[] elts, expr_contextType ctx) { super(token); this.elts = elts; Modified: trunk/jython/src/org/python/antlr/ast/UnaryOp.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/UnaryOp.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/UnaryOp.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -10,8 +10,15 @@ public unaryopType op; public exprType operand; - public static final String[] _fields = new String[] {"op","operand"}; + private final static String[] fields = new String[] {"op", "operand"}; + public String[] get_fields() { return fields; } + public UnaryOp(unaryopType op, exprType operand) { + this.op = op; + this.operand = operand; + addChild(operand); + } + public UnaryOp(Token token, unaryopType op, exprType operand) { super(token); this.op = op; Modified: trunk/jython/src/org/python/antlr/ast/While.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/While.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/While.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,9 +11,27 @@ public stmtType[] body; public stmtType[] orelse; - public static final String[] _fields = new String[] - {"test","body","orelse"}; + private final static String[] fields = new String[] {"test", "body", + "orelse"}; + public String[] get_fields() { return fields; } + public While(exprType test, stmtType[] body, stmtType[] orelse) { + this.test = test; + addChild(test); + this.body = body; + if (body != null) { + for(int ibody=0;ibody<body.length;ibody++) { + addChild(body[ibody]); + } + } + this.orelse = orelse; + if (orelse != null) { + for(int iorelse=0;iorelse<orelse.length;iorelse++) { + addChild(orelse[iorelse]); + } + } + } + public While(Token token, exprType test, stmtType[] body, stmtType[] orelse) { super(token); Modified: trunk/jython/src/org/python/antlr/ast/With.java =================================================================== --- trunk/jython/src/org/python/antlr/ast/With.java 2008-11-10 03:31:53 UTC (rev 5564) +++ trunk/jython/src/org/python/antlr/ast/With.java 2008-11-10 03:36:31 UTC (rev 5565) @@ -11,9 +11,25 @@ public exprType optional_vars; public stmtType[] body; - public static final String[] _fields = new String[] - {"context_expr","optional_vars","body"}; + private final static String[] fields = new String[] {"context_expr", + "optional_vars", + "body"}; + public String[] get_fields() { return fields; } + public With(exprType context_expr, exprType optional_vars, stmtType[] body) + ... [truncated message content] |