MCPcopy
hub / github.com/rocky/python-uncompyle6 / unmangle_code_names

Method unmangle_code_names

uncompyle6/scanners/scanner2.py:158–182  ·  view source on GitHub ↗

Remove __ from the end of _name_ if it starts with __classname__ return the "unmangled" name.

(self, co, classname)

Source from the content-addressed store, hash-verified

156
157 @classmethod
158 def unmangle_code_names(self, co, classname):
159 """Remove __ from the end of _name_ if it starts with __classname__
160 return the "unmangled" name.
161 """
162 if classname:
163 classname = "_" + classname.lstrip("_") + "__"
164
165 if hasattr(co, "co_cellvars"):
166 free = [
167 self.unmangle_name(name, classname)
168 for name in (co.co_cellvars + co.co_freevars)
169 ]
170 else:
171 free = ()
172
173 names = [self.unmangle_name(name, classname) for name in co.co_names]
174 varnames = [self.unmangle_name(name, classname) for name in co.co_varnames]
175 else:
176 if hasattr(co, "co_cellvars"):
177 free = co.co_cellvars + co.co_freevars
178 else:
179 free = ()
180 names = co.co_names
181 varnames = co.co_varnames
182 return free, names, varnames
183
184 def ingest(self, co, classname=None, code_objects={}, show_asm=None):
185 """

Callers 2

ingestMethod · 0.95
ingestMethod · 0.80

Calls 1

unmangle_nameMethod · 0.95

Tested by

no test coverage detected