diff options
Diffstat (limited to 'Lib/compiler/symbols.py')
-rw-r--r-- | Lib/compiler/symbols.py | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/Lib/compiler/symbols.py b/Lib/compiler/symbols.py index 0ef0d12f03b..40fd127bfd1 100644 --- a/Lib/compiler/symbols.py +++ b/Lib/compiler/symbols.py @@ -2,8 +2,10 @@ from compiler import ast from compiler.consts import SC_LOCAL, SC_GLOBAL, SC_FREE, SC_CELL, SC_UNKNOWN +from compiler.misc import mangle import types + import sys MANGLE_LEN = 256 @@ -36,13 +38,7 @@ class Scope: def mangle(self, name): if self.klass is None: return name - if not name.startswith('__'): - return name - if len(name) + 2 >= MANGLE_LEN: - return name - if name.endswith('__'): - return name - return "_%s%s" % (self.klass, name) + return mangle(name, self.klass) def add_def(self, name): self.defs[self.mangle(name)] = 1 |