stubalyzer.lookup module¶
- class stubalyzer.lookup.LookupResult(symbol, containing_class)[source]¶
Bases:
tuple
- property containing_class¶
Class the symbol was found on
- property symbol¶
Symbol that was found
- stubalyzer.lookup.get_symbol_class(symbol: mypy.nodes.SymbolNode) Optional[mypy.nodes.TypeInfo] [source]¶
Get the class the given symbol is defined on.
- Parameters
symbol – Symbol to retrieve the class of
- stubalyzer.lookup.lookup_symbol(symbol_map: Dict[str, Union[mypy.nodes.Decorator, mypy.nodes.FuncDef, mypy.nodes.OverloadedFuncDef, mypy.nodes.Var, mypy.nodes.TypeInfo, mypy.nodes.TypeVarExpr, mypy.nodes.TypeAlias]], symbol_to_lookup: mypy.nodes.SymbolNode) LookupResult [source]¶
Find the given symbol in the symbol map.
Ideally the symbol is just found under the exact same
fullname
. If not and the symbol is a method, this will take the symbol’s class and look it up in the map and then try to resolve the symbol on that class using its method resolution order.If the result of the lookup has a different
fullname
than the original symbol the given symbol is defined at a different point in the class hierarchy than expected.- Parameters
symbol_map – Dictionary for looking up symbols by their full name
symbol_to_lookup – Symbol to search for
- Returns
The found symbol (if any) and the class it was found on (if any)