class documentation

class SemanticAnalyzerPreAnalysis(TraverserVisitor): (source)

View In Hierarchy

Analyze reachability of blocks and imports and other local things. This runs before semantic analysis, so names have not been bound. Imports are also not resolved yet, so we can only access the current module. This determines static reachability of blocks and imports due to version and platform checks, among others. The main entry point is 'visit_file'. Reachability of imports needs to be determined very early in the build since this affects which modules will ultimately be processed. Consider this example: import sys def do_stuff(): # type: () -> None: if sys.python_version < (3,): import xyz # Only available in Python 2 xyz.whatever() ... The block containing 'import xyz' is unreachable in Python 3 mode. The import shouldn't be processed in Python 3 mode, even if the module happens to exist.

Method visit_assignment_stmt Undocumented
Method visit_block Undocumented
Method visit_class_def Undocumented
Method visit_expression_stmt Undocumented
Method visit_file Undocumented
Method visit_for_stmt Undocumented
Method visit_func_def Undocumented
Method visit_if_stmt Undocumented
Method visit_import Undocumented
Method visit_import_all Undocumented
Method visit_import_from Undocumented
Method visit_match_stmt Undocumented
Method visit_return_stmt Undocumented
Instance Variable cur_mod_id Undocumented
Instance Variable cur_mod_node Undocumented
Instance Variable is_global_scope Undocumented
Instance Variable options Undocumented
Instance Variable platform Undocumented

Inherited from TraverserVisitor:

Method __init__ Undocumented
Method visit_as_pattern Undocumented
Method visit_assert_stmt Undocumented
Method visit_assert_type_expr Undocumented
Method visit_assignment_expr Undocumented
Method visit_await_expr Undocumented
Method visit_call_expr Undocumented
Method visit_cast_expr Undocumented
Method visit_class_pattern 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_func Undocumented
Method visit_generator_expr Undocumented
Method visit_index_expr Undocumented
Method visit_lambda_expr Undocumented
Method visit_list_comprehension Undocumented
Method visit_list_expr Undocumented
Method visit_mapping_pattern Undocumented
Method visit_member_expr Undocumented
Method visit_mypy_file Undocumented
Method visit_op_expr Undocumented
Method visit_operator_assignment_stmt Undocumented
Method visit_or_pattern Undocumented
Method visit_overloaded_func_def Undocumented
Method visit_raise_stmt Undocumented
Method visit_reveal_expr Undocumented
Method visit_sequence_pattern Undocumented
Method visit_set_comprehension Undocumented
Method visit_set_expr Undocumented
Method visit_slice_expr Undocumented
Method visit_star_expr Undocumented
Method visit_starred_pattern Undocumented
Method visit_super_expr Undocumented
Method visit_try_stmt Undocumented
Method visit_tuple_expr Undocumented
Method visit_type_application Undocumented
Method visit_unary_expr Undocumented
Method visit_value_pattern Undocumented
Method visit_while_stmt Undocumented
Method visit_with_stmt Undocumented
Method visit_yield_expr Undocumented
Method visit_yield_from_expr Undocumented

Inherited from NodeVisitor (via TraverserVisitor):

Method visit__promote_expr Undocumented
Method visit_break_stmt Undocumented
Method visit_bytes_expr Undocumented
Method visit_complex_expr Undocumented
Method visit_continue_stmt Undocumented
Method visit_ellipsis Undocumented
Method visit_enum_call_expr Undocumented
Method visit_float_expr Undocumented
Method visit_global_decl Undocumented
Method visit_int_expr Undocumented
Method visit_name_expr Undocumented
Method visit_namedtuple_expr Undocumented
Method visit_newtype_expr Undocumented
Method visit_nonlocal_decl Undocumented
Method visit_paramspec_expr Undocumented
Method visit_pass_stmt Undocumented
Method visit_placeholder_node Undocumented
Method visit_singleton_pattern Undocumented
Method visit_str_expr Undocumented
Method visit_temp_node Undocumented
Method visit_type_alias Undocumented
Method visit_type_alias_expr Undocumented
Method visit_type_var_expr Undocumented
Method visit_type_var_tuple_expr Undocumented
Method visit_typeddict_expr Undocumented
Method visit_var Undocumented
def visit_assignment_stmt(self, s: AssignmentStmt): (source)
def visit_block(self, b: Block): (source)
def visit_class_def(self, node: ClassDef): (source)
def visit_expression_stmt(self, s: ExpressionStmt): (source)
def visit_file(self, file: MypyFile, fnam: str, mod_id: str, options: Options): (source)

Undocumented

def visit_for_stmt(self, s: ForStmt): (source)
def visit_func_def(self, node: FuncDef): (source)
def visit_if_stmt(self, s: IfStmt): (source)
def visit_import(self, node: Import): (source)
def visit_import_all(self, node: ImportAll): (source)
def visit_import_from(self, node: ImportFrom): (source)
def visit_match_stmt(self, s: MatchStmt): (source)
def visit_return_stmt(self, s: ReturnStmt): (source)
cur_mod_id = (source)

Undocumented

cur_mod_node = (source)

Undocumented

is_global_scope = (source)

Undocumented

Undocumented

platform = (source)

Undocumented