summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/compiler/ast.py7
-rw-r--r--Lib/compiler/transformer.py10
-rw-r--r--Tools/compiler/compiler/ast.py7
-rw-r--r--Tools/compiler/compiler/transformer.py10
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 = []