class documentation

class NodeReplaceVisitor(TraverserVisitor): (source)

View In Hierarchy

Transform some nodes to new identities in an AST.

Only nodes that live in the symbol table may be replaced, which simplifies the implementation some. Also replace all references to the old identities.

Method __init__ Undocumented
Method fixup Undocumented
Method fixup​_and​_reset​_typeinfo Fix-up type info and reset subtype caches.
Method fixup​_type Undocumented
Method process​_base​_func Undocumented
Method process​_synthetic​_type​_info Undocumented
Method process​_type​_info Undocumented
Method process​_type​_var​_def Undocumented
Method replace​_statements Undocumented
Method visit​_assignment​_stmt Undocumented
Method visit​_block Undocumented
Method visit​_call​_expr Undocumented
Method visit​_cast​_expr Undocumented
Method visit​_class​_def Undocumented
Method visit​_enum​_call​_expr Undocumented
Method visit​_func​_def Undocumented
Method visit​_lambda​_expr Undocumented
Method visit​_member​_expr Undocumented
Method visit​_mypy​_file Undocumented
Method visit​_name​_expr Undocumented
Method visit​_namedtuple​_expr Undocumented
Method visit​_newtype​_expr Undocumented
Method visit​_overloaded​_func​_def Undocumented
Method visit​_ref​_expr Undocumented
Method visit​_super​_expr Undocumented
Method visit​_type​_alias Undocumented
Method visit​_type​_alias​_expr Undocumented
Method visit​_typeddict​_expr Undocumented
Method visit​_var Undocumented
Instance Variable replacements Undocumented

Inherited from TraverserVisitor:

Method visit​_assert​_stmt Undocumented
Method visit​_assignment​_expr Undocumented
Method visit​_await​_expr Undocumented
Method visit​_backquote​_expr Undocumented
Method visit​_comparison​_expr Undocumented
Method visit​_conditional​_expr Undocumented
Method visit​_decorator Undocumented
Method visit​_del​_stmt Undocumented
Method visit​_dict​_expr Undocumented
Method visit​_dictionary​_comprehension Undocumented
Method visit​_exec​_stmt Undocumented
Method visit​_expression​_stmt Undocumented
Method visit​_for​_stmt Undocumented
Method visit​_func Undocumented
Method visit​_generator​_expr Undocumented
Method visit​_if​_stmt Undocumented
Method visit​_import Undocumented
Method visit​_import​_from Undocumented
Method visit​_index​_expr Undocumented
Method visit​_list​_comprehension Undocumented
Method visit​_list​_expr Undocumented
Method visit​_op​_expr Undocumented
Method visit​_operator​_assignment​_stmt Undocumented
Method visit​_print​_stmt Undocumented
Method visit​_raise​_stmt Undocumented
Method visit​_return​_stmt Undocumented
Method visit​_reveal​_expr Undocumented
Method visit​_set​_comprehension Undocumented
Method visit​_set​_expr Undocumented
Method visit​_slice​_expr Undocumented
Method visit​_star​_expr Undocumented
Method visit​_try​_stmt Undocumented
Method visit​_tuple​_expr Undocumented
Method visit​_type​_application Undocumented
Method visit​_unary​_expr Undocumented
Method visit​_while​_stmt Undocumented
Method visit​_with​_stmt Undocumented
Method visit​_yield​_expr Undocumented
Method visit​_yield​_from​_expr Undocumented
def __init__(self, replacements): (source)

Undocumented

Parameters
replacements:Dict[SymbolNode, SymbolNode]Undocumented
def fixup(self, node): (source)

Undocumented

Parameters
node:SNUndocumented
Returns
SNUndocumented
def fixup_and_reset_typeinfo(self, node): (source)

Fix-up type info and reset subtype caches.

This needs to be called at least once per each merged TypeInfo, as otherwise we may leak stale caches.

Parameters
node:TypeInfoUndocumented
Returns
TypeInfoUndocumented
def fixup_type(self, typ): (source)

Undocumented

Parameters
typ:Optional[Type]Undocumented
def process_base_func(self, node): (source)

Undocumented

Parameters
node:FuncBaseUndocumented
def process_synthetic_type_info(self, info): (source)

Undocumented

Parameters
info:TypeInfoUndocumented
def process_type_info(self, info): (source)

Undocumented

Parameters
info:Optional[TypeInfo]Undocumented
def process_type_var_def(self, tv): (source)

Undocumented

Parameters
tv:TypeVarTypeUndocumented
def replace_statements(self, nodes): (source)

Undocumented

Parameters
nodes:List[Statement]Undocumented
Returns
List[Statement]Undocumented
def visit_assignment_stmt(self, node): (source)

Undocumented

Parameters
node:AssignmentStmtUndocumented
def visit_block(self, node): (source)

Undocumented

Parameters
node:BlockUndocumented
def visit_call_expr(self, node): (source)

Undocumented

Parameters
node:CallExprUndocumented
def visit_cast_expr(self, node): (source)

Undocumented

Parameters
node:CastExprUndocumented
def visit_class_def(self, node): (source)

Undocumented

Parameters
node:ClassDefUndocumented
def visit_enum_call_expr(self, node): (source)

Undocumented

Parameters
node:EnumCallExprUndocumented
def visit_func_def(self, node): (source)

Undocumented

Parameters
node:FuncDefUndocumented
def visit_lambda_expr(self, node): (source)

Undocumented

Parameters
node:LambdaExprUndocumented
def visit_member_expr(self, node): (source)

Undocumented

Parameters
node:MemberExprUndocumented
def visit_mypy_file(self, node): (source)

Undocumented

Parameters
node:MypyFileUndocumented
def visit_name_expr(self, node): (source)

Undocumented

Parameters
node:NameExprUndocumented
def visit_namedtuple_expr(self, node): (source)

Undocumented

Parameters
node:NamedTupleExprUndocumented
def visit_newtype_expr(self, node): (source)

Undocumented

Parameters
node:NewTypeExprUndocumented
def visit_overloaded_func_def(self, node): (source)

Undocumented

Parameters
node:OverloadedFuncDefUndocumented
def visit_ref_expr(self, node): (source)

Undocumented

Parameters
node:RefExprUndocumented
def visit_super_expr(self, node): (source)

Undocumented

Parameters
node:SuperExprUndocumented
def visit_type_alias(self, node): (source)

Undocumented

Parameters
node:TypeAliasUndocumented
def visit_type_alias_expr(self, node): (source)

Undocumented

Parameters
node:TypeAliasExprUndocumented
def visit_typeddict_expr(self, node): (source)

Undocumented

Parameters
node:TypedDictExprUndocumented
def visit_var(self, node): (source)

Undocumented

Parameters
node:VarUndocumented
replacements = (source)

Undocumented