Upgrading mypy 0.670 to 0.700
Unknown0.670 → 0.700
Fetching 1 release from GitHub…0 / 1
UnknownUpgrade verdict
DepDelta is still reading the notes for this range, so breaking changes can't be ruled out yet.
In plain terms
- DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
- This page updates as the notes come in.
Must act Still reading release notes
DepDelta is still reading the release notes in this range. This updates as they come in.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- added:
variable MYPYC
- changed:
method State.wrap_context() -> Iterator[None] → method State.wrap_context(check_blockers: bool=…) -> Iterator[None] - added:
function read_quickstart_file(options: Options) -> Optional[Dict[str, Tuple[float, int, str]]]
- added:
method TypeChecker.analyze_container_item_type(typ: Type) -> Optional[Type]
- changed:
method ExpressionChecker.check_method_call_by_name(method: str, base_type: Type, args: List[Expression], arg_kinds: List[int], context: Context, local_errors: Optional[MessageBuilder]=…) -> Tuple[Type, Type] → method ExpressionChecker.check_method_call_by_name(method: str, base_type: Type, args: List[Expression], arg_kinds: List[int], context: Context, local_errors: Optional[MessageBuilder]=…, original_type: Optional[Type]=…) -> Tuple[Type, Type] - added:
method ExpressionChecker.dangerous_comparison(left: Type, right: Type) -> bool - added:
method ExpressionChecker.visit_index_with_type(left_type: Type, e: IndexExpr, original_type: Optional[Type]=…) -> Type
- changed:
function add_class_tvars(t: Type, itype: Instance, is_classmethod: bool, builtin_type: Callable[[str], Instance], original_type: Type) -> Type → function add_class_tvars(t: Type, itype: Instance, isuper: Optional[Instance], is_classmethod: bool, builtin_type: Callable[[str], Instance], original_type: Type) -> Type
- added:
function do_suggest(args: argparse.Namespace) -> None - added:
variable suggest_parser
- changed:
method Server.cmd_status() -> Dict[str, object] → method Server.cmd_status(fswatcher_dump_file: Optional[str]=…) -> Dict[str, object] - added:
method Server.cmd_suggest(function: str, json: bool, callsites: bool) -> Dict[str, object]
- added:
method Errors.total_errors() -> int
- changed:
function parse_type_comment(type_comment: str, line: int, errors: Optional[Errors], assume_str_is_unicode: bool=…) -> Optional[Type] → function parse_type_comment(type_comment: str, line: int, errors: Optional[Errors], assume_str_is_unicode: bool=…) -> Tuple[bool, Optional[Type]] - added:
function ast3_parse(source: Union[str, bytes], filename: str, mode: str, feature_version: int=…) -> AST - added:
method ASTConverter.visit_Constant(n: Constant) -> Any - added:
method ASTConverter.visit_NamedExpr(n: NamedExpr) -> None - added:
method TypeConverter.numeric_type(value: object, n: AST) -> Type - added:
method TypeConverter.visit_Constant(n: Constant) -> Type - added:
variable Constant - added:
variable NamedExpr - added:
variable TYPE_IGNORE_PATTERN
- removed:
function stale_info(modules: Dict[str, MypyFile]) -> TypeInfo - changed:
constructor NodeFixer(modules: Dict[str, MypyFile], quick_and_dirty: bool) -> None → constructor NodeFixer(modules: Dict[str, MypyFile], allow_missing: bool) -> None - changed:
constructor TypeFixer(modules: Dict[str, MypyFile], quick_and_dirty: bool) -> None → constructor TypeFixer(modules: Dict[str, MypyFile], allow_missing: bool) -> None - changed:
function fixup_module(tree: MypyFile, modules: Dict[str, MypyFile], quick_and_dirty: bool) -> None → function fixup_module(tree: MypyFile, modules: Dict[str, MypyFile], allow_missing: bool) -> None - changed:
function lookup_qualified(modules: Dict[str, MypyFile], name: str, quick_and_dirty: bool) -> Optional[SymbolNode] → function lookup_qualified(modules: Dict[str, MypyFile], name: str, allow_missing: bool) -> Optional[SymbolNode] - changed:
function lookup_qualified_stnode(modules: Dict[str, MypyFile], name: str, quick_and_dirty: bool) -> Optional[SymbolTableNode] → function lookup_qualified_stnode(modules: Dict[str, MypyFile], name: str, allow_missing: bool) -> Optional[SymbolTableNode] - changed:
function lookup_qualified_typeinfo(modules: Dict[str, MypyFile], name: str, quick_and_dirty: bool) -> TypeInfo → function lookup_qualified_typeinfo(modules: Dict[str, MypyFile], name: str, allow_missing: bool) -> TypeInfo - added:
function missing_info(modules: Dict[str, MypyFile]) -> TypeInfo
- added:
method FileSystemWatcher.dump_file_data() -> Dict[str, Tuple[float, int, str]]
- added:
method InterpretedPlugin.get_additional_deps(file: MypyFile) -> List[Tuple[int, str, int]]
- added:
method MessageBuilder.dangerous_comparison(left: Type, right: Type, kind: str, ctx: Context) -> None
- added:
class MixedTraverserVisitor(TraverserVisitor, TypeTraverserVisitor) - added:
method MixedTraverserVisitor.visit__promote_expr(o: PromoteExpr) -> None - added:
method MixedTraverserVisitor.visit_assignment_stmt(o: AssignmentStmt) -> None - added:
method MixedTraverserVisitor.visit_cast_expr(o: CastExpr) -> None - added:
method MixedTraverserVisitor.visit_class_def(o: ClassDef) -> None - added:
method MixedTraverserVisitor.visit_for_stmt(o: ForStmt) -> None - added:
method MixedTraverserVisitor.visit_func(o: FuncItem) -> None - added:
method MixedTraverserVisitor.visit_namedtuple_expr(o: NamedTupleExpr) -> None - added:
method MixedTraverserVisitor.visit_newtype_expr(o: NewTypeExpr) -> None - added:
method MixedTraverserVisitor.visit_optional_type(t: Optional[Type]) -> None - added:
method MixedTraverserVisitor.visit_type_alias_expr(o: TypeAliasExpr) -> None - added:
method MixedTraverserVisitor.visit_type_application(o: TypeApplication) -> None - added:
method MixedTraverserVisitor.visit_type_var_expr(o: TypeVarExpr) -> None - added:
method MixedTraverserVisitor.visit_typeddict_expr(o: TypedDictExpr) -> None - added:
method MixedTraverserVisitor.visit_var(var: Var) -> None - added:
method MixedTraverserVisitor.visit_with_stmt(o: WithStmt) -> None
- removed:
method NewSemanticAnalyzer.add_unknown_symbol(name: str, context: Context, is_import: bool=…, target_name: Optional[str]=…) -> None - removed:
method NewSemanticAnalyzer.calculate_abstract_status(typ: TypeInfo) -> None - removed:
method NewSemanticAnalyzer.dereference_module_cross_ref(node: Optional[SymbolTableNode]) -> Optional[SymbolTableNode] - removed:
method NewSemanticAnalyzer.detect_protocol_base(base_type_exprs: List[Expression]) -> bool - removed:
method NewSemanticAnalyzer.visit_file(file_node: MypyFile, fnam: str, options: Options, patches: List[Tuple[int, Callable[[], None]]]) -> None - changed:
function names_modified_by_assignment(s: AssignmentStmt) -> List[str] → function names_modified_by_assignment(s: AssignmentStmt) -> List[NameExpr] - changed:
function names_modified_in_lvalue(lvalue: Lvalue) -> List[str] → function names_modified_in_lvalue(lvalue: Lvalue) -> List[NameExpr] - changed:
method NewSemanticAnalyzer.add_symbol(name: str, node: SymbolNode, context: Context, module_public: bool=…, module_hidden: bool=…) -> None → method NewSemanticAnalyzer.add_symbol(name: str, node: SymbolNode, context: Optional[Context], module_public: bool=…, module_hidden: bool=…) -> bool - changed:
method NewSemanticAnalyzer.add_symbol_table_node(name: str, symbol: SymbolTableNode, context: Optional[Context]=…) -> None → method NewSemanticAnalyzer.add_symbol_table_node(name: str, symbol: SymbolTableNode, context: Optional[Context]=…) -> bool - changed:
method NewSemanticAnalyzer.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, report_invalid_types: bool=…, third_pass: bool=…) -> Optional[Type] → method NewSemanticAnalyzer.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, allow_placeholder: bool=…, report_invalid_types: bool=…, third_pass: bool=…) -> Optional[Type] - changed:
method NewSemanticAnalyzer.analyze_alias(rvalue: Expression) -> Tuple[Optional[Type], List[str], Set[str], List[str]] → method NewSemanticAnalyzer.analyze_alias(rvalue: Expression, allow_placeholder: bool=…) -> Tuple[Optional[Type], List[str], Set[str], List[str]] - changed:
method NewSemanticAnalyzer.analyze_class_typevar_declaration(base: Type) -> Optional[TypeVarList] → method NewSemanticAnalyzer.analyze_class_typevar_declaration(base: Type) -> Optional[Tuple[TypeVarList, bool]] - changed:
method NewSemanticAnalyzer.analyze_name_lvalue(lval: NameExpr, explicit_type: bool, is_final: bool) -> None → method NewSemanticAnalyzer.analyze_name_lvalue(lvalue: NameExpr, explicit_type: bool, is_final: bool) -> None - changed:
method NewSemanticAnalyzer.check_and_set_up_type_alias(s: AssignmentStmt) -> None → method NewSemanticAnalyzer.check_and_set_up_type_alias(s: AssignmentStmt) -> bool - changed:
method NewSemanticAnalyzer.clean_up_bases_and_infer_type_variables(base_type_exprs: List[Expression], context: Context) -> Tuple[List[Expression], List[TypeVarDef]] → method NewSemanticAnalyzer.clean_up_bases_and_infer_type_variables(defn: ClassDef, base_type_exprs: List[Expression], context: Context) -> Tuple[List[Expression], List[TypeVarDef], bool] - changed:
method NewSemanticAnalyzer.enter(function: Optional[FuncItem]=…) -> None → method NewSemanticAnalyzer.enter(function: Union[FuncItem, GeneratorExpr, DictionaryComprehension]) -> None - changed:
method NewSemanticAnalyzer.expr_to_analyzed_type(expr: Expression, report_invalid_types: bool=…) -> Optional[Type] → method NewSemanticAnalyzer.expr_to_analyzed_type(expr: Expression, report_invalid_types: bool=…, allow_placeholder: bool=…) -> Optional[Type] - changed:
method NewSemanticAnalyzer.is_final_type(typ: Type) -> bool → method NewSemanticAnalyzer.is_final_type(typ: Optional[Type]) -> bool - changed:
method NewSemanticAnalyzer.mark_incomplete(name: str) -> None → method NewSemanticAnalyzer.mark_incomplete(name: str, node: Node, becomes_typeinfo: bool=…) -> None - changed:
method NewSemanticAnalyzer.name_not_defined(name: str, ctx: Context) -> None → method NewSemanticAnalyzer.name_not_defined(name: str, ctx: Context, namespace: Optional[str]=…) -> None - changed:
method NewSemanticAnalyzer.process_typevar_declaration(s: AssignmentStmt) -> None → method NewSemanticAnalyzer.process_typevar_declaration(s: AssignmentStmt) -> bool - changed:
method NewSemanticAnalyzer.refresh_partial(node: Union[MypyFile, FuncDef, OverloadedFuncDef], patches: List[Tuple[int, Callable[[], None]]]) -> None → method NewSemanticAnalyzer.refresh_partial(node: Union[MypyFile, FuncDef, OverloadedFuncDef], patches: List[Tuple[int, Callable[[], None]]], final_iteration: bool) -> None - changed:
method NewSemanticAnalyzer.set_original_def(previous: Optional[Node], new: FuncDef) -> bool → method NewSemanticAnalyzer.set_original_def(previous: Optional[Node], new: Union[FuncDef, Decorator]) -> bool - changed:
method NewSemanticAnalyzer.type_analyzer(*, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, report_invalid_types: bool=…, third_pass: bool=…) -> TypeAnalyser → method NewSemanticAnalyzer.type_analyzer(*, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, allow_placeholder: bool=…, report_invalid_types: bool=…, third_pass: bool=…) -> TypeAnalyser - added:
class HasPlaceholders(TypeQuery[bool]) - added:
constructor HasPlaceholders() -> None - added:
field NewSemanticAnalyzer.progress - added:
function has_placeholder(typ: Type) -> bool - added:
method HasPlaceholders.visit_placeholder_type(t: PlaceholderType) -> bool - added:
method NewSemanticAnalyzer.add_func_redefinition(names: SymbolTable, name: str, symbol: SymbolTableNode) -> None - added:
method NewSemanticAnalyzer.add_implicit_module_attrs(file_node: MypyFile) -> None - added:
method NewSemanticAnalyzer.add_symbol_skip_local(name: str, node: SymbolNode) -> None - added:
method NewSemanticAnalyzer.add_unknown_imported_symbol(name: str, context: Context, target_name: Optional[str]=…) -> None - added:
method NewSemanticAnalyzer.adjust_public_exports() -> None - added:
method NewSemanticAnalyzer.analyze_enum_assign(s: AssignmentStmt) -> bool - added:
method NewSemanticAnalyzer.analyze_namedtuple_assign(s: AssignmentStmt) -> bool - added:
method NewSemanticAnalyzer.analyze_type_application(expr: IndexExpr) -> None - added:
method NewSemanticAnalyzer.analyze_type_application_args(expr: IndexExpr) -> Optional[List[Type]] - added:
method NewSemanticAnalyzer.analyze_typeddict_assign(s: AssignmentStmt) -> bool - added:
method NewSemanticAnalyzer.can_be_type_alias(rv: Expression) -> bool - added:
method NewSemanticAnalyzer.configure_tuple_base_class(defn: ClassDef, base: TupleType, base_expr: Expression) -> Instance - added:
method NewSemanticAnalyzer.current_symbol_table() -> SymbolTable - added:
method NewSemanticAnalyzer.is_core_builtin_class(defn: ClassDef) -> bool - added:
method NewSemanticAnalyzer.is_final_redefinition(kind: int, name: str) -> bool - added:
method NewSemanticAnalyzer.is_global_or_nonlocal(name: str) -> bool - added:
method NewSemanticAnalyzer.is_local_name(name: str) -> bool - added:
method NewSemanticAnalyzer.is_none_alias(node: Expression) -> bool - added:
method NewSemanticAnalyzer.is_type_ref(rv: Expression, bare: bool=…) -> bool - added:
method NewSemanticAnalyzer.prepare_typing_namespace(file_node: MypyFile) -> None - added:
method NewSemanticAnalyzer.process_placeholder(name: str, kind: str, ctx: Context) -> None - added:
method NewSemanticAnalyzer.record_special_form_lvalue(s: AssignmentStmt) -> None - added:
method NewSemanticAnalyzer.report_hang() -> None - added:
method NewSemanticAnalyzer.report_missing_module_attribute(import_id: str, source_id: str, imported_id: str, context: Node) -> None - added:
method NewSemanticAnalyzer.should_wait_rhs(rv: Expression) -> bool - added:
property NewSemanticAnalyzer.final_iteration -> bool
- added:
function calculate_class_abstract_status(typ: TypeInfo, is_stub_file: bool, errors: Errors) -> None - added:
function calculate_class_vars(info: TypeInfo) -> None - added:
function check_protocol_status(info: TypeInfo, errors: Errors) -> None
- changed:
method EnumCallAnalyzer.process_enum_call(s: AssignmentStmt, is_func_scope: bool) -> None → method EnumCallAnalyzer.process_enum_call(s: AssignmentStmt, is_func_scope: bool) -> bool
- added:
function calculate_return_type(expr: Expression) -> Optional[Type] - added:
function find_fixed_callable_return(expr: Expression) -> Optional[CallableType] - added:
function infer_decorator_signature_if_simple(dec: Decorator, analyzer: SemanticAnalyzerInterface) -> None - added:
function is_identity_signature(sig: Type) -> bool
- changed:
function get_all_leaf_targets(symtable: SymbolTable, prefix: str, active_type: Optional[TypeInfo]) -> List[TargetInfo] → function get_all_leaf_targets(file: MypyFile) -> List[TargetInfo] - changed:
function process_functions(graph: Graph, scc: List[str]) -> None → function process_functions(graph: Graph, scc: List[str], patches: Patches) -> None - changed:
function process_top_level_function(analyzer: NewSemanticAnalyzer, state: State, module: str, node: Union[FuncDef, OverloadedFuncDef, Decorator], active_type: Optional[TypeInfo]) -> None → function process_top_level_function(analyzer: NewSemanticAnalyzer, state: State, module: str, target: str, node: Union[FuncDef, OverloadedFuncDef, Decorator], active_type: Optional[TypeInfo], patches: Patches) -> None - changed:
function process_top_levels(graph: Graph, scc: List[str]) -> None → function process_top_levels(graph: Graph, scc: List[str], patches: Patches) -> None - changed:
function semantic_analysis_for_scc(graph: Graph, scc: List[str]) -> None → function semantic_analysis_for_scc(graph: Graph, scc: List[str], errors: Errors) -> None - changed:
function semantic_analyze_target(target: str, state: State, node: Union[MypyFile, FuncDef, OverloadedFuncDef, Decorator], active_type: Optional[TypeInfo]) -> Tuple[List[str], bool] → function semantic_analyze_target(target: str, state: State, node: Union[MypyFile, FuncDef, OverloadedFuncDef, Decorator], active_type: Optional[TypeInfo], final_iteration: bool, patches: Patches) -> Tuple[List[str], bool, bool] - added:
function calculate_class_properties(graph: Graph, scc: List[str], errors: Errors) -> None - added:
function check_blockers(graph: Graph, scc: List[str]) -> None - added:
function check_type_arguments(graph: Graph, scc: List[str], errors: Errors) -> None - added:
function check_type_arguments_in_targets(targets: List[FineGrainedDeferredNode], state: State, errors: Errors) -> None - added:
function cleanup_builtin_scc(state: State) -> None - added:
function nothing() -> Iterator[None] - added:
function process_selected_targets(state: State, nodes: List[FineGrainedDeferredNode], graph: Graph, strip_patches: List[Callable[[], None]]) -> None - added:
variable CORE_WARMUP - added:
variable Patches - added:
variable core_modules
- removed:
method NamedTupleAnalyzer.process_namedtuple_definition(s: AssignmentStmt, is_func_scope: bool) -> None - changed:
method NamedTupleAnalyzer.analyze_namedtuple_classdef(defn: ClassDef) -> Optional[TypeInfo] → method NamedTupleAnalyzer.analyze_namedtuple_classdef(defn: ClassDef) -> Tuple[bool, Optional[TypeInfo]] - changed:
method NamedTupleAnalyzer.build_namedtuple_typeinfo(name: str, items: List[str], types: List[Type], default_items: Mapping[str, Expression]) -> TypeInfo → method NamedTupleAnalyzer.build_namedtuple_typeinfo(name: str, items: List[str], types: List[Type], default_items: Mapping[str, Expression], line: int) -> TypeInfo - changed:
method NamedTupleAnalyzer.check_namedtuple(node: Expression, var_name: Optional[str], is_func_scope: bool) -> Optional[TypeInfo] → method NamedTupleAnalyzer.check_namedtuple(node: Expression, var_name: Optional[str], is_func_scope: bool) -> Tuple[bool, Optional[TypeInfo]] - changed:
method NamedTupleAnalyzer.check_namedtuple_classdef(defn: ClassDef) -> Tuple[List[str], List[Type], Dict[str, Expression]] → method NamedTupleAnalyzer.check_namedtuple_classdef(defn: ClassDef) -> Optional[Tuple[List[str], List[Type], Dict[str, Expression]]] - changed:
method NamedTupleAnalyzer.parse_namedtuple_args(call: CallExpr, fullname: str) -> Tuple[List[str], List[Type], List[Expression], bool] → method NamedTupleAnalyzer.parse_namedtuple_args(call: CallExpr, fullname: str) -> Optional[Tuple[List[str], List[Type], List[Expression], bool]] - changed:
method NamedTupleAnalyzer.parse_namedtuple_fields_with_types(nodes: List[Expression], context: Context) -> Tuple[List[str], List[Type], List[Expression], bool] → method NamedTupleAnalyzer.parse_namedtuple_fields_with_types(nodes: List[Expression], context: Context) -> Optional[Tuple[List[str], List[Type], List[Expression], bool]] - added:
method NamedTupleAnalyzer.save_namedtuple_body(named_tuple_info: TypeInfo) -> Iterator[None] - added:
variable SELF_TVAR_NAME
- changed:
method NewTypeAnalyzer.check_newtype_args(name: str, call: CallExpr, context: Context) -> Optional[Type] → method NewTypeAnalyzer.check_newtype_args(name: str, call: CallExpr, context: Context) -> Tuple[Optional[Type], bool] - changed:
method NewTypeAnalyzer.process_newtype_declaration(s: AssignmentStmt) -> None → method NewTypeAnalyzer.process_newtype_declaration(s: AssignmentStmt) -> bool
- added:
method ReachabilityAnalyzer.visit_import(node: Import) -> None - added:
method ReachabilityAnalyzer.visit_import_all(node: ImportAll) -> None - added:
method ReachabilityAnalyzer.visit_import_from(node: ImportFrom) -> None
- removed:
class ForwardReferenceResolver(TypeTranslator) - removed:
class TypeVariableChecker(TypeTranslator) - removed:
constructor ForwardReferenceResolver(fail: Callable[[str, Context], None], start: Union[Node, SymbolTableNode], warn: bool) -> None - removed:
constructor TypeVariableChecker(fail: Callable[[str, Context], None]) -> None - removed:
function calculate_return_type(expr: Expression) -> Optional[Type] - removed:
function find_fixed_callable_return(expr: Expression) -> Optional[CallableType] - removed:
function is_identity_signature(sig: Type) -> bool - removed:
method ForwardReferenceResolver.check_recursion(t: Type) -> bool - removed:
method ForwardReferenceResolver.visit_callable_type(t: CallableType) -> Type - removed:
method ForwardReferenceResolver.visit_forwardref_type(t: ForwardRef) -> Type - removed:
method ForwardReferenceResolver.visit_instance(t: Instance, from_fallback: bool=…) -> Type - removed:
method ForwardReferenceResolver.visit_literal_type(t: LiteralType) -> Type - removed:
method ForwardReferenceResolver.visit_overloaded(t: Overloaded) -> Type - removed:
method ForwardReferenceResolver.visit_tuple_type(t: TupleType) -> Type - removed:
method ForwardReferenceResolver.visit_type_type(t: TypeType) -> Type - removed:
method ForwardReferenceResolver.visit_type_var(t: TypeVarType) -> Type - removed:
method ForwardReferenceResolver.visit_typeddict_type(t: TypedDictType) -> Type - removed:
method ForwardReferenceResolver.visit_union_type(t: UnionType) -> Type - removed:
method SemanticAnalyzerPass3.accept(node: Node) -> None - removed:
method SemanticAnalyzerPass3.analyze_synthetic_info(info: TypeInfo) -> None - removed:
method SemanticAnalyzerPass3.dereference_module_cross_ref(node: Optional[SymbolTableNode]) -> Optional[SymbolTableNode] - removed:
method SemanticAnalyzerPass3.generate_type_patches(node: Node, indicator: Dict[str, bool], warn: bool) -> None - removed:
method SemanticAnalyzerPass3.make_scoped_patch(fn: Callable[[], None]) -> Callable[[], None] - removed:
method SemanticAnalyzerPass3.perform_transform(node: Node, transform: Callable[[Type], Type]) -> None - removed:
method SemanticAnalyzerPass3.refresh_partial(node: Union[MypyFile, FuncDef, OverloadedFuncDef], patches: List[Tuple[int, Callable[[], None]]]) -> None - removed:
method SemanticAnalyzerPass3.refresh_top_level(file_node: MypyFile) -> None - removed:
method SemanticAnalyzerPass3.transform_types_in_lvalue(lvalue: Lvalue, transform: Callable[[Type], Type]) -> None - removed:
method SemanticAnalyzerPass3.update_imported_vars() -> None - removed:
method SemanticAnalyzerPass3.visit_block(b: Block) -> None - removed:
method SemanticAnalyzerPass3.visit_cast_expr(e: CastExpr) -> None - removed:
method SemanticAnalyzerPass3.visit_for_stmt(s: ForStmt) -> None - removed:
method SemanticAnalyzerPass3.visit_func_def(fdef: FuncDef) -> None - removed:
method SemanticAnalyzerPass3.visit_overloaded_func_def(fdef: OverloadedFuncDef) -> None - removed:
method SemanticAnalyzerPass3.visit_reveal_expr(e: RevealExpr) -> None - removed:
method SemanticAnalyzerPass3.visit_type_application(e: TypeApplication) -> None - removed:
method SemanticAnalyzerPass3.visit_with_stmt(s: WithStmt) -> None - removed:
method TypeVariableChecker.check_type_var_values(type: TypeInfo, actuals: List[Type], arg_name: str, valids: List[Type], arg_number: int, context: Context) -> None - removed:
method TypeVariableChecker.visit_instance(t: Instance) -> Type
- removed:
method SemanticAnalyzerCoreInterface.dereference_module_cross_ref(node: Optional[SymbolTableNode]) -> Optional[SymbolTableNode] - removed:
variable PRIORITY_FORWARD_REF - removed:
variable PRIORITY_TYPEVAR_VALUES - changed:
method SemanticAnalyzerInterface.add_symbol_table_node(name: str, stnode: SymbolTableNode) -> None → method SemanticAnalyzerInterface.add_symbol_table_node(name: str, stnode: SymbolTableNode) -> bool - added:
function calculate_tuple_fallback(typ: TupleType) -> None - added:
method SemanticAnalyzerCoreInterface.defer() -> None - added:
method SemanticAnalyzerCoreInterface.final_iteration() -> bool - added:
method SemanticAnalyzerCoreInterface.is_incomplete_namespace(fullname: str) -> bool - added:
method SemanticAnalyzerCoreInterface.lookup_fully_qualified_or_none(name: str) -> Optional[SymbolTableNode] - added:
method SemanticAnalyzerCoreInterface.record_incomplete_ref() -> None - added:
method SemanticAnalyzerInterface.add_symbol(name: str, node: SymbolNode, context: Optional[Context], module_public: bool=…, module_hidden: bool=…) -> bool - added:
method SemanticAnalyzerInterface.add_symbol_skip_local(name: str, node: SymbolNode) -> None - added:
method SemanticAnalyzerInterface.current_symbol_table() -> SymbolTable
- added:
class TypeArgumentAnalyzer(MixedTraverserVisitor) - added:
constructor TypeArgumentAnalyzer(errors: Errors) -> None - added:
method TypeArgumentAnalyzer.check_type_var_values(type: TypeInfo, actuals: List[Type], arg_name: str, valids: List[Type], arg_number: int, context: Context) -> None - added:
method TypeArgumentAnalyzer.fail(msg: str, context: Context) -> None - added:
method TypeArgumentAnalyzer.visit_block(o: Block) -> None - added:
method TypeArgumentAnalyzer.visit_class_def(defn: ClassDef) -> None - added:
method TypeArgumentAnalyzer.visit_func(defn: FuncItem) -> None - added:
method TypeArgumentAnalyzer.visit_instance(t: Instance) -> None - added:
method TypeArgumentAnalyzer.visit_mypy_file(o: MypyFile) -> None
- removed:
method TypedDictAnalyzer.process_typeddict_definition(s: AssignmentStmt, is_func_scope: bool) -> None - changed:
method TypedDictAnalyzer.check_typeddict(node: Expression, var_name: Optional[str], is_func_scope: bool) -> Optional[TypeInfo] → method TypedDictAnalyzer.check_typeddict(node: Expression, var_name: Optional[str], is_func_scope: bool) -> Tuple[bool, Optional[TypeInfo]] - changed:
method TypedDictAnalyzer.parse_typeddict_args(call: CallExpr) -> Tuple[List[str], List[Type], bool, bool] → method TypedDictAnalyzer.parse_typeddict_args(call: CallExpr) -> Optional[Tuple[List[str], List[Type], bool, bool]] - changed:
method TypedDictAnalyzer.parse_typeddict_fields_with_types(dict_items: List[Tuple[Optional[Expression], Expression]], context: Context) -> Tuple[List[str], List[Type], bool] → method TypedDictAnalyzer.parse_typeddict_fields_with_types(dict_items: List[Tuple[Optional[Expression], Expression]], context: Context) -> Optional[Tuple[List[str], List[Type], bool]]
- removed:
method TypeAnalyser.analyze_unbound_type_with_type_info(t: UnboundType, info: TypeInfo) -> Type - changed:
constructor TypeAnalyser(api: SemanticAnalyzerCoreInterface, tvar_scope: Optional[TypeVarScope], plugin: Plugin, options: Options, is_typeshed_stub: bool, *, defining_alias: bool=…, allow_tuple_literal: bool=…, allow_unnormalized: bool=…, allow_unbound_tvars: bool=…, report_invalid_types: bool=…, third_pass: bool=…) -> None → constructor TypeAnalyser(api: SemanticAnalyzerCoreInterface, tvar_scope: Optional[TypeVarScope], plugin: Plugin, options: Options, is_typeshed_stub: bool, *, defining_alias: bool=…, allow_tuple_literal: bool=…, allow_unnormalized: bool=…, allow_unbound_tvars: bool=…, allow_placeholder: bool=…, report_invalid_types: bool=…, third_pass: bool=…) -> None - changed:
function analyze_type_alias(node: Expression, api: SemanticAnalyzerCoreInterface, tvar_scope: TypeVarScope, plugin: Plugin, options: Options, is_typeshed_stub: bool, allow_unnormalized: bool=…, in_dynamic_func: bool=…, global_scope: bool=…) -> Optional[Tuple[Type, Set[str]]] → function analyze_type_alias(node: Expression, api: SemanticAnalyzerCoreInterface, tvar_scope: TypeVarScope, plugin: Plugin, options: Options, is_typeshed_stub: bool, allow_unnormalized: bool=…, allow_placeholder: bool=…, in_dynamic_func: bool=…, global_scope: bool=…) -> Optional[Tuple[Type, Set[str]]] - added:
class InstanceFixer(TypeTraverserVisitor) - added:
constructor InstanceFixer(fail: Callable[[str, Context], None]) -> None - added:
function fix_instance_types(t: Type, fail: Callable[[str, Context], None]) -> None - added:
method InstanceFixer.visit_instance(typ: Instance) -> None - added:
method TypeAnalyser.analyze_type_with_type_info(info: TypeInfo, args: List[Type], ctx: Context) -> Type - added:
method TypeAnalyser.visit_placeholder_type(t: PlaceholderType) -> Type
- changed:
method Var.accept(visitor: StatementVisitor[T]) -> T → method Var.accept(visitor: NodeVisitor[T]) -> T - added:
class PlaceholderNode(SymbolNode) - added:
constructor PlaceholderNode(fullname: str, node: Node, becomes_typeinfo: bool=…) -> None - added:
function local_definitions(names: SymbolTable, name_prefix: str, info: Optional[TypeInfo]=…) -> Iterator[Definition] - added:
method MypyFile.local_definitions() -> Iterator[Definition] - added:
method PlaceholderNode.accept(visitor: NodeVisitor[T]) -> T - added:
method PlaceholderNode.fullname() -> str - added:
method PlaceholderNode.name() -> str - added:
method PlaceholderNode.serialize() -> JsonDict - added:
variable Definition - added:
variable SYMBOL_FUNCBASE_TYPES - added:
variable type_aliases_target_versions
- changed:
method SemanticAnalyzerPluginInterface.add_symbol_table_node(name: str, stnode: SymbolTableNode) -> None → method SemanticAnalyzerPluginInterface.add_symbol_table_node(name: str, stnode: SymbolTableNode) -> Any - added:
field CheckerPluginInterface.path - added:
method ChainedPlugin.get_additional_deps(file: MypyFile) -> List[Tuple[int, str, int]] - added:
method Plugin.get_additional_deps(file: MypyFile) -> List[Tuple[int, str, int]] - added:
method SemanticAnalyzerPluginInterface.defer() -> None - added:
method WrapperPlugin.get_additional_deps(file: MypyFile) -> List[Tuple[int, str, int]]
- added:
variable SELF_TVAR_NAME
- added:
variable SELF_TVAR_NAME
- added:
method SemanticAnalyzerPass2.defer() -> None
- added:
class NodeStripVisitor(TraverserVisitor) - added:
constructor NodeStripVisitor() -> None - added:
function strip_target_new(node: Union[MypyFile, FuncDef, OverloadedFuncDef]) -> List[Callable[[], None]] - added:
method NodeStripVisitor.enter_class(info: TypeInfo) -> Iterator[None] - added:
method NodeStripVisitor.enter_method(info: TypeInfo) -> Iterator[None] - added:
method NodeStripVisitor.prepare_implicit_var_patches(node: ClassDef) -> None - added:
method NodeStripVisitor.process_lvalue_in_method(lvalue: Node) -> None - added:
method NodeStripVisitor.strip_file_top_level(file_node: MypyFile) -> None - added:
method NodeStripVisitor.strip_ref_expr(node: RefExpr) -> None - added:
method NodeStripVisitor.visit_assignment_stmt(node: AssignmentStmt) -> None - added:
method NodeStripVisitor.visit_block(b: Block) -> None - added:
method NodeStripVisitor.visit_call_expr(node: CallExpr) -> None - added:
method NodeStripVisitor.visit_class_def(node: ClassDef) -> None - added:
method NodeStripVisitor.visit_decorator(node: Decorator) -> None - added:
method NodeStripVisitor.visit_for_stmt(node: ForStmt) -> None - added:
method NodeStripVisitor.visit_func_def(node: FuncDef) -> None - added:
method NodeStripVisitor.visit_import_all(node: ImportAll) -> None - added:
method NodeStripVisitor.visit_import_from(node: ImportFrom) -> None - added:
method NodeStripVisitor.visit_index_expr(node: IndexExpr) -> None - added:
method NodeStripVisitor.visit_member_expr(node: MemberExpr) -> None - added:
method NodeStripVisitor.visit_name_expr(node: NameExpr) -> None - added:
method NodeStripVisitor.visit_overloaded_func_def(node: OverloadedFuncDef) -> None - added:
method NodeStripVisitor.visit_super_expr(node: SuperExpr) -> None
- changed:
function propagate_changes_using_dependencies(manager: BuildManager, graph: Dict[str, State], deps: Dict[str, Set[str]], triggered: Set[str], up_to_date_modules: Set[str], targets_with_errors: Set[str]) -> List[Tuple[str, str]] → function propagate_changes_using_dependencies(manager: BuildManager, graph: Dict[str, State], deps: Dict[str, Set[str]], triggered: Set[str], up_to_date_modules: Set[str], targets_with_errors: Set[str], processed_targets: List[str]) -> List[Tuple[str, str]] - changed:
function reprocess_nodes(manager: BuildManager, graph: Dict[str, State], module_id: str, nodeset: Set[FineGrainedDeferredNode], deps: Dict[str, Set[str]]) -> Set[str] → function reprocess_nodes(manager: BuildManager, graph: Dict[str, State], module_id: str, nodeset: Set[FineGrainedDeferredNode], deps: Dict[str, Set[str]], processed_targets: List[str]) -> Set[str] - added:
function re_analyze_nodes(file_node: MypyFile, nodes: List[FineGrainedDeferredNode], manager: BuildManager, options: Options) -> None - added:
method FineGrainedBuildManager.trigger(target: str) -> List[str]
- added:
class ReturnFinder(TraverserVisitor) - added:
class SuggestionEngine - added:
class SuggestionFailure(Exception) - added:
class SuggestionPlugin(Plugin) - added:
constructor ReturnFinder(typemap: Dict[Expression, Type]) -> None - added:
constructor SuggestionEngine(fgmanager: FineGrainedBuildManager) - added:
constructor SuggestionPlugin(target: str) -> None - added:
function count_errors(msgs: List[str]) -> int - added:
function dedup(old: List[T]) -> List[T] - added:
function format_callable(is_method: bool, typ: CallableType) -> str - added:
function format_type(typ: Type) -> str - added:
function generate_type_combinations(types: List[Type]) -> List[Type] - added:
function get_return_types(typemap: Dict[Expression, Type], func: FuncDef) -> List[Type] - added:
function is_explicit_any(typ: AnyType) -> bool - added:
function is_implicit_any(typ: Type) -> bool - added:
function score_callable(t: CallableType) -> int - added:
function score_type(t: Type) -> int - added:
method ReturnFinder.visit_return_stmt(o: ReturnStmt) -> None - added:
method SuggestionEngine.builtin_type(s: str) -> Instance - added:
method SuggestionEngine.ensure_loaded(state: State) -> MypyFile - added:
method SuggestionEngine.find_best(func: FuncDef, guesses: List[CallableType]) -> CallableType - added:
method SuggestionEngine.find_node(key: str) -> Tuple[str, str, FuncDef] - added:
method SuggestionEngine.format_args(arg_kinds: List[List[int]], arg_names: List[List[Optional[str]]], arg_types: List[List[Type]]) -> str - added:
method SuggestionEngine.get_args(is_method: bool, base: CallableType, defaults: List[Optional[Type]], callsites: List[Callsite]) -> List[List[Type]] - added:
method SuggestionEngine.get_callsites(func: FuncDef) -> Tuple[List[Callsite], List[str]] - added:
method SuggestionEngine.get_default_arg_types(state: State, fdef: FuncDef) -> List[Optional[Type]] - added:
method SuggestionEngine.get_guesses(is_method: bool, base: CallableType, defaults: List[Optional[Type]], callsites: List[Callsite]) -> List[CallableType] - added:
method SuggestionEngine.get_suggestion(function: str) -> str - added:
method SuggestionEngine.get_trivial_type(fdef: FuncDef) -> CallableType - added:
method SuggestionEngine.json_suggestion(function: str, suggestion: str) -> str - added:
method SuggestionEngine.reload(state: State, check_errors: bool=…) -> List[str] - added:
method SuggestionEngine.restore_after(target: str) -> Iterator[None] - added:
method SuggestionEngine.suggest(function: str, give_json: bool) -> str - added:
method SuggestionEngine.suggest_callsites(function: str) -> str - added:
method SuggestionEngine.try_type(func: FuncDef, typ: Type) -> List[str] - added:
method SuggestionEngine.with_export_types() -> Iterator[None] - added:
method SuggestionPlugin.get_function_hook(fullname: str) -> Optional[Callable[[FunctionContext], Type]] - added:
method SuggestionPlugin.get_method_hook(fullname: str) -> Optional[Callable[[MethodContext], Type]] - added:
method SuggestionPlugin.log(ctx: Union[FunctionContext, MethodContext]) -> Type - added:
variable Callsite - added:
variable T
- added:
method TypeQuery.visit_placeholder_type(t: PlaceholderType) -> T - added:
method TypeTranslator.visit_placeholder_type(t: PlaceholderType) -> Type - added:
method TypeVisitor.visit_placeholder_type(t: PlaceholderType) -> T
- added:
function tuple_fallback(typ: TupleType) -> Instance
- removed:
field TupleType.fallback - added:
class PlaceholderType(Type) - added:
constructor PlaceholderType(fullname: str, args: List[Type], line: int) -> None - added:
field TupleType.partial_fallback - added:
method PlaceholderType.accept(visitor: TypeVisitor[T]) -> T - added:
method PlaceholderType.serialize() -> str - added:
method TypeStrVisitor.visit_placeholder_type(t: PlaceholderType) -> str
- added:
class TypeTraverserVisitor(SyntheticTypeVisitor[None]) - added:
method TypeTraverserVisitor.traverse_types(types: Iterable[Type]) -> None - added:
method TypeTraverserVisitor.visit_any(t: AnyType) -> None - added:
method TypeTraverserVisitor.visit_callable_argument(t: CallableArgument) -> None - added:
method TypeTraverserVisitor.visit_callable_type(t: CallableType) -> None - added:
method TypeTraverserVisitor.visit_deleted_type(t: DeletedType) -> None - added:
method TypeTraverserVisitor.visit_ellipsis_type(t: EllipsisType) -> None - added:
method TypeTraverserVisitor.visit_erased_type(t: ErasedType) -> None - added:
method TypeTraverserVisitor.visit_forwardref_type(t: ForwardRef) -> None - added:
method TypeTraverserVisitor.visit_instance(t: Instance) -> None - added:
method TypeTraverserVisitor.visit_literal_type(t: LiteralType) -> None - added:
method TypeTraverserVisitor.visit_none_type(t: NoneTyp) -> None - added:
method TypeTraverserVisitor.visit_overloaded(t: Overloaded) -> None - added:
method TypeTraverserVisitor.visit_partial_type(t: PartialType) -> None - added:
method TypeTraverserVisitor.visit_placeholder_type(t: PlaceholderType) -> None - added:
method TypeTraverserVisitor.visit_raw_expression_type(t: RawExpressionType) -> None - added:
method TypeTraverserVisitor.visit_star_type(t: StarType) -> None - added:
method TypeTraverserVisitor.visit_tuple_type(t: TupleType) -> None - added:
method TypeTraverserVisitor.visit_type_list(t: TypeList) -> None - added:
method TypeTraverserVisitor.visit_type_type(t: TypeType) -> None - added:
method TypeTraverserVisitor.visit_type_var(t: TypeVarType) -> None - added:
method TypeTraverserVisitor.visit_typeddict_type(t: TypedDictType) -> None - added:
method TypeTraverserVisitor.visit_unbound_type(t: UnboundType) -> None - added:
method TypeTraverserVisitor.visit_uninhabited_type(t: UninhabitedType) -> None - added:
method TypeTraverserVisitor.visit_union_type(t: UnionType) -> None
- removed:
class redirect_stderr(_RedirectStream) - removed:
class redirect_stdout(_RedirectStream) - added:
function check_python_version(program: str) -> None
- removed:
method StatementVisitor.visit_var(o: mypy.nodes.Var) -> T - added:
method NodeVisitor.visit_placeholder_node(o: mypy.nodes.PlaceholderNode) -> T