MCPcopy Index your code
hub / github.com/python/cpython / visit_ClassDef

Method visit_ClassDef

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

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 6

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