MCPcopy Index your code
hub / github.com/RustPython/RustPython / visit_ClassDef

Method visit_ClassDef

Lib/pyclbr.py:195–218  ·  view source on GitHub ↗
(self, node)

Source from the content-addressed store, hash-verified

193 self.stack = []
194
195 def visit_ClassDef(self, node):
196 bases = []
197 for base in node.bases:
198 name = ast.unparse(base)
199 if name in self.tree:
200 # We know this super class.
201 bases.append(self.tree[name])
202 elif len(names := name.split(".")) > 1:
203 # Super class form is module.class:
204 # look in module for class.
205 *_, module, class_ = names
206 if module in _modules:
207 bases.append(_modules[module].get(class_, name))
208 else:
209 bases.append(name)
210
211 parent = self.stack[-1] if self.stack else None
212 class_ = Class(self.module, node.name, bases, self.file, node.lineno,
213 parent=parent, end_lineno=node.end_lineno)
214 if parent is None:
215 self.tree[node.name] = class_
216 self.stack.append(class_)
217 self.generic_visit(node)
218 self.stack.pop()
219
220 def visit_FunctionDef(self, node, *, is_async=False):
221 parent = self.stack[-1] if self.stack else None

Callers

nothing calls this directly

Calls 7

lenFunction · 0.85
ClassClass · 0.70
appendMethod · 0.45
splitMethod · 0.45
getMethod · 0.45
generic_visitMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected