diff options
-rw-r--r-- | Lib/compiler/ast.py | 7 | ||||
-rw-r--r-- | Lib/compiler/transformer.py | 10 | ||||
-rw-r--r-- | Tools/compiler/compiler/ast.py | 7 | ||||
-rw-r--r-- | Tools/compiler/compiler/transformer.py | 10 |
4 files changed, 18 insertions, 16 deletions
diff --git a/Lib/compiler/ast.py b/Lib/compiler/ast.py index 9c214d4..1715a7f 100644 --- a/Lib/compiler/ast.py +++ b/Lib/compiler/ast.py @@ -1,4 +1,5 @@ import types +from consts import CO_VARARGS, CO_VARKEYWORDS nodes = {} @@ -85,6 +86,12 @@ class Function(Node): self.code = code self._children = ('function', name, argnames, defaults, flags, doc, code) + self.varargs = self.kwargs = None + if flags & CO_VARARGS: + self.varargs = 1 + if flags & CO_VARKEYWORDS: + self.kwargs = 1 + def __repr__(self): return "Function(%s,%s,%s,%s,%s,%s)" % self._children[1:] diff --git a/Lib/compiler/transformer.py b/Lib/compiler/transformer.py index 9200f7a..42d34dc 100644 --- a/Lib/compiler/transformer.py +++ b/Lib/compiler/transformer.py @@ -99,14 +99,8 @@ import pprint error = 'walker.error' -# code flags -CO_VARARGS = 1 -CO_VARKEYWORDS = 2 - -# operation flags -OP_ASSIGN = 'OP_ASSIGN' -OP_DELETE = 'OP_DELETE' -OP_APPLY = 'OP_APPLY' +from consts import CO_VARARGS, CO_VARKEYWORDS +from consts import OP_ASSIGN, OP_DELETE, OP_APPLY def asList(nodes): l = [] diff --git a/Tools/compiler/compiler/ast.py b/Tools/compiler/compiler/ast.py index 9c214d4..1715a7f 100644 --- a/Tools/compiler/compiler/ast.py +++ b/Tools/compiler/compiler/ast.py @@ -1,4 +1,5 @@ import types +from consts import CO_VARARGS, CO_VARKEYWORDS nodes = {} @@ -85,6 +86,12 @@ class Function(Node): self.code = code self._children = ('function', name, argnames, defaults, flags, doc, code) + self.varargs = self.kwargs = None + if flags & CO_VARARGS: + self.varargs = 1 + if flags & CO_VARKEYWORDS: + self.kwargs = 1 + def __repr__(self): return "Function(%s,%s,%s,%s,%s,%s)" % self._children[1:] diff --git a/Tools/compiler/compiler/transformer.py b/Tools/compiler/compiler/transformer.py index 9200f7a..42d34dc 100644 --- a/Tools/compiler/compiler/transformer.py +++ b/Tools/compiler/compiler/transformer.py @@ -99,14 +99,8 @@ import pprint error = 'walker.error' -# code flags -CO_VARARGS = 1 -CO_VARKEYWORDS = 2 - -# operation flags -OP_ASSIGN = 'OP_ASSIGN' -OP_DELETE = 'OP_DELETE' -OP_APPLY = 'OP_APPLY' +from consts import CO_VARARGS, CO_VARKEYWORDS +from consts import OP_ASSIGN, OP_DELETE, OP_APPLY def asList(nodes): l = [] |