From: <fwi...@us...> - 2008-11-20 22:22:35
|
Revision: 5594 http://jython.svn.sourceforge.net/jython/?rev=5594&view=rev Author: fwierzbicki Date: 2008-11-20 22:22:29 +0000 (Thu, 20 Nov 2008) Log Message: ----------- Experimenting with a class I'm calling "ListWrapper" for the moment. The idea is to expose something like a Python list for ast writing from Python code without actually using PyList. I don't want to use PyList because everything would need to be PyObject -- which I am trying to avoid in the ast for now. Anyway, like I said this is experimental. Modified Paths: -------------- branches/astwrite/Lib/test/test_ast.py branches/astwrite/ast/asdl_antlr.py branches/astwrite/src/org/python/antlr/ast/Assert.java branches/astwrite/src/org/python/antlr/ast/Assign.java branches/astwrite/src/org/python/antlr/ast/Attribute.java branches/astwrite/src/org/python/antlr/ast/AugAssign.java branches/astwrite/src/org/python/antlr/ast/BinOp.java branches/astwrite/src/org/python/antlr/ast/BoolOp.java branches/astwrite/src/org/python/antlr/ast/Break.java branches/astwrite/src/org/python/antlr/ast/Call.java branches/astwrite/src/org/python/antlr/ast/ClassDef.java branches/astwrite/src/org/python/antlr/ast/Compare.java branches/astwrite/src/org/python/antlr/ast/Continue.java branches/astwrite/src/org/python/antlr/ast/Delete.java branches/astwrite/src/org/python/antlr/ast/Dict.java branches/astwrite/src/org/python/antlr/ast/Ellipsis.java branches/astwrite/src/org/python/antlr/ast/Exec.java branches/astwrite/src/org/python/antlr/ast/Expr.java branches/astwrite/src/org/python/antlr/ast/Expression.java branches/astwrite/src/org/python/antlr/ast/ExtSlice.java branches/astwrite/src/org/python/antlr/ast/For.java branches/astwrite/src/org/python/antlr/ast/FunctionDef.java branches/astwrite/src/org/python/antlr/ast/GeneratorExp.java branches/astwrite/src/org/python/antlr/ast/Global.java branches/astwrite/src/org/python/antlr/ast/If.java branches/astwrite/src/org/python/antlr/ast/IfExp.java branches/astwrite/src/org/python/antlr/ast/Import.java branches/astwrite/src/org/python/antlr/ast/ImportFrom.java branches/astwrite/src/org/python/antlr/ast/Index.java branches/astwrite/src/org/python/antlr/ast/Interactive.java branches/astwrite/src/org/python/antlr/ast/Lambda.java branches/astwrite/src/org/python/antlr/ast/List.java branches/astwrite/src/org/python/antlr/ast/ListComp.java branches/astwrite/src/org/python/antlr/ast/Module.java branches/astwrite/src/org/python/antlr/ast/Name.java branches/astwrite/src/org/python/antlr/ast/Num.java branches/astwrite/src/org/python/antlr/ast/Pass.java branches/astwrite/src/org/python/antlr/ast/Print.java branches/astwrite/src/org/python/antlr/ast/Raise.java branches/astwrite/src/org/python/antlr/ast/Repr.java branches/astwrite/src/org/python/antlr/ast/Return.java branches/astwrite/src/org/python/antlr/ast/Slice.java branches/astwrite/src/org/python/antlr/ast/Str.java branches/astwrite/src/org/python/antlr/ast/Subscript.java branches/astwrite/src/org/python/antlr/ast/Suite.java branches/astwrite/src/org/python/antlr/ast/TryExcept.java branches/astwrite/src/org/python/antlr/ast/TryFinally.java branches/astwrite/src/org/python/antlr/ast/Tuple.java branches/astwrite/src/org/python/antlr/ast/UnaryOp.java branches/astwrite/src/org/python/antlr/ast/VisitorBase.java branches/astwrite/src/org/python/antlr/ast/While.java branches/astwrite/src/org/python/antlr/ast/With.java branches/astwrite/src/org/python/antlr/ast/Yield.java branches/astwrite/src/org/python/antlr/ast/aliasType.java branches/astwrite/src/org/python/antlr/ast/argumentsType.java branches/astwrite/src/org/python/antlr/ast/comprehensionType.java branches/astwrite/src/org/python/antlr/ast/excepthandlerType.java branches/astwrite/src/org/python/antlr/ast/exprType.java branches/astwrite/src/org/python/antlr/ast/keywordType.java branches/astwrite/src/org/python/antlr/ast/modType.java branches/astwrite/src/org/python/antlr/ast/sliceType.java branches/astwrite/src/org/python/antlr/ast/stmtType.java Added Paths: ----------- branches/astwrite/src/org/python/antlr/ListWrapper.java Property Changed: ---------------- branches/astwrite/src/org/python/antlr/ branches/astwrite/src/org/python/antlr/ast/ Modified: branches/astwrite/Lib/test/test_ast.py =================================================================== --- branches/astwrite/Lib/test/test_ast.py 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/Lib/test/test_ast.py 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,5 +1,5 @@ -#Taken and modified from CPython's release25-maint branch, revision 62446. -import sys,os, itertools +import sys, itertools, unittest +from test import test_support import ast if sys.platform.startswith('java'): @@ -7,7 +7,7 @@ ast_list = java.util.List get_symbol_key = lambda op: op - + def get_class_name(t): result = t.__class__.__name__ if result in ("expr_contextType", @@ -34,15 +34,16 @@ return t elif isinstance(t, ast_list): return [to_tuple(e) for e in t] - result = [get_class_name(t)] + result = [t.__class__.__name__] if hasattr(t, 'lineno') and hasattr(t, 'col_offset'): result.append((t.lineno, t.col_offset)) - if not hasattr(t, '_fields') or t._fields is None: + if t._fields is None: return tuple(result) for f in t._fields: result.append(to_tuple(getattr(t, f))) return tuple(result) + # These tests are compiled through "exec" # There should be atleast one test per statement exec_tests = [ @@ -146,49 +147,179 @@ # TODO: expr_context, slice, boolop, operator, unaryop, cmpop, comprehension # excepthandler, arguments, keywords, alias -if __name__=='__main__' and sys.argv[1:] == ['-g']: - for statements, kind in ((exec_tests, "exec"), (single_tests, "single"), - (eval_tests, "eval")): - print kind+"_results = [" - for s in statements: - print repr(to_tuple(compile(s, "?", kind, 0x400)))+"," - print "]" - print "run_tests()" - raise SystemExit +class AST_Tests(unittest.TestCase): -def test_order(ast_node, parent_pos): - - if (not isinstance(ast_node, ast.AST) - or not hasattr(ast_node, '_fields') - or ast_node._fields == None): + def _assert_order(self, ast_node, parent_pos): + if not isinstance(ast_node, ast.AST) or ast_node._fields is None: return - if isinstance(ast_node, (ast.expr, ast.stmt, ast.excepthandler)): - node_pos = (ast_node.lineno, ast_node.col_offset) - assert node_pos >= parent_pos, (node_pos, parent_pos) - parent_pos = (ast_node.lineno, ast_node.col_offset) - for name in ast_node._fields: - value = getattr(ast_node, name) - if isinstance(value, ast_list): - for child in value: - test_order(child, parent_pos) - elif value != None: - test_order(value, parent_pos) + if isinstance(ast_node, (ast.expr, ast.stmt, ast.excepthandler)): + node_pos = (ast_node.lineno, ast_node.col_offset) + self.assert_(node_pos >= parent_pos) + parent_pos = (ast_node.lineno, ast_node.col_offset) + for name in ast_node._fields: + value = getattr(ast_node, name) + if isinstance(value, ast_list): + for child in value: + self._assert_order(child, parent_pos) + elif value is not None: + self._assert_order(value, parent_pos) -def run_tests(): - for input, output, kind in ((exec_tests, exec_results, "exec"), - (single_tests, single_results, "single"), - (eval_tests, eval_results, "eval")): - for i, o in itertools.izip(input, output): - ast_tree = compile(i, "?", kind, 0x400) - assert to_tuple(ast_tree) == o, "expected %s, got %s" % ( - o, to_tuple(ast_tree)) - test_order(ast_tree, (0, 0)) + def test_snippets(self): + for input, output, kind in ((exec_tests, exec_results, "exec"), + (single_tests, single_results, "single"), + (eval_tests, eval_results, "eval")): + for i, o in itertools.izip(input, output): + ast_tree = compile(i, "?", kind, ast.PyCF_ONLY_AST) + self.assertEquals(to_tuple(ast_tree), o) + self._assert_order(ast_tree, (0, 0)) -# XXX: AugStore added for Jython. Short term it is too hard to emit just "Store" as CPython does. + def test_nodeclasses(self): + x = ast.BinOp(1, 2, 3, lineno=0) + self.assertEquals(x.left, 1) + self.assertEquals(x.op, 2) + self.assertEquals(x.right, 3) + self.assertEquals(x.lineno, 0) + + # node raises exception when not given enough arguments + self.assertRaises(TypeError, ast.BinOp, 1, 2) + + # can set attributes through kwargs too + x = ast.BinOp(left=1, op=2, right=3, lineno=0) + self.assertEquals(x.left, 1) + self.assertEquals(x.op, 2) + self.assertEquals(x.right, 3) + self.assertEquals(x.lineno, 0) + + # this used to fail because Sub._fields was None + x = ast.Sub() + + def test_pickling(self): + import pickle + mods = [pickle] + try: + import cPickle + mods.append(cPickle) + except ImportError: + pass + protocols = [0, 1, 2] + for mod in mods: + for protocol in protocols: + for ast in (compile(i, "?", "exec", 0x400) for i in exec_tests): + ast2 = mod.loads(mod.dumps(ast, protocol)) + self.assertEquals(to_tuple(ast2), to_tuple(ast)) + + +class ASTHelpers_Test(unittest.TestCase): + + def test_parse(self): + a = ast.parse('foo(1 + 1)') + b = compile('foo(1 + 1)', '<unknown>', 'exec', ast.PyCF_ONLY_AST) + self.assertEqual(ast.dump(a), ast.dump(b)) + + def test_dump(self): + node = ast.parse('spam(eggs, "and cheese")') + self.assertEqual(ast.dump(node), + "Module(body=[Expr(value=Call(func=Name(id='spam', ctx=Load()), " + "args=[Name(id='eggs', ctx=Load()), Str(s='and cheese')], " + "keywords=[], starargs=None, kwargs=None))])" + ) + self.assertEqual(ast.dump(node, annotate_fields=False), + "Module([Expr(Call(Name('spam', Load()), [Name('eggs', Load()), " + "Str('and cheese')], [], None, None))])" + ) + self.assertEqual(ast.dump(node, include_attributes=True), + "Module(body=[Expr(value=Call(func=Name(id='spam', ctx=Load(), " + "lineno=1, col_offset=0), args=[Name(id='eggs', ctx=Load(), " + "lineno=1, col_offset=5), Str(s='and cheese', lineno=1, " + "col_offset=11)], keywords=[], starargs=None, kwargs=None, " + "lineno=1, col_offset=0), lineno=1, col_offset=0)])" + ) + + def test_copy_location(self): + src = ast.parse('1 + 1', mode='eval') + src.body.right = ast.copy_location(ast.Num(2), src.body.right) + self.assertEqual(ast.dump(src, include_attributes=True), + 'Expression(body=BinOp(left=Num(n=1, lineno=1, col_offset=0), ' + 'op=Add(), right=Num(n=2, lineno=1, col_offset=4), lineno=1, ' + 'col_offset=0))' + ) + + def test_fix_missing_locations(self): + src = ast.parse('write("spam")') + src.body.append(ast.Expr(ast.Call(ast.Name('spam', ast.Load()), + [ast.Str('eggs')], [], None, None))) + self.assertEqual(src, ast.fix_missing_locations(src)) + self.assertEqual(ast.dump(src, include_attributes=True), + "Module(body=[Expr(value=Call(func=Name(id='write', ctx=Load(), " + "lineno=1, col_offset=0), args=[Str(s='spam', lineno=1, " + "col_offset=6)], keywords=[], starargs=None, kwargs=None, " + "lineno=1, col_offset=0), lineno=1, col_offset=0), " + "Expr(value=Call(func=Name(id='spam', ctx=Load(), lineno=1, " + "col_offset=0), args=[Str(s='eggs', lineno=1, col_offset=0)], " + "keywords=[], starargs=None, kwargs=None, lineno=1, " + "col_offset=0), lineno=1, col_offset=0)])" + ) + + def test_increment_lineno(self): + src = ast.parse('1 + 1', mode='eval') + self.assertEqual(ast.increment_lineno(src, n=3), src) + self.assertEqual(ast.dump(src, include_attributes=True), + 'Expression(body=BinOp(left=Num(n=1, lineno=4, col_offset=0), ' + 'op=Add(), right=Num(n=1, lineno=4, col_offset=4), lineno=4, ' + 'col_offset=0))' + ) + + def test_iter_fields(self): + node = ast.parse('foo()', mode='eval') + d = dict(ast.iter_fields(node.body)) + self.assertEqual(d.pop('func').id, 'foo') + self.assertEqual(d, {'keywords': [], 'kwargs': None, + 'args': [], 'starargs': None}) + + def test_iter_child_nodes(self): + node = ast.parse("spam(23, 42, eggs='leek')", mode='eval') + self.assertEqual(len(list(ast.iter_child_nodes(node.body))), 4) + iterator = ast.iter_child_nodes(node.body) + self.assertEqual(next(iterator).id, 'spam') + self.assertEqual(next(iterator).n, 23) + self.assertEqual(next(iterator).n, 42) + self.assertEqual(ast.dump(next(iterator)), + "keyword(arg='eggs', value=Str(s='leek'))" + ) + + def test_get_docstring(self): + node = ast.parse('def foo():\n """line one\n line two"""') + self.assertEqual(ast.get_docstring(node.body[0]), + 'line one\nline two') + + def test_literal_eval(self): + self.assertEqual(ast.literal_eval('[1, 2, 3]'), [1, 2, 3]) + self.assertEqual(ast.literal_eval('{"foo": 42}'), {"foo": 42}) + self.assertEqual(ast.literal_eval('(True, False, None)'), (True, False, None)) + self.assertRaises(ValueError, ast.literal_eval, 'foo()') + + +def test_main(): + test_support.run_unittest(AST_Tests, ASTHelpers_Test) + +def main(): + if __name__ != '__main__': + return + if sys.argv[1:] == ['-g']: + for statements, kind in ((exec_tests, "exec"), (single_tests, "single"), + (eval_tests, "eval")): + print kind+"_results = [" + for s in statements: + print repr(to_tuple(compile(s, "?", kind, 0x400)))+"," + print "]" + print "main()" + raise SystemExit + test_main() + #### EVERYTHING BELOW IS GENERATED ##### exec_results = [ ('Module', [('FunctionDef', (1, 0), 'f', ('arguments', [], None, None, []), [('Pass', (1, 9))], [])]), -('Module', [('ClassDef', (1, 0), 'C', [], [('Pass', (1, 8))],[])]), +('Module', [('ClassDef', (1, 0), 'C', [], [('Pass', (1, 8))], [])]), ('Module', [('FunctionDef', (1, 0), 'f', ('arguments', [], None, None, []), [('Return', (1, 8), ('Num', (1, 15), 1))], [])]), ('Module', [('Delete', (1, 0), [('Name', (1, 4), 'v', ('Del',))])]), ('Module', [('Assign', (1, 0), [('Name', (1, 0), 'v', ('Store',))], ('Num', (1, 4), 1))]), @@ -198,7 +329,7 @@ ('Module', [('While', (1, 0), ('Name', (1, 6), 'v', ('Load',)), [('Pass', (1, 8))], [])]), ('Module', [('If', (1, 0), ('Name', (1, 3), 'v', ('Load',)), [('Pass', (1, 5))], [])]), ('Module', [('Raise', (1, 0), ('Name', (1, 6), 'Exception', ('Load',)), ('Str', (1, 17), 'string'), None)]), -('Module', [('TryExcept', (1, 0), [('Pass', (2, 2))], [('excepthandler', (3, 0), ('Name', (3, 7), 'Exception', ('Load',)), None, [('Pass', (4, 2))], 3, 0)], [])]), +('Module', [('TryExcept', (1, 0), [('Pass', (2, 2))], [('ExceptHandler', (3, 0), ('Name', (3, 7), 'Exception', ('Load',)), None, [('Pass', (4, 2))])], [])]), ('Module', [('TryFinally', (1, 0), [('Pass', (2, 2))], [('Pass', (4, 2))])]), ('Module', [('Assert', (1, 0), ('Name', (1, 7), 'v', ('Load',)), None)]), ('Module', [('Import', (1, 0), [('alias', 'sys', None)])]), @@ -233,4 +364,4 @@ ('Expression', ('Tuple', (1, 0), [('Num', (1, 0), 1), ('Num', (1, 2), 2), ('Num', (1, 4), 3)], ('Load',))), ('Expression', ('Call', (1, 0), ('Attribute', (1, 0), ('Attribute', (1, 0), ('Attribute', (1, 0), ('Name', (1, 0), 'a', ('Load',)), 'b', ('Load',)), 'c', ('Load',)), 'd', ('Load',)), [('Subscript', (1, 8), ('Attribute', (1, 8), ('Name', (1, 8), 'a', ('Load',)), 'b', ('Load',)), ('Slice', ('Num', (1, 12), 1), ('Num', (1, 14), 2), None), ('Load',))], [], None, None)), ] -run_tests() +main() Modified: branches/astwrite/ast/asdl_antlr.py =================================================================== --- branches/astwrite/ast/asdl_antlr.py 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/ast/asdl_antlr.py 2008-11-20 22:22:29 UTC (rev 5594) @@ -57,6 +57,7 @@ print >> self.file, 'package org.python.antlr.ast;' if refersToPythonTree: print >> self.file, 'import org.python.antlr.PythonTree;' + print >> self.file, 'import org.python.antlr.ListWrapper;' print >> self.file, 'import org.antlr.runtime.CommonToken;' print >> self.file, 'import org.antlr.runtime.Token;' if useDataOutput: @@ -291,6 +292,7 @@ def javaConstructorHelper(self, fields, depth): for f in fields: self.emit("this.%s = %s;" % (f.name, f.name), depth+1) + #self.emit("set%s(%s);" % (str(f.name).capitalize(), f.name), depth+1) fparg = self.fieldDef(f) not_simple = True @@ -399,14 +401,18 @@ self.emit("", 0) def visitField(self, field, depth): - self.emit("private %s;" % self.fieldDef(field), depth) - self.emit("public %s get%s() {" % (self.javaType(field), + self.emit("private %s;" % self.fieldDef(field, True), depth) + self.emit("public %s get%s() {" % (self.javaType(field, True), str(field.name).capitalize()), depth) self.emit("return %s;" % field.name, depth+1) self.emit("}", depth) self.emit("public void set%s(%s) {" % (str(field.name).capitalize(), self.fieldDef(field)), depth) - self.emit("this.%s = %s;" % (field.name, field.name), depth+1) + if field.seq: + self.emit("this.%s = new %s(%s);" % (field.name, + self.javaType(field, True), field.name), depth+1) + else: + self.emit("this.%s = %s;" % (field.name, field.name), depth+1) self.emit("}", depth) self.emit("", 0) @@ -420,16 +426,20 @@ 'PythonTree' : 'PythonTree', # also for antlr type } - def fieldDef(self, field): - jtype = self.javaType(field) + def fieldDef(self, field, wrapper=False): + jtype = self.javaType(field, wrapper) name = field.name return "%s %s" % (jtype, name) - def javaType(self, field): + def javaType(self, field, wrapper=False): jtype = str(field.type) jtype = self.bltinnames.get(jtype, jtype + 'Type') if field.seq: - return "java.util.List<%s>" % jtype + if wrapper: + return "ListWrapper<%s>" % jtype + else: + return "java.util.List<%s>" % jtype + return jtype class VisitorVisitor(EmitVisitor): Property changes on: branches/astwrite/src/org/python/antlr ___________________________________________________________________ Added: svn:ignore + .ListWrapper.java.swp Added: branches/astwrite/src/org/python/antlr/ListWrapper.java =================================================================== --- branches/astwrite/src/org/python/antlr/ListWrapper.java (rev 0) +++ branches/astwrite/src/org/python/antlr/ListWrapper.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -0,0 +1,213 @@ +package org.python.antlr; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; +import org.python.core.PyObject; + +public class ListWrapper<E> implements List<E> { + + private List<E> list; + + public ListWrapper(List<E> list) { + this.list = list; + } + + public boolean containsAll(Collection c) { + return containsAll(c); + } + + public boolean removeAll(Collection c) { + return list.removeAll(c); + } + + public boolean retainAll(Collection c) { + return list.retainAll(c); + } + + public boolean add(E e) { + return list.add(e); + } + + public void add(int index, E e) { + list.add(index, e); + } + + public boolean addAll(Collection c) { + return list.addAll(c); + } + + public boolean addAll(int index, Collection c) { + return list.addAll(index, c); + } + + public void clear() { + list.clear(); + } + + public boolean contains(Object elem) { + return list.contains(elem); + } + + public E get(int index) { + return list.get(index); + } + + public int indexOf(Object elem) { + return list.indexOf(elem); + } + + public boolean isEmpty() { + return list.isEmpty(); + } + + public int lastIndexOf(Object elem) { + return list.lastIndexOf(elem); + } + + public E remove(int index) { + return list.remove(index); + } + + public boolean remove(Object o) { + return list.remove(o); + } + + public E set(int index, E element) { + return list.set(index, element); + } + + public int size() { + return list.size(); + } + + public Object[] toArray() { + return list.toArray(); + } + + public Object[] toArray(Object[] a) { + return list.toArray(a); + } + + public Iterator iterator() { + return list.iterator(); + } + + public ListIterator listIterator() { + return list.listIterator(); + } + + public ListIterator listIterator(int index) { + return list.listIterator(index); + } + + public List subList(int fromIndex, int toIndex) { + return list.subList(fromIndex, toIndex); + } + + public ListWrapper __add__(Object o) { + List newList = new ArrayList(); + newList.addAll(list); + newList.add(o); + return new ListWrapper(newList); + } + + public void __iadd__(PyObject o) { + extend(o); + } + + public int __len__() { + return list.size(); + } + + public boolean __contains__(Object o) { + return list.contains(o); + } + + public PyObject __imul__(PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public PyObject __iter__() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public PyObject __mul__(PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public PyObject __radd__(PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public PyObject __rmul__(PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void append(PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public int count(PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + protected void del(int i) { + throw new UnsupportedOperationException("Not supported yet."); + } + + protected void delRange(int start, int stop, int step) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void extend(PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public int index(PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public int index(PyObject o, int start) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public int index(PyObject o, int start, int stop) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void insert(int index, PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public PyObject pop() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public PyObject pop(int n) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void remove(PyObject o) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void reverse() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void sort(PyObject compare) { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void sort() { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void sort(PyObject cmp, PyObject key, PyObject reverse) { + throw new UnsupportedOperationException("Not supported yet."); + } + +} Property changes on: branches/astwrite/src/org/python/antlr/ast ___________________________________________________________________ Added: svn:ignore + .comprehensionType.java.swp Modified: branches/astwrite/src/org/python/antlr/ast/Assert.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Assert.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Assert.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Assign.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Assign.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Assign.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,18 +1,19 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; import java.io.IOException; public class Assign extends stmtType { - private java.util.List<exprType> targets; - public java.util.List<exprType> getTargets() { + private ListWrapper<exprType> targets; + public ListWrapper<exprType> getTargets() { return targets; } public void setTargets(java.util.List<exprType> targets) { - this.targets = targets; + this.targets = new ListWrapper<exprType>(targets); } private exprType value; Modified: branches/astwrite/src/org/python/antlr/ast/Attribute.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Attribute.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Attribute.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/AugAssign.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/AugAssign.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/AugAssign.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/BinOp.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/BinOp.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/BinOp.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/BoolOp.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/BoolOp.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/BoolOp.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -15,12 +16,12 @@ this.op = op; } - private java.util.List<exprType> values; - public java.util.List<exprType> getValues() { + private ListWrapper<exprType> values; + public ListWrapper<exprType> getValues() { return values; } public void setValues(java.util.List<exprType> values) { - this.values = values; + this.values = new ListWrapper<exprType>(values); } Modified: branches/astwrite/src/org/python/antlr/ast/Break.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Break.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Break.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Call.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Call.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Call.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -15,20 +16,20 @@ this.func = func; } - private java.util.List<exprType> args; - public java.util.List<exprType> getArgs() { + private ListWrapper<exprType> args; + public ListWrapper<exprType> getArgs() { return args; } public void setArgs(java.util.List<exprType> args) { - this.args = args; + this.args = new ListWrapper<exprType>(args); } - private java.util.List<keywordType> keywords; - public java.util.List<keywordType> getKeywords() { + private ListWrapper<keywordType> keywords; + public ListWrapper<keywordType> getKeywords() { return keywords; } public void setKeywords(java.util.List<keywordType> keywords) { - this.keywords = keywords; + this.keywords = new ListWrapper<keywordType>(keywords); } private exprType starargs; Modified: branches/astwrite/src/org/python/antlr/ast/ClassDef.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/ClassDef.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/ClassDef.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -15,28 +16,28 @@ this.name = name; } - private java.util.List<exprType> bases; - public java.util.List<exprType> getBases() { + private ListWrapper<exprType> bases; + public ListWrapper<exprType> getBases() { return bases; } public void setBases(java.util.List<exprType> bases) { - this.bases = bases; + this.bases = new ListWrapper<exprType>(bases); } - private java.util.List<stmtType> body; - public java.util.List<stmtType> getBody() { + private ListWrapper<stmtType> body; + public ListWrapper<stmtType> getBody() { return body; } public void setBody(java.util.List<stmtType> body) { - this.body = body; + this.body = new ListWrapper<stmtType>(body); } - private java.util.List<exprType> decorators; - public java.util.List<exprType> getDecorators() { + private ListWrapper<exprType> decorators; + public ListWrapper<exprType> getDecorators() { return decorators; } public void setDecorators(java.util.List<exprType> decorators) { - this.decorators = decorators; + this.decorators = new ListWrapper<exprType>(decorators); } Modified: branches/astwrite/src/org/python/antlr/ast/Compare.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Compare.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Compare.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -15,20 +16,20 @@ this.left = left; } - private java.util.List<cmpopType> ops; - public java.util.List<cmpopType> getOps() { + private ListWrapper<cmpopType> ops; + public ListWrapper<cmpopType> getOps() { return ops; } public void setOps(java.util.List<cmpopType> ops) { - this.ops = ops; + this.ops = new ListWrapper<cmpopType>(ops); } - private java.util.List<exprType> comparators; - public java.util.List<exprType> getComparators() { + private ListWrapper<exprType> comparators; + public ListWrapper<exprType> getComparators() { return comparators; } public void setComparators(java.util.List<exprType> comparators) { - this.comparators = comparators; + this.comparators = new ListWrapper<exprType>(comparators); } Modified: branches/astwrite/src/org/python/antlr/ast/Continue.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Continue.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Continue.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Delete.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Delete.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Delete.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,18 +1,19 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; import java.io.IOException; public class Delete extends stmtType { - private java.util.List<exprType> targets; - public java.util.List<exprType> getTargets() { + private ListWrapper<exprType> targets; + public ListWrapper<exprType> getTargets() { return targets; } public void setTargets(java.util.List<exprType> targets) { - this.targets = targets; + this.targets = new ListWrapper<exprType>(targets); } Modified: branches/astwrite/src/org/python/antlr/ast/Dict.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Dict.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Dict.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,26 +1,27 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; import java.io.IOException; public class Dict extends exprType { - private java.util.List<exprType> keys; - public java.util.List<exprType> getKeys() { + private ListWrapper<exprType> keys; + public ListWrapper<exprType> getKeys() { return keys; } public void setKeys(java.util.List<exprType> keys) { - this.keys = keys; + this.keys = new ListWrapper<exprType>(keys); } - private java.util.List<exprType> values; - public java.util.List<exprType> getValues() { + private ListWrapper<exprType> values; + public ListWrapper<exprType> getValues() { return values; } public void setValues(java.util.List<exprType> values) { - this.values = values; + this.values = new ListWrapper<exprType>(values); } Modified: branches/astwrite/src/org/python/antlr/ast/Ellipsis.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Ellipsis.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Ellipsis.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Exec.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Exec.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Exec.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Expr.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Expr.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Expr.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Expression.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Expression.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Expression.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/ExtSlice.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/ExtSlice.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/ExtSlice.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,18 +1,19 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; import java.io.IOException; public class ExtSlice extends sliceType { - private java.util.List<sliceType> dims; - public java.util.List<sliceType> getDims() { + private ListWrapper<sliceType> dims; + public ListWrapper<sliceType> getDims() { return dims; } public void setDims(java.util.List<sliceType> dims) { - this.dims = dims; + this.dims = new ListWrapper<sliceType>(dims); } Modified: branches/astwrite/src/org/python/antlr/ast/For.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/For.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/For.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -23,20 +24,20 @@ this.iter = iter; } - private java.util.List<stmtType> body; - public java.util.List<stmtType> getBody() { + private ListWrapper<stmtType> body; + public ListWrapper<stmtType> getBody() { return body; } public void setBody(java.util.List<stmtType> body) { - this.body = body; + this.body = new ListWrapper<stmtType>(body); } - private java.util.List<stmtType> orelse; - public java.util.List<stmtType> getOrelse() { + private ListWrapper<stmtType> orelse; + public ListWrapper<stmtType> getOrelse() { return orelse; } public void setOrelse(java.util.List<stmtType> orelse) { - this.orelse = orelse; + this.orelse = new ListWrapper<stmtType>(orelse); } Modified: branches/astwrite/src/org/python/antlr/ast/FunctionDef.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/FunctionDef.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/FunctionDef.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -23,20 +24,20 @@ this.args = args; } - private java.util.List<stmtType> body; - public java.util.List<stmtType> getBody() { + private ListWrapper<stmtType> body; + public ListWrapper<stmtType> getBody() { return body; } public void setBody(java.util.List<stmtType> body) { - this.body = body; + this.body = new ListWrapper<stmtType>(body); } - private java.util.List<exprType> decorators; - public java.util.List<exprType> getDecorators() { + private ListWrapper<exprType> decorators; + public ListWrapper<exprType> getDecorators() { return decorators; } public void setDecorators(java.util.List<exprType> decorators) { - this.decorators = decorators; + this.decorators = new ListWrapper<exprType>(decorators); } Modified: branches/astwrite/src/org/python/antlr/ast/GeneratorExp.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/GeneratorExp.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/GeneratorExp.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -15,12 +16,12 @@ this.elt = elt; } - private java.util.List<comprehensionType> generators; - public java.util.List<comprehensionType> getGenerators() { + private ListWrapper<comprehensionType> generators; + public ListWrapper<comprehensionType> getGenerators() { return generators; } public void setGenerators(java.util.List<comprehensionType> generators) { - this.generators = generators; + this.generators = new ListWrapper<comprehensionType>(generators); } Modified: branches/astwrite/src/org/python/antlr/ast/Global.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Global.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Global.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,18 +1,19 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; import java.io.IOException; public class Global extends stmtType { - private java.util.List<String> names; - public java.util.List<String> getNames() { + private ListWrapper<String> names; + public ListWrapper<String> getNames() { return names; } public void setNames(java.util.List<String> names) { - this.names = names; + this.names = new ListWrapper<String>(names); } Modified: branches/astwrite/src/org/python/antlr/ast/If.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/If.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/If.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -15,20 +16,20 @@ this.test = test; } - private java.util.List<stmtType> body; - public java.util.List<stmtType> getBody() { + private ListWrapper<stmtType> body; + public ListWrapper<stmtType> getBody() { return body; } public void setBody(java.util.List<stmtType> body) { - this.body = body; + this.body = new ListWrapper<stmtType>(body); } - private java.util.List<stmtType> orelse; - public java.util.List<stmtType> getOrelse() { + private ListWrapper<stmtType> orelse; + public ListWrapper<stmtType> getOrelse() { return orelse; } public void setOrelse(java.util.List<stmtType> orelse) { - this.orelse = orelse; + this.orelse = new ListWrapper<stmtType>(orelse); } Modified: branches/astwrite/src/org/python/antlr/ast/IfExp.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/IfExp.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/IfExp.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Import.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Import.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Import.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,18 +1,19 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; import java.io.IOException; public class Import extends stmtType { - private java.util.List<aliasType> names; - public java.util.List<aliasType> getNames() { + private ListWrapper<aliasType> names; + public ListWrapper<aliasType> getNames() { return names; } public void setNames(java.util.List<aliasType> names) { - this.names = names; + this.names = new ListWrapper<aliasType>(names); } Modified: branches/astwrite/src/org/python/antlr/ast/ImportFrom.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/ImportFrom.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/ImportFrom.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -15,12 +16,12 @@ this.module = module; } - private java.util.List<aliasType> names; - public java.util.List<aliasType> getNames() { + private ListWrapper<aliasType> names; + public ListWrapper<aliasType> getNames() { return names; } public void setNames(java.util.List<aliasType> names) { - this.names = names; + this.names = new ListWrapper<aliasType>(names); } private int level; Modified: branches/astwrite/src/org/python/antlr/ast/Index.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Index.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Index.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Interactive.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Interactive.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Interactive.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,18 +1,19 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; import java.io.IOException; public class Interactive extends modType { - private java.util.List<stmtType> body; - public java.util.List<stmtType> getBody() { + private ListWrapper<stmtType> body; + public ListWrapper<stmtType> getBody() { return body; } public void setBody(java.util.List<stmtType> body) { - this.body = body; + this.body = new ListWrapper<stmtType>(body); } Modified: branches/astwrite/src/org/python/antlr/ast/Lambda.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Lambda.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Lambda.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/List.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/List.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/List.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,18 +1,19 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; import java.io.IOException; public class List extends exprType implements Context { - private java.util.List<exprType> elts; - public java.util.List<exprType> getElts() { + private ListWrapper<exprType> elts; + public ListWrapper<exprType> getElts() { return elts; } public void setElts(java.util.List<exprType> elts) { - this.elts = elts; + this.elts = new ListWrapper<exprType>(elts); } private expr_contextType ctx; Modified: branches/astwrite/src/org/python/antlr/ast/ListComp.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/ListComp.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/ListComp.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -15,12 +16,12 @@ this.elt = elt; } - private java.util.List<comprehensionType> generators; - public java.util.List<comprehensionType> getGenerators() { + private ListWrapper<comprehensionType> generators; + public ListWrapper<comprehensionType> getGenerators() { return generators; } public void setGenerators(java.util.List<comprehensionType> generators) { - this.generators = generators; + this.generators = new ListWrapper<comprehensionType>(generators); } Modified: branches/astwrite/src/org/python/antlr/ast/Module.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Module.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Module.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,18 +1,19 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; import java.io.IOException; public class Module extends modType { - private java.util.List<stmtType> body; - public java.util.List<stmtType> getBody() { + private ListWrapper<stmtType> body; + public ListWrapper<stmtType> getBody() { return body; } public void setBody(java.util.List<stmtType> body) { - this.body = body; + this.body = new ListWrapper<stmtType>(body); } Modified: branches/astwrite/src/org/python/antlr/ast/Name.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Name.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Name.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Num.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Num.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Num.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Pass.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Pass.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Pass.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Print.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Print.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Print.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; @@ -15,12 +16,12 @@ this.dest = dest; } - private java.util.List<exprType> values; - public java.util.List<exprType> getValues() { + private ListWrapper<exprType> values; + public ListWrapper<exprType> getValues() { return values; } public void setValues(java.util.List<exprType> values) { - this.values = values; + this.values = new ListWrapper<exprType>(values); } private boolean nl; Modified: branches/astwrite/src/org/python/antlr/ast/Raise.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Raise.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Raise.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Repr.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Repr.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Repr.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Return.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Return.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Return.java 2008-11-20 22:22:29 UTC (rev 5594) @@ -1,6 +1,7 @@ // Autogenerated AST node package org.python.antlr.ast; import org.python.antlr.PythonTree; +import org.python.antlr.ListWrapper; import org.antlr.runtime.CommonToken; import org.antlr.runtime.Token; import java.io.DataOutputStream; Modified: branches/astwrite/src/org/python/antlr/ast/Slice.java =================================================================== --- branches/astwrite/src/org/python/antlr/ast/Slice.java 2008-11-20 18:52:08 UTC (rev 5593) +++ branches/astwrite/src/org/python/antlr/ast/Slice.java 2... [truncated message content] |