[pypy-svn] r40085 - pypy/dist/pypy/interpreter/astcompiler
afayolle at codespeak.net
afayolle at codespeak.net
Thu Mar 8 18:19:18 CET 2007
Author: afayolle
Date: Thu Mar 8 18:19:16 2007
New Revision: 40085
Modified:
pypy/dist/pypy/interpreter/astcompiler/ast.py
pypy/dist/pypy/interpreter/astcompiler/ast.txt
pypy/dist/pypy/interpreter/astcompiler/astgen.py
Log:
Fix lambda __new__ in ast.txt
Regenerate ast.py, and manually enable __repr__ on ast nodes
Modified: pypy/dist/pypy/interpreter/astcompiler/ast.py
==============================================================================
--- pypy/dist/pypy/interpreter/astcompiler/ast.py (original)
+++ pypy/dist/pypy/interpreter/astcompiler/ast.py Thu Mar 8 18:19:16 2007
@@ -85,7 +85,7 @@
Node.typedef = TypeDef('ASTNode',
__new__ = interp2app(descr_Node_new, unwrap_spec=[ObjSpace, W_Root, int]),
- #__repr__ = interp2app(descr_node_repr, unwrap_spec=['self', ObjSpace] ),
+ __repr__ = interp2app(Node.descr_repr, unwrap_spec=['self', ObjSpace] ),
getChildNodes = interp2app(Node.descr_getChildNodes, unwrap_spec=[ 'self', ObjSpace ] ),
accept = interp2app(descr_node_accept, unwrap_spec=[ ObjSpace, W_Root, W_Root ] ),
mutate = interp2app(descr_node_mutate, unwrap_spec=[ ObjSpace, W_Root, W_Root ] ),
@@ -2538,6 +2538,7 @@
+
def descr_From_accept( space, w_self, w_visitor):
return space.call_method(w_visitor, 'visitFrom', w_self)
@@ -3505,8 +3506,16 @@
code = space.interp_w(Node, w_code, can_be_None=False)
self.code = code
self.lineno = lineno
+ self.varargs = 0
+ self.kwargs = 0
+ if flags & CO_VARARGS:
+ self.varargs = 1
+ if flags & CO_VARKEYWORDS:
+ self.kwargs = 1
return space.wrap(self)
+
+
def descr_Lambda_accept( space, w_self, w_visitor):
return space.call_method(w_visitor, 'visitLambda', w_self)
Modified: pypy/dist/pypy/interpreter/astcompiler/ast.txt
==============================================================================
--- pypy/dist/pypy/interpreter/astcompiler/ast.txt (original)
+++ pypy/dist/pypy/interpreter/astcompiler/ast.txt Thu Mar 8 18:19:16 2007
@@ -289,6 +289,26 @@
self.lineno = lineno
return space.wrap(self)
+
+def descr_Lambda_new(space, w_subtype, w_argnames, w_defaults, w_flags, w_code, lineno=-1):
+ self = space.allocate_instance(Lambda, w_subtype)
+ argnames = [space.interp_w(Node, w_node) for w_node in space.unpackiterable(w_argnames)]
+ self.argnames = argnames
+ defaults = [space.interp_w(Node, w_node) for w_node in space.unpackiterable(w_defaults)]
+ self.defaults = defaults
+ flags = space.int_w(w_flags)
+ self.flags = flags
+ code = space.interp_w(Node, w_code, can_be_None=False)
+ self.code = code
+ self.lineno = lineno
+ self.varargs = 0
+ self.kwargs = 0
+ if flags & CO_VARARGS:
+ self.varargs = 1
+ if flags & CO_VARKEYWORDS:
+ self.kwargs = 1
+ return space.wrap(self)
+
def descr_Function_new(space, w_subtype, w_decorators, w_name, w_argnames, w_defaults, w_flags, w_doc, w_code, lineno=-1):
self = space.allocate_instance(Function, w_subtype)
decorators = space.interp_w(Node, w_decorators, can_be_None=True)
Modified: pypy/dist/pypy/interpreter/astcompiler/astgen.py
==============================================================================
--- pypy/dist/pypy/interpreter/astcompiler/astgen.py (original)
+++ pypy/dist/pypy/interpreter/astcompiler/astgen.py Thu Mar 8 18:19:16 2007
@@ -733,7 +733,7 @@
Node.typedef = TypeDef('ASTNode',
__new__ = interp2app(descr_Node_new, unwrap_spec=[ObjSpace, W_Root, int]),
- #__repr__ = interp2app(descr_node_repr, unwrap_spec=['self', ObjSpace] ),
+ #__repr__ = interp2app(Node.descr_repr, unwrap_spec=['self', ObjSpace] ),
getChildNodes = interp2app(Node.descr_getChildNodes, unwrap_spec=[ 'self', ObjSpace ] ),
accept = interp2app(descr_node_accept, unwrap_spec=[ ObjSpace, W_Root, W_Root ] ),
mutate = interp2app(descr_node_mutate, unwrap_spec=[ ObjSpace, W_Root, W_Root ] ),
More information about the Pypy-commit
mailing list