@@ -45,7 +45,10 @@ def __init__(self, source, filename):
4545 def compile (self , display = 0 ):
4646 tree = parse (self .source )
4747 root , filename = os .path .split (self .filename )
48- gen = ModuleCodeGenerator (filename )
48+ if "nested_scopes" in future .find_futures (tree ):
49+ gen = NestedScopeCodeGenerator (filename )
50+ else :
51+ gen = ModuleCodeGenerator (filename )
4952 walk (tree , gen , 1 )
5053 if display :
5154 import pprint
@@ -646,7 +649,7 @@ def visitAugGetattr(self, node, mode):
646649
647650 def visitAugSlice (self , node , mode ):
648651 if mode == "load" :
649- self .visitlSice (node , 1 )
652+ self .visitSlice (node , 1 )
650653 elif mode == "store" :
651654 slice = 0
652655 if node .lower :
@@ -889,17 +892,18 @@ def __init__(self, filename):
889892 self .graph = pyassem .PyFlowGraph ("<module>" , filename )
890893 self .__super_init (filename )
891894 self .symbols = None
892- self .future = None
893895
894896 def visitModule (self , node ):
895- self .future = future .find_futures (node )
896897 self .symbols = self .parseSymbols (node )
897898 self .__super_visitModule (node )
898899
899900 def parseSymbols (self , node ):
900901 # XXX not implemented
901902 return None
902903
904+ class NestedScopeCodeGenerator (ModuleCodeGenerator ):
905+ pass
906+
903907class FunctionCodeGenerator (CodeGenerator ):
904908 super_init = CodeGenerator .__init__
905909
0 commit comments