class Enum(Type):
- __vid = 0
-
def __init__(self, name, values):
Type.__init__(self, name)
- self.vid = Enum.__vid
- Enum.__vid += len(values)
self.values = list(values)
def visit(self, visitor, *args, **kwargs):
self.args = []
index = 0
for arg in args:
- if isinstance(arg, tuple):
- arg_type, arg_name = arg
+ if not isinstance(arg, Arg):
+ if isinstance(arg, tuple):
+ arg_type, arg_name = arg
+ else:
+ arg_type = arg
+ arg_name = "arg%u" % index
arg = Arg(arg_type, arg_name)
arg.index = index
index += 1