in sapp/trace_graph.py [0:0]
def __init__(self) -> None:
self._issues: Dict[int, Issue] = {}
self._issue_instances: Dict[int, IssueInstance] = {}
self._trace_annotations: Dict[int, TraceFrameAnnotation] = {}
# Create a mapping of (caller_id, caller_port) to the corresponding
# trace frame's id.
self._trace_frames_map: DefaultDict[
TraceKind, DefaultDict[Tuple[int, str], Set[int]]
] = defaultdict(lambda: defaultdict(set))
# Similar to _trace_frames_map, but maps the reverse direction
# of the trace graph, i.e. (callee_id, callee_port) to the
# trace_frame_id.
self._trace_frames_rev_map: DefaultDict[
TraceKind, DefaultDict[Tuple[int, str], Set[int]]
] = defaultdict(lambda: defaultdict(set))
self._trace_frames: Dict[int, TraceFrame] = {}
self._features: Dict[int, Feature] = {}
self._feature_lookup: Dict[str, int] = {}
self._shared_texts: Dict[int, SharedText] = {}
self._shared_text_lookup: (
DefaultDict[SharedTextKind, Dict[str, int]]
) = defaultdict(dict)
self._trace_frame_leaf_assoc: DefaultDict[int, LeafIDToDepthMap] = defaultdict(
lambda: {}
)
self._trace_frame_issue_instance_assoc: DefaultDict[
int, Set[int]
] = defaultdict(set)
self._issue_instance_trace_frame_assoc: DefaultDict[
int, Set[int]
] = defaultdict(set)
self._trace_frame_annotation_trace_frame_assoc: DefaultDict[
int, Set[int]
] = defaultdict(set)
self._trace_frame_trace_frame_annotation_assoc: DefaultDict[
int, Set[int]
] = defaultdict(set)
self._issue_instance_shared_text_assoc: DefaultDict[
int, Set[int]
] = defaultdict(set)
self._shared_text_issue_instance_assoc: DefaultDict[
int, Set[int]
] = defaultdict(set)
self._issue_instance_feature_assoc: DefaultDict[int, Set[int]] = defaultdict(
set
)
self._feature_issue_instance_assoc: DefaultDict[int, Set[int]] = defaultdict(
set
)
self._issue_instance_fix_info: Dict[int, IssueInstanceFixInfo] = {}