From: Jeremy Hylton <jeremy@alum.mit.edu>
Date: Tue, 28 Aug 2001 16:36:12 +0000 (+0000)
Subject: XXX_NAME ops should affect varnames
X-Git-Tag: v2.2a3~280
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=63db7b9ca13cf319aeef9bab4aa107502d3f5907;p=python

XXX_NAME ops should affect varnames

varnames should list all the local variables (with arguments first).
The XXX_NAME ops typically occur at the module level and assignment
ops should create locals.
---

diff --git a/Lib/compiler/pyassem.py b/Lib/compiler/pyassem.py
index 06846233be..3063b5b253 100644
--- a/Lib/compiler/pyassem.py
+++ b/Lib/compiler/pyassem.py
@@ -491,9 +491,12 @@ class PyFlowGraph(FlowGraph):
     _convert_STORE_FAST = _convert_LOAD_FAST
     _convert_DELETE_FAST = _convert_LOAD_FAST
 
+    def _convert_LOAD_NAME(self, arg):
+        return self._lookupName(arg, self.names)
+
     def _convert_NAME(self, arg):
+        self._lookupName(arg, self.varnames)
         return self._lookupName(arg, self.names)
-    _convert_LOAD_NAME = _convert_NAME
     _convert_STORE_NAME = _convert_NAME
     _convert_DELETE_NAME = _convert_NAME
     _convert_IMPORT_NAME = _convert_NAME
diff --git a/Tools/compiler/compiler/pyassem.py b/Tools/compiler/compiler/pyassem.py
index 06846233be..3063b5b253 100644
--- a/Tools/compiler/compiler/pyassem.py
+++ b/Tools/compiler/compiler/pyassem.py
@@ -491,9 +491,12 @@ class PyFlowGraph(FlowGraph):
     _convert_STORE_FAST = _convert_LOAD_FAST
     _convert_DELETE_FAST = _convert_LOAD_FAST
 
+    def _convert_LOAD_NAME(self, arg):
+        return self._lookupName(arg, self.names)
+
     def _convert_NAME(self, arg):
+        self._lookupName(arg, self.varnames)
         return self._lookupName(arg, self.names)
-    _convert_LOAD_NAME = _convert_NAME
     _convert_STORE_NAME = _convert_NAME
     _convert_DELETE_NAME = _convert_NAME
     _convert_IMPORT_NAME = _convert_NAME