Path 1: 2596 calls (0.9)

AssignName (2596)

None (2596)

1def visit_assignname(self, node: nodes.AssignName) -> None:
2        """Visit an astroid.AssignName node.
3
4        handle locals_type
5        """
6        # avoid double parsing done by different Linkers.visit
7        # running over the same project:
8        if hasattr(node, "_handled"):
9            return
10        node._handled = True
11        if node.name in node.frame(future=True):
12            frame = node.frame(future=True)
13        else:
14            # the name has been defined as 'global' in the frame and belongs
15            # there.
16            frame = node.root()
17        if not hasattr(frame, "locals_type"):
18            # If the frame doesn't have a locals_type yet,
19            # it means it wasn't yet visited. Visit it now
20            # to add what's missing from it.
21            if isinstance(frame, nodes.ClassDef):
22                self.visit_classdef(frame)
23            elif isinstance(frame, nodes.FunctionDef):
24                self.visit_functiondef(frame)
25            else:
26                self.visit_module(frame)
27
28        current = frame.locals_type[node.name]
29        frame.locals_type[node.name] = list(set(current) | utils.infer_node(node))
            

Path 2: 302 calls (0.1)

AssignName (302)

1def visit_assignname(self, node: nodes.AssignName) -> None:
2        """Visit an astroid.AssignName node.
3
4        handle locals_type
5        """
6        # avoid double parsing done by different Linkers.visit
7        # running over the same project:
8        if hasattr(node, "_handled"):
9            return
10        node._handled = True
11        if node.name in node.frame(future=True):
12            frame = node.frame(future=True)
13        else:
14            # the name has been defined as 'global' in the frame and belongs
15            # there.
16            frame = node.root()
17        if not hasattr(frame, "locals_type"):
18            # If the frame doesn't have a locals_type yet,
19            # it means it wasn't yet visited. Visit it now
20            # to add what's missing from it.
21            if isinstance(frame, nodes.ClassDef):
22                self.visit_classdef(frame)
23            elif isinstance(frame, nodes.FunctionDef):
24                self.visit_functiondef(frame)
25            else:
26                self.visit_module(frame)
27
28        current = frame.locals_type[node.name]
29        frame.locals_type[node.name] = list(set(current) | utils.infer_node(node))