Upgrading mypy 0.501 to 0.510
Unknown0.501 → 0.510
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.
- changed:
function run(params: List[str]) -> Tuple[str, str, int] → function run(args: List[str]) -> Tuple[str, str, int]
- removed:
method ConditionalTypeBinder.get_declaration(expr: Node) -> Type - removed:
method ConditionalTypeBinder.push(node: Node, typ: Type) -> None - changed:
method ConditionalTypeBinder.get(expr: Union[Expression, Var]) -> Type → method ConditionalTypeBinder.get(expr: Expression) -> Type - changed:
method ConditionalTypeBinder.invalidate_dependencies(expr: Expression) -> None → method ConditionalTypeBinder.invalidate_dependencies(expr: BindableExpression) -> None - changed:
method ConditionalTypeBinder.most_recent_enclosing_type(expr: Expression, type: Type) -> Type → method ConditionalTypeBinder.most_recent_enclosing_type(expr: BindableExpression, type: Type) -> Type - added:
function get_declaration(expr: BindableExpression) -> Type - added:
method ConditionalTypeBinder.put(expr: Expression, typ: Type) -> None - added:
variable BindableExpression - added:
variable BindableTypes
- changed:
constructor BuildResult(manager: BuildManager) -> None → constructor BuildResult(manager: BuildManager, graph: Graph) -> None - changed:
function dispatch(sources: List[BuildSource], manager: BuildManager) -> None → function dispatch(sources: List[BuildSource], manager: BuildManager) -> Graph - changed:
function process_stale_scc(graph: Graph, scc: List[str]) -> None → function process_stale_scc(graph: Graph, scc: List[str], manager: BuildManager) -> None - changed:
method BuildManager.report_file(file: MypyFile, type_map: Dict[Expression, Type]) -> None → method BuildManager.report_file(file: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - added:
variable MYPY
- removed:
method TypeChecker.check_usable_type(typ: Type, context: Context) -> None - removed:
method TypeChecker.is_unusable_type(typ: Type) -> bool - removed:
method TypeChecker.visit_exec_stmt(s: ExecStmt) -> None - removed:
method TypeChecker.visit_global_decl(s: GlobalDecl) -> None - removed:
method TypeChecker.visit_nonlocal_decl(s: NonlocalDecl) -> None - removed:
method TypeChecker.visit_pass_stmt(s: PassStmt) -> None - removed:
method TypeChecker.visit_var(s: Var) -> None - changed:
class TypeChecker(StatementVisitor[None]) → class TypeChecker(NodeVisitor[None]) - changed:
function conditional_type_map(expr: Expression, current_type: Optional[Type], proposed_type: Optional[Type]) -> Tuple[TypeMap, TypeMap] → function conditional_type_map(expr: Expression, current_type: Optional[Type], proposed_type_ranges: Optional[List[TypeRange]]) -> Tuple[TypeMap, TypeMap] - changed:
function get_isinstance_type(expr: Expression, type_map: Dict[Expression, Type]) -> Type → function get_isinstance_type(expr: Expression, type_map: Dict[Expression, Type]) -> Optional[List[TypeRange]] - changed:
function infer_operator_assignment_method(type: Type, operator: str) -> Tuple[bool, str] → function infer_operator_assignment_method(typ: Type, operator: str) -> Tuple[bool, str] - changed:
method Scope.active_class() -> Optional[Type] → method Scope.active_class() -> Optional[TypeInfo] - changed:
method Scope.push_class(t: Type) -> Iterator[None] → method Scope.push_class(info: TypeInfo) -> Iterator[None] - changed:
method TypeChecker.check_compatibility_all_supers(lvalue: NameExpr, lvalue_type: Type, rvalue: Expression) -> bool → method TypeChecker.check_compatibility_all_supers(lvalue: NameExpr, lvalue_type: Optional[Type], rvalue: Expression) -> bool - changed:
method TypeChecker.check_compatibility_super(lvalue: NameExpr, lvalue_type: Type, rvalue: Expression, base: TypeInfo, base_type: Type, base_node: Node) -> bool → method TypeChecker.check_compatibility_super(lvalue: NameExpr, lvalue_type: Optional[Type], rvalue: Expression, base: TypeInfo, base_type: Type, base_node: Node) -> bool - changed:
method TypeChecker.check_lvalue(lvalue: Lvalue) -> Tuple[Type, IndexExpr, Var] → method TypeChecker.check_lvalue(lvalue: Lvalue) -> Tuple[Optional[Type], Optional[IndexExpr], Optional[Var]] - changed:
method TypeChecker.check_second_pass() -> bool → method TypeChecker.check_second_pass(todo: List[DeferredNode]=…) -> bool - added:
function convert_to_typetype(type_map: TypeMap) -> TypeMap - added:
function flatten_types(t: Type) -> List[Type] - added:
method Scope.active_self_type() -> Optional[Union[Instance, TupleType]] - added:
method TypeChecker.check_compatibility_classvar_super(node: Var, base: TypeInfo, base_node: Node) -> bool - added:
method TypeChecker.check_partial(node: Union[FuncDef, LambdaExpr, MypyFile]) -> None - added:
method TypeChecker.check_top_level(node: MypyFile) -> None - added:
method TypeChecker.get_types_from_except_handler(typ: Type, n: Expression) -> List[Type] - added:
method TypeChecker.is_async_generator_return_type(typ: Type) -> bool - added:
method TypeChecker.note(msg: str, context: Context) -> None - added:
variable TypeRange
- removed:
method ExpressionChecker.check_usable_type(typ: Type, context: Context) -> None - removed:
method ExpressionChecker.is_valid_cast(source_type: Type, target_type: Type) -> bool - removed:
method ExpressionChecker.visit_func_expr(e: FuncExpr) -> Type - changed:
class ArgInferSecondPassQuery(types.TypeQuery) → class ArgInferSecondPassQuery(types.TypeQuery[bool]) - changed:
class HasErasedComponentsQuery(types.TypeQuery) → class HasErasedComponentsQuery(types.TypeQuery[bool]) - changed:
class HasTypeVarQuery(types.TypeQuery) → class HasTypeVarQuery(types.TypeQuery[bool]) - changed:
method ExpressionChecker.accept(node: Expression, type_context: Type=…) -> Type → method ExpressionChecker.accept(node: Expression, type_context: Type=…, allow_none_return: bool=…) -> Type - changed:
method ExpressionChecker.infer_lambda_type_using_context(e: FuncExpr) -> Tuple[Optional[CallableType], Optional[CallableType]] → method ExpressionChecker.infer_lambda_type_using_context(e: LambdaExpr) -> Tuple[Optional[CallableType], Optional[CallableType]] - changed:
method ExpressionChecker.visit_call_expr(e: CallExpr) -> Type → method ExpressionChecker.visit_call_expr(e: CallExpr, allow_none_return: bool=…) -> Type - changed:
method ExpressionChecker.visit_yield_from_expr(e: YieldFromExpr) -> Type → method ExpressionChecker.visit_yield_from_expr(e: YieldFromExpr, allow_none_return: bool=…) -> Type - added:
method ExpressionChecker.visit_enum_call_expr(e: EnumCallExpr) -> Type - added:
method ExpressionChecker.visit_lambda_expr(e: LambdaExpr) -> Type
- changed:
function analyze_class_attribute_access(itype: Instance, name: str, context: Context, is_lvalue: bool, builtin_type: Callable[[str], Instance], not_ready_callback: Callable[[str, Context], None], msg: MessageBuilder, original_type: Type) -> Type → function analyze_class_attribute_access(itype: Instance, name: str, context: Context, is_lvalue: bool, builtin_type: Callable[[str], Instance], not_ready_callback: Callable[[str, Context], None], msg: MessageBuilder, original_type: Type) -> Optional[Type]
- changed:
method StringFormatterChecker.analyze_conversion_specifiers(specifiers: List[ConversionSpecifier], context: Context) -> bool → method StringFormatterChecker.analyze_conversion_specifiers(specifiers: List[ConversionSpecifier], context: Context) -> Optional[bool] - changed:
method StringFormatterChecker.build_replacement_checkers(specifiers: List[ConversionSpecifier], context: Context) -> List[Tuple[Callable[[Expression], None], Callable[[Type], None]]] → method StringFormatterChecker.build_replacement_checkers(specifiers: List[ConversionSpecifier], context: Context, expr: FormatStringExpr) -> Optional[List[Checkers]] - changed:
method StringFormatterChecker.check_mapping_str_interpolation(specifiers: List[ConversionSpecifier], replacements: Expression) -> None → method StringFormatterChecker.check_mapping_str_interpolation(specifiers: List[ConversionSpecifier], replacements: Expression, expr: FormatStringExpr) -> None - changed:
method StringFormatterChecker.check_simple_str_interpolation(specifiers: List[ConversionSpecifier], replacements: Expression) -> None → method StringFormatterChecker.check_simple_str_interpolation(specifiers: List[ConversionSpecifier], replacements: Expression, expr: FormatStringExpr) -> None - changed:
method StringFormatterChecker.check_str_interpolation(str: Union[StrExpr, BytesExpr, UnicodeExpr], replacements: Expression) -> Type → method StringFormatterChecker.check_str_interpolation(expr: FormatStringExpr, replacements: Expression) -> Type - changed:
method StringFormatterChecker.checkers_for_c_type(type: str, context: Context) -> Tuple[Callable[[Expression], None], Callable[[Type], None]] → method StringFormatterChecker.checkers_for_c_type(type: str, context: Context, expr: FormatStringExpr) -> Optional[Checkers] - changed:
method StringFormatterChecker.checkers_for_regular_type(type: str, context: Context) -> Tuple[Callable[[Expression], None], Callable[[Type], None]] → method StringFormatterChecker.checkers_for_regular_type(type: str, context: Context, expr: FormatStringExpr) -> Optional[Checkers] - changed:
method StringFormatterChecker.checkers_for_star(context: Context) -> Tuple[Callable[[Expression], None], Callable[[Type], None]] → method StringFormatterChecker.checkers_for_star(context: Context) -> Checkers - changed:
method StringFormatterChecker.conversion_type(p: str, context: Context) -> Type → method StringFormatterChecker.conversion_type(p: str, context: Context, expr: FormatStringExpr) -> Optional[Type] - changed:
method StringFormatterChecker.replacement_checkers(specifier: ConversionSpecifier, context: Context) -> List[Tuple[Callable[[Expression], None], Callable[[Type], None]]] → method StringFormatterChecker.replacement_checkers(specifier: ConversionSpecifier, context: Context, expr: FormatStringExpr) -> Optional[List[Checkers]] - added:
variable Checkers - added:
variable FormatStringExpr
- removed:
method ConstraintBuilderVisitor.visit_void(template: Void) -> List[Constraint] - changed:
class CompleteTypeVisitor(TypeQuery) → class CompleteTypeVisitor(TypeQuery[bool]) - added:
function is_same_constraint(c1: Constraint, c2: Constraint) -> bool - added:
function is_same_constraints(x: List[Constraint], y: List[Constraint]) -> bool
- removed:
method EraseTypeVisitor.visit_error_type(t: ErrorType) -> Type - removed:
method EraseTypeVisitor.visit_type_list(t: TypeList) -> Type - removed:
method EraseTypeVisitor.visit_void(t: Void) -> Type
- removed:
field Errors.hide_error_context - changed:
constructor ErrorInfo(import_ctx: List[Tuple[str, int]], file: str, typ: str, function_or_member: str, line: int, column: int, severity: str, message: str, blocker: bool, only_once: bool, origin: Tuple[str, int]=…) -> None → constructor ErrorInfo(import_ctx: List[Tuple[str, int]], file: str, module: Optional[str], typ: Optional[str], function_or_member: Optional[str], line: int, column: int, severity: str, message: str, blocker: bool, only_once: bool, origin: Tuple[str, int]=…, target: str=…) -> None - changed:
constructor Errors(hide_error_context: bool=…, show_column_numbers: bool=…) -> None → constructor Errors(show_error_context: bool=…, show_column_numbers: bool=…) -> None - changed:
method Errors.remove_duplicates(errors: List[Tuple[str, int, int, str, str]]) -> List[Tuple[str, int, int, str, str]] → method Errors.remove_duplicates(errors: List[Tuple[Optional[str], int, int, str, str]]) -> List[Tuple[Optional[str], int, int, str, str]] - changed:
method Errors.render_messages(errors: List[ErrorInfo]) -> List[Tuple[str, int, int, str, str]] → method Errors.render_messages(errors: List[ErrorInfo]) -> List[Tuple[Optional[str], int, int, str, str]] - changed:
method Errors.set_file(file: str, ignored_lines: Set[int]=…) -> None → method Errors.set_file(file: str, module: Optional[str], ignored_lines: Set[int]=…) -> None - changed:
method Errors.set_file_ignored_lines(file: str, ignored_lines: Set[int]=…, ignore_all: bool=…) -> None → method Errors.set_file_ignored_lines(file: str, ignored_lines: Set[int], ignore_all: bool=…) -> None - added:
field ErrorInfo.module - added:
field ErrorInfo.target - added:
field Errors.error_files - added:
field Errors.show_error_context - added:
field Errors.target - added:
method Errors.current_module() -> Optional[str] - added:
method Errors.current_target() -> Optional[str] - added:
method Errors.initialize() -> None - added:
method Errors.is_errors_for_file(file: str) -> bool - added:
method Errors.pop_target_component() -> None - added:
method Errors.push_target_component(name: str) -> None - added:
method Errors.reset() -> None - added:
method Errors.targets() -> Set[str]
- removed:
method ExpandTypeVisitor.visit_error_type(t: ErrorType) -> Type - removed:
method ExpandTypeVisitor.visit_type_list(t: TypeList) -> Type - removed:
method ExpandTypeVisitor.visit_void(t: Void) -> Type
- changed:
function expr_to_unanalyzed_type(expr: Expression) -> Type → function expr_to_unanalyzed_type(expr: Expression, _parent: Optional[Expression]=…) -> Type
- removed:
method ASTConverter.stringify_name(n: ast3.AST) -> str - changed:
function parse_type_comment(type_comment: str, line: int, errors: Errors) -> Optional[Type] → function parse_type_comment(type_comment: str, line: int, errors: Optional[Errors]) -> Optional[Type] - changed:
method ASTConverter.visit_Lambda(n: ast3.Lambda) -> FuncExpr → method ASTConverter.visit_Lambda(n: ast3.Lambda) -> LambdaExpr - added:
function stringify_name(n: ast3.AST) -> Optional[str] - added:
method TypeConverter.parent() -> ast3.AST - added:
method TypeConverter.translate_argument_list(l: Sequence[ast3.AST]) -> TypeList - added:
method TypeConverter.visit(node: ast3.AST) -> Type - added:
method TypeConverter.visit_Call(e: ast3.Call) -> Type
- changed:
method ASTConverter.visit_Lambda(n: ast27.Lambda) -> FuncExpr → method ASTConverter.visit_Lambda(n: ast27.Lambda) -> LambdaExpr
- removed:
method TypeFixer.visit_ellipsis_type(e: EllipsisType) -> None - removed:
method TypeFixer.visit_type_list(tl: TypeList) -> None - changed:
constructor NodeFixer(modules: Dict[str, MypyFile], type_fixer: TypeFixer=…) -> None → constructor NodeFixer(modules: Dict[str, MypyFile], quick_and_dirty: bool) -> None - changed:
constructor TypeFixer(modules: Dict[str, MypyFile]) -> None → constructor TypeFixer(modules: Dict[str, MypyFile], quick_and_dirty: bool) -> None - changed:
function fixup_module_pass_one(tree: MypyFile, modules: Dict[str, MypyFile]) -> None → function fixup_module_pass_one(tree: MypyFile, modules: Dict[str, MypyFile], quick_and_dirty: bool) -> None - changed:
function fixup_module_pass_two(tree: MypyFile, modules: Dict[str, MypyFile]) -> None → function fixup_module_pass_two(tree: MypyFile, modules: Dict[str, MypyFile], quick_and_dirty: bool) -> None - changed:
function lookup_qualified(modules: Dict[str, MypyFile], name: str) -> SymbolNode → function lookup_qualified(modules: Dict[str, MypyFile], name: str, quick_and_dirty: bool) -> Optional[SymbolNode] - changed:
function lookup_qualified_stnode(modules: Dict[str, MypyFile], name: str) -> SymbolTableNode → function lookup_qualified_stnode(modules: Dict[str, MypyFile], name: str, quick_and_dirty: bool) -> Optional[SymbolTableNode]
- removed:
method TypeIndirectionVisitor.visit_error_type(t: types.ErrorType) -> Set[str] - removed:
method TypeIndirectionVisitor.visit_void(t: types.Void) -> Set[str] - changed:
class TypeIndirectionVisitor(TypeVisitor[Set[str]]) → class TypeIndirectionVisitor(SyntheticTypeVisitor[Set[str]]) - added:
method TypeIndirectionVisitor.visit_callable_argument(t: types.CallableArgument) -> Set[str]
- changed:
function infer_function_type_arguments(callee_type: CallableType, arg_types: List[Optional[Type]], arg_kinds: List[int], formal_to_actual: List[List[int]], strict: bool=…) -> List[Type] → function infer_function_type_arguments(callee_type: CallableType, arg_types: List[Optional[Type]], arg_kinds: List[int], formal_to_actual: List[List[int]], strict: bool=…) -> List[Optional[Type]] - changed:
function infer_type_arguments(type_var_ids: List[TypeVarId], template: Type, actual: Type) -> List[Type] → function infer_type_arguments(type_var_ids: List[TypeVarId], template: Type, actual: Type) -> List[Optional[Type]]
- removed:
method TypeJoinVisitor.visit_error_type(t: ErrorType) -> Type - removed:
method TypeJoinVisitor.visit_type_list(t: TypeList) -> Type - removed:
method TypeJoinVisitor.visit_void(t: Void) -> Type - added:
function join_similar_callables(t: CallableType, s: CallableType) -> CallableType
- removed:
class Bom(Token) - removed:
class Break(Token) - removed:
class BytesLit(Token) - removed:
class Colon(Token) - removed:
class ComplexLit(Token) - removed:
class Dedent(Token) - removed:
class EllipsisToken(Token) - removed:
class Eof(Token) - removed:
class FloatLit(Token) - removed:
class Indent(Token) - removed:
class IntLit(Token) - removed:
class Keyword(Token) - removed:
class LexError(Token) - removed:
class Lexer - removed:
class Name(Token) - removed:
class Op(Token) - removed:
class Punct(Token) - removed:
class StrLit(Token) - removed:
class Token - removed:
class UnicodeLit(Token) - removed:
constructor LexError(string: str, type: int, message: str=…) -> None - removed:
constructor Lexer(pyversion: Tuple[int, int]=…, is_stub_file: bool=…) -> None - removed:
constructor Token(string: str, pre: str=…) -> None - removed:
field Lexer.backslash_exp - removed:
field Lexer.break_exp - removed:
field Lexer.close_bracket_exp - removed:
field Lexer.column - removed:
field Lexer.comment_exp - removed:
field Lexer.comment_or_newline - removed:
field Lexer.ellipsis_exp - removed:
field Lexer.enc - removed:
field Lexer.i - removed:
field Lexer.ignored_lines - removed:
field Lexer.indent_exp - removed:
field Lexer.indents - removed:
field Lexer.line - removed:
field Lexer.map - removed:
field Lexer.name_char_exp - removed:
field Lexer.name_exp - removed:
field Lexer.number_complex - removed:
field Lexer.number_exp - removed:
field Lexer.number_exp2 - removed:
field Lexer.octal_int - removed:
field Lexer.open_bracket - removed:
field Lexer.open_bracket_exp - removed:
field Lexer.open_brackets - removed:
field Lexer.pre_whitespace - removed:
field Lexer.pyversion - removed:
field Lexer.s - removed:
field Lexer.space_exp - removed:
field Lexer.str_exp_double - removed:
field Lexer.str_exp_double3 - removed:
field Lexer.str_exp_double3end - removed:
field Lexer.str_exp_double_multi - removed:
field Lexer.str_exp_raw_double - removed:
field Lexer.str_exp_raw_double_multi - removed:
field Lexer.str_exp_raw_single - removed:
field Lexer.str_exp_raw_single_multi - removed:
field Lexer.str_exp_single - removed:
field Lexer.str_exp_single3 - removed:
field Lexer.str_exp_single3end - removed:
field Lexer.str_exp_single_multi - removed:
field Lexer.tok - removed:
field Lexer.type_ignore_exp - removed:
function escape_repl(m: Match[str], prefix: str) -> str - removed:
function lex(string: Union[str, bytes], first_line: int=…, pyversion: Tuple[int, int]=…, is_stub_file: bool=…) -> Tuple[List[Token], Set[int]] - removed:
method BytesLit.parsed() -> str - removed:
method Lexer.add_pre_whitespace(s: str) -> None - removed:
method Lexer.add_special_token(tok: Token, line: int, skip: int) -> None - removed:
method Lexer.add_token(tok: Token) -> None - removed:
method Lexer.calc_indent(s: str) -> int - removed:
method Lexer.ignore_break() -> bool - removed:
method Lexer.is_at_ellipsis() -> bool - removed:
method Lexer.is_at_number() -> bool - removed:
method Lexer.lex(text: Union[str, bytes], first_line: int) -> None - removed:
method Lexer.lex_backslash() -> None - removed:
method Lexer.lex_break() -> None - removed:
method Lexer.lex_close_bracket() -> None - removed:
method Lexer.lex_colon() -> None - removed:
method Lexer.lex_comment() -> None - removed:
method Lexer.lex_ellipsis() -> None - removed:
method Lexer.lex_indent() -> None - removed:
method Lexer.lex_misc() -> None - removed:
method Lexer.lex_multiline_string_literal(re_end: Pattern[str], prefix: str) -> None - removed:
method Lexer.lex_name() -> None - removed:
method Lexer.lex_number() -> None - removed:
method Lexer.lex_number_or_dot() -> None - removed:
method Lexer.lex_open_bracket() -> None - removed:
method Lexer.lex_prefixed_str(prefix: str) -> None - removed:
method Lexer.lex_semicolon() -> None - removed:
method Lexer.lex_space() -> None - removed:
method Lexer.lex_str(regex: Pattern[str], re2: Pattern[str], re3: Pattern[str], re3end: Pattern[str], prefix: str=…) -> None - removed:
method Lexer.lex_str_double() -> None - removed:
method Lexer.lex_str_single() -> None - removed:
method Lexer.lex_triple_quoted_str(re3end: Pattern[str], prefix: str) -> None - removed:
method Lexer.match(pattern: Pattern[str]) -> str - removed:
method Lexer.report_unicode_decode_error(exc: UnicodeDecodeError, text: bytes) -> None - removed:
method Lexer.report_unknown_encoding(encoding_line: int) -> None - removed:
method Lexer.unknown_character() -> None - removed:
method StrLit.parsed() -> str - removed:
method Token.fix(s: str) -> str - removed:
method Token.rep() -> str - removed:
method UnicodeLit.parsed() -> str - removed:
variable DECODE_ERROR - removed:
variable INVALID_BACKSLASH - removed:
variable INVALID_CHARACTER - removed:
variable INVALID_DEDENT - removed:
variable NUMERIC_LITERAL_ERROR - removed:
variable UNTERMINATED_STRING_LITERAL - removed:
variable alpha_operators - removed:
variable escape_map - removed:
variable escape_re - removed:
variable fnam - removed:
variable keywords2 - removed:
variable keywords3 - removed:
variable keywords_common - removed:
variable operators - removed:
variable punctuators - removed:
variable str_prefix_re - removed:
variable str_prefixes
- changed:
function main(script_path: str) -> None → function main(script_path: str, args: List[str]=…) -> None
- removed:
function meet_simple(s: Type, t: Type, default_right: bool=…) -> Type - removed:
method TypeMeetVisitor.visit_error_type(t: ErrorType) -> Type - removed:
method TypeMeetVisitor.visit_type_list(t: TypeList) -> Type - removed:
method TypeMeetVisitor.visit_void(t: Void) -> Type - added:
function meet_similar_callables(t: CallableType, s: CallableType) -> CallableType - added:
function narrow_declared_type(declared: Type, narrowed: Type) -> Type
- removed:
method MessageBuilder.check_unusable_type(typ: Type, context: Context) -> bool - removed:
method MessageBuilder.invalid_cast(target_type: Type, source_type: Type, context: Context) -> None - changed:
method MessageBuilder.does_not_return_value(unusable_type: Type, context: Context) -> None → method MessageBuilder.does_not_return_value(callee_type: Type, context: Context) -> None - added:
method MessageBuilder.cant_assign_to_classvar(name: str, context: Context) -> None - added:
method MessageBuilder.overloaded_signatures_arg_specific(index1: int, context: Context) -> None - added:
method MessageBuilder.overloaded_signatures_ret_specific(index1: int, context: Context) -> None - added:
method MessageBuilder.type_arguments_not_allowed(context: Context) -> None - added:
variable GENERIC_INSTANCE_VAR_CLASS_ACCESS - added:
variable INVALID_RETURN_TYPE_FOR_ASYNC_GENERATOR
- removed:
class FuncExpr(FuncItem, Expression) - removed:
field Node.literal - removed:
field Node.literal_hash - removed:
field SymbolTableNode.tvar_def - removed:
field TypeInfo.alt_fullname - removed:
method FuncExpr.accept(visitor: ExpressionVisitor[T]) -> T - removed:
method FuncExpr.expr() -> Expression - removed:
method FuncExpr.name() -> str - removed:
property SymbolTableNode.fullname -> str - removed:
property SymbolTableNode.type -> mypy.types.Type - removed:
variable BOUND_TVAR - removed:
variable UNBOUND_TVAR - changed:
constructor CallExpr(callee: Expression, args: List[Expression], arg_kinds: List[int], arg_names: List[str]=…, analyzed: Expression=…) -> None → constructor CallExpr(callee: Expression, args: List[Expression], arg_kinds: List[int], arg_names: List[Optional[str]]=…, analyzed: Expression=…) -> None - changed:
constructor DictionaryComprehension(key: Expression, value: Expression, indices: List[Lvalue], sequences: List[Expression], condlists: List[List[Expression]]) -> None → constructor DictionaryComprehension(key: Expression, value: Expression, indices: List[Lvalue], sequences: List[Expression], condlists: List[List[Expression]], is_async: List[bool]) -> None - changed:
constructor ForStmt(index: Lvalue, expr: Expression, body: Block, else_body: Block, index_type: mypy.types.Type=…) -> None → constructor ForStmt(index: Lvalue, expr: Expression, body: Block, else_body: Optional[Block], index_type: mypy.types.Type=…) -> None - changed:
constructor GeneratorExpr(left_expr: Expression, indices: List[Lvalue], sequences: List[Expression], condlists: List[List[Expression]]) -> None → constructor GeneratorExpr(left_expr: Expression, indices: List[Lvalue], sequences: List[Expression], condlists: List[List[Expression]], is_async: List[bool]) -> None - changed:
constructor IfStmt(expr: List[Expression], body: List[Block], else_body: Block) -> None → constructor IfStmt(expr: List[Expression], body: List[Block], else_body: Optional[Block]) -> None - changed:
constructor OverloadedFuncDef(items: List[Decorator]) -> None → constructor OverloadedFuncDef(items: List[OverloadPart]) -> None - changed:
constructor RaiseStmt(expr: Expression, from_expr: Expression=…) -> None → constructor RaiseStmt(expr: Optional[Expression], from_expr: Optional[Expression]) -> None - changed:
constructor SymbolTableNode(kind: int, node: Optional[SymbolNode], mod_id: str=…, typ: mypy.types.Type=…, tvar_def: mypy.types.TypeVarDef=…, module_public: bool=…) -> None → constructor SymbolTableNode(kind: int, node: Optional[SymbolNode], mod_id: str=…, typ: mypy.types.Type=…, module_public: bool=…, normalized: bool=…) -> None - changed:
constructor TryStmt(body: Block, vars: List[NameExpr], types: List[Expression], handlers: List[Block], else_body: Block, finally_body: Block) -> None → constructor TryStmt(body: Block, vars: List[Optional[NameExpr]], types: List[Optional[Expression]], handlers: List[Block], else_body: Optional[Block], finally_body: Optional[Block]) -> None - changed:
constructor WhileStmt(expr: Expression, body: Block, else_body: Block) -> None → constructor WhileStmt(expr: Expression, body: Block, else_body: Optional[Block]) -> None - changed:
constructor WithStmt(expr: List[Expression], target: List[Lvalue], body: Block, target_type: mypy.types.Type=…) -> None → constructor WithStmt(expr: List[Expression], target: List[Optional[Lvalue]], body: Block, target_type: mypy.types.Type=…) -> None - changed:
function get_member_expr_fullname(expr: MemberExpr) -> str → function get_member_expr_fullname(expr: MemberExpr) -> Optional[str] - changed:
method Argument.set_line(target: Union[Token, Node, int], column: int=…) -> None → method Argument.set_line(target: Union[Node, int], column: int=…) -> None - changed:
method FuncItem.set_line(target: Union[Token, Node, int], column: int=…) -> None → method FuncItem.set_line(target: Union[Node, int], column: int=…) -> None - changed:
method Node.set_line(target: Union[Token, Node, int], column: int=…) -> None → method Node.set_line(target: Union[Node, int], column: int=…) -> None - changed:
method TypeInfo.get(name: str) -> SymbolTableNode → method TypeInfo.get(name: str) -> Optional[SymbolTableNode] - changed:
method TypeInfo.get_method(name: str) -> FuncBase → method TypeInfo.get_method(name: str) -> Optional[FuncBase] - added:
class EnumCallExpr(Expression) - added:
class FakeInfo(TypeInfo) - added:
class LambdaExpr(FuncItem, Expression) - added:
constructor EnumCallExpr(info: TypeInfo, items: List[str], values: List[Optional[Expression]]) -> None - added:
field AssignmentStmt.unanalyzed_type - added:
field DictionaryComprehension.is_async - added:
field EnumCallExpr.info - added:
field EnumCallExpr.items - added:
field EnumCallExpr.values - added:
field Expression.literal - added:
field Expression.literal_hash - added:
field FuncBase.unanalyzed_type - added:
field FuncItem.is_async_generator - added:
field GeneratorExpr.is_async - added:
field OverloadedFuncDef.impl - added:
field SymbolTableNode.normalized - added:
field Var.is_classvar - added:
function check_arg_kinds(arg_kinds: List[int], nodes: List[T], fail: Callable[[str, T], None]) -> None - added:
function check_arg_names(names: List[str], nodes: List[T], fail: Callable[[str, T], None], description: str=…) -> None - added:
method EnumCallExpr.accept(visitor: ExpressionVisitor[T]) -> T - added:
method LambdaExpr.accept(visitor: ExpressionVisitor[T]) -> T - added:
method LambdaExpr.expr() -> Expression - added:
method LambdaExpr.name() -> str - added:
method TypeInfo.add_type_vars() -> None - added:
method TypeInfo.dump(str_conv: mypy.strconv.StrConv=…, type_str_conv: mypy.types.TypeStrVisitor=…) -> str - added:
property SymbolTableNode.fullname -> Optional[str] - added:
property SymbolTableNode.type -> Optional[mypy.types.Type] - added:
variable OverloadPart - added:
variable TVAR - added:
variable collections_type_aliases - added:
variable deserialize_map - added:
variable nongen_builtins - added:
variable reverse_collection_aliases
- removed:
class ParseError(Exception) - removed:
class Parser - removed:
constructor Parser(fnam: str, errors: Errors, pyversion: Tuple[int, int], custom_typing_module: str=…, is_stub_file: bool=…) -> None - removed:
field Parser.annotation_prefix_re - removed:
field Parser.errors - removed:
field Parser.future_options - removed:
field Parser.ignore_prefix_re - removed:
field Parser.ignored_lines - removed:
field Parser.imports - removed:
field Parser.ind - removed:
field Parser.is_class_body - removed:
field Parser.octal_int - removed:
field Parser.raise_on_error - removed:
field Parser.tok - removed:
function token_repr(tok: Token) -> str - removed:
function usage() -> None - removed:
method Parser.build_func_annotation(ret_type: Type, args: List[Argument], line: int, column: int, is_default_ret: bool=…, *, include_names: bool=…) -> CallableType - removed:
method Parser.check_argument_kinds(funckinds: List[int], sigkinds: List[int], line: int, column: int) -> None - removed:
method Parser.check_duplicate_argument_names(names: List[str]) -> None - removed:
method Parser.construct_function_type(args: List[Argument], ret_type: Type, line: int, column: int, include_names: bool=…) -> CallableType - removed:
method Parser.current() -> Token - removed:
method Parser.current_str() -> str - removed:
method Parser.eof() -> bool - removed:
method Parser.eol() -> bool - removed:
method Parser.expect(string: str) -> Token - removed:
method Parser.expect_break() -> Token - removed:
method Parser.expect_indent() -> Token - removed:
method Parser.expect_type(typ: type) -> Token - removed:
method Parser.fail(msg: str, line: int, column: int) -> None - removed:
method Parser.find_tuple_arg_argument_names(node: Expression) -> List[str] - removed:
method Parser.is_no_type_check_decorator(expr: Expression) -> bool - removed:
method Parser.parse(s: Union[str, bytes]) -> MypyFile - removed:
method Parser.parse_arg_expr() -> Tuple[List[Expression], List[int], List[str]] - removed:
method Parser.parse_arg_list(allow_signature: bool=…, no_type_checks: bool=…) -> Tuple[List[Argument], List[AssignmentStmt]] - removed:
method Parser.parse_arg_type(allow_signature: bool) -> Type - removed:
method Parser.parse_args(no_type_checks: bool=…, include_names: bool=…) -> Tuple[List[Argument], CallableType, List[AssignmentStmt]] - removed:
method Parser.parse_assert_stmt() -> AssertStmt - removed:
method Parser.parse_assignment(lvalue: Expression) -> AssignmentStmt - removed:
method Parser.parse_asterisk_arg(allow_signature: bool, no_type_checks: bool) -> Argument - removed:
method Parser.parse_backquote_expr() -> BackquoteExpr - removed:
method Parser.parse_bin_op_expr(left: Expression, prec: int) -> OpExpr - removed:
method Parser.parse_block(allow_type: bool=…) -> Tuple[Block, Type] - removed:
method Parser.parse_bom() -> bool - removed:
method Parser.parse_break_stmt() -> BreakStmt - removed:
method Parser.parse_bytes_literal() -> Union[BytesExpr, StrExpr] - removed:
method Parser.parse_call_expr(callee: Expression) -> CallExpr - removed:
method Parser.parse_class_def() -> ClassDef - removed:
method Parser.parse_class_keywords() -> Optional[str] - removed:
method Parser.parse_comp_for() -> Tuple[List[Expression], List[Expression], List[List[Expression]]] - removed:
method Parser.parse_comparison_expr(left: Expression, prec: int) -> ComparisonExpr - removed:
method Parser.parse_complex_expr() -> ComplexExpr - removed:
method Parser.parse_conditional_expr(left_expr: Expression) -> ConditionalExpr - removed:
method Parser.parse_continue_stmt() -> ContinueStmt - removed:
method Parser.parse_decorated_function_or_class() -> Union[Decorator, ClassDef] - removed:
method Parser.parse_defs() -> List[Statement] - removed:
method Parser.parse_del_stmt() -> DelStmt - removed:
method Parser.parse_dict_comprehension(key: Expression, value: Expression, colon: Token) -> DictionaryComprehension - removed:
method Parser.parse_dict_or_set_expr() -> Union[SetComprehension, SetExpr, DictionaryComprehension, DictExpr] - removed:
method Parser.parse_ellipsis() -> EllipsisExpr - removed:
method Parser.parse_empty_tuple_expr() -> TupleExpr - removed:
method Parser.parse_error() -> ParseError - removed:
method Parser.parse_error_at(tok: Token, skip: bool=…, reason: Optional[str]=…) -> None - removed:
method Parser.parse_exec_stmt() -> ExecStmt - removed:
method Parser.parse_expression(prec: int=…, star_expr_allowed: bool=…) -> Expression - removed:
method Parser.parse_expression_list() -> Expression - removed:
method Parser.parse_expression_or_assignment() -> Union[AssignmentStmt, OperatorAssignmentStmt, ExpressionStmt] - removed:
method Parser.parse_file() -> MypyFile - removed:
method Parser.parse_float_expr() -> FloatExpr - removed:
method Parser.parse_for_index_variables() -> Expression - removed:
method Parser.parse_for_stmt() -> ForStmt - removed:
method Parser.parse_function(no_type_checks: bool=…) -> FuncDef - removed:
method Parser.parse_function_header(no_type_checks: bool=…) -> Tuple[str, List[Argument], CallableType, bool, List[AssignmentStmt]] - removed:
method Parser.parse_generator_expr(left_expr: Expression) -> GeneratorExpr - removed:
method Parser.parse_global_decl() -> GlobalDecl - removed:
method Parser.parse_identifier_list() -> List[str] - removed:
method Parser.parse_if_stmt() -> IfStmt - removed:
method Parser.parse_import() -> Import - removed:
method Parser.parse_import_from() -> ImportBase - removed:
method Parser.parse_import_name() -> Tuple[str, Optional[str]] - removed:
method Parser.parse_index_expr(base: Expression) -> IndexExpr - removed:
method Parser.parse_int_expr() -> IntExpr - removed:
method Parser.parse_lambda_expr() -> FuncExpr - removed:
method Parser.parse_list_expr() -> Union[ListExpr, ListComprehension] - removed:
method Parser.parse_member_expr(expr: Expression) -> Union[SuperExpr, MemberExpr] - removed:
method Parser.parse_name_expr() -> NameExpr - removed:
method Parser.parse_nonlocal_decl() -> NonlocalDecl - removed:
method Parser.parse_normal_arg(require_named: bool, allow_signature: bool, no_type_checks: bool) -> Tuple[Argument, bool] - removed:
method Parser.parse_parameter_annotation() -> Expression - removed:
method Parser.parse_parentheses() -> Expression - removed:
method Parser.parse_pass_stmt() -> PassStmt - removed:
method Parser.parse_print_stmt() -> PrintStmt - removed:
method Parser.parse_qualified_name() -> str - removed:
method Parser.parse_raise_stmt() -> RaiseStmt - removed:
method Parser.parse_return_stmt() -> ReturnStmt - removed:
method Parser.parse_set_comprehension(expr: Expression) -> SetComprehension - removed:
method Parser.parse_set_expr(first: Expression) -> SetExpr - removed:
method Parser.parse_slice_item() -> Expression - removed:
method Parser.parse_star_expr() -> StarExpr - removed:
method Parser.parse_statement() -> Tuple[Statement, bool] - removed:
method Parser.parse_str_expr() -> Union[UnicodeExpr, StrExpr] - removed:
method Parser.parse_super_type() -> Expression - removed:
method Parser.parse_try_stmt() -> TryStmt - removed:
method Parser.parse_tuple_arg(index: int) -> Tuple[Argument, AssignmentStmt, List[str]] - removed:
method Parser.parse_tuple_expr(expr: Expression, prec: int=…) -> TupleExpr - removed:
method Parser.parse_type() -> Type - removed:
method Parser.parse_type_comment(token: Token, signature: bool) -> Type - removed:
method Parser.parse_unary_expr() -> UnaryExpr - removed:
method Parser.parse_unicode_literal() -> Union[StrExpr, UnicodeExpr] - removed:
method Parser.parse_while_stmt() -> WhileStmt - removed:
method Parser.parse_with_stmt() -> WithStmt - removed:
method Parser.parse_yield_or_yield_from_expr() -> Union[YieldFromExpr, YieldExpr] - removed:
method Parser.peek() -> Token - removed:
method Parser.set_type_optional(type: Type, initializer: Expression) -> None - removed:
method Parser.skip() -> Token - removed:
method Parser.skip_until_break() -> None - removed:
method Parser.skip_until_next_line() -> None - removed:
method Parser.translate_module_id(id: str) -> str - removed:
method Parser.try_combine_overloads(s: Statement, stmt: List[Statement]) -> bool - removed:
method Parser.verify_argument_kinds(kinds: List[int], line: int, column: int) -> None - removed:
method Parser.verify_tuple_arg(paren_arg: Expression) -> None - removed:
variable args - removed:
variable none - removed:
variable op_assign - removed:
variable op_comp - removed:
variable precedence - removed:
variable pyversion - removed:
variable quiet - removed:
variable status - changed:
function parse(source: Union[str, bytes], fnam: str, errors: Errors, options: Options) -> MypyFile → function parse(source: Union[str, bytes], fnam: str, errors: Optional[Errors], options: Options) -> MypyFile
- removed:
class TypeParseError(Exception) - removed:
class TypeParser - removed:
constructor TypeParseError(token: Token, index: int, message: Optional[str]=…) -> None - removed:
constructor TypeParser(tok: List[Token], ind: int) -> None - removed:
function parse_signature(tokens: List[Token]) -> Tuple[CallableType, int] - removed:
function parse_str_as_type(typestr: str, line: int) -> Type - removed:
function parse_type(tok: List[Token], index: int) -> Tuple[Type, int] - removed:
function parse_types(tok: List[Token], index: int) -> Tuple[Type, int] - removed:
method TypeParser.current_token() -> Token - removed:
method TypeParser.current_token_str() -> str - removed:
method TypeParser.expect(string: str) -> Token - removed:
method TypeParser.expect_type(typ: type) -> Token - removed:
method TypeParser.index() -> int - removed:
method TypeParser.parse_ellipsis_type() -> Type - removed:
method TypeParser.parse_error() -> TypeParseError - removed:
method TypeParser.parse_named_type() -> Type - removed:
method TypeParser.parse_parens() -> Type - removed:
method TypeParser.parse_star_type() -> Type - removed:
method TypeParser.parse_type() -> Type - removed:
method TypeParser.parse_type_list() -> TypeList - removed:
method TypeParser.parse_types() -> Type - removed:
method TypeParser.skip() -> Token - removed:
variable none
- changed:
method AbstractReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method AbstractReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - changed:
method CoberturaXmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method CoberturaXmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - changed:
method LineCountReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method LineCountReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - changed:
method LineCoverageReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method LineCoverageReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - changed:
method MemoryXmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method MemoryXmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - changed:
method OldHtmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method OldHtmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - changed:
method Reports.file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method Reports.file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - changed:
method XmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method XmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - changed:
method XsltHtmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method XsltHtmlReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None - changed:
method XsltTxtReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type]) -> None → method XsltTxtReporter.on_file(tree: MypyFile, type_map: Dict[Expression, Type], options: Options) -> None
- removed:
method SameTypeVisitor.visit_error_type(left: ErrorType) -> bool - removed:
method SameTypeVisitor.visit_type_list(t: TypeList) -> bool - removed:
method SameTypeVisitor.visit_void(left: Void) -> bool
- removed:
field SemanticAnalyzer.next_function_tvar_id_stack - removed:
field SemanticAnalyzer.tvar_stack - removed:
function disable_typevars(nodes: List[SymbolTableNode]) -> None - removed:
function enable_typevars(nodes: List[SymbolTableNode]) -> None - removed:
method SemanticAnalyzer.add_func_type_variables_to_symbol_table(defn: FuncItem) -> List[SymbolTableNode] - removed:
method SemanticAnalyzer.bind_class_type_variables_in_symbol_table(info: TypeInfo) -> List[SymbolTableNode] - removed:
method SemanticAnalyzer.bind_class_type_vars(defn: ClassDef) -> None - removed:
method SemanticAnalyzer.bind_type_var(fullname: str, tvar_def: TypeVarDef, context: Context) -> SymbolTableNode - removed:
method SemanticAnalyzer.find_type_variables_in_type(type: Type) -> List[Tuple[str, TypeVarExpr]] - removed:
method SemanticAnalyzer.get_tvars(tp: Type) -> List[Tuple[str, TypeVarExpr]] - removed:
method SemanticAnalyzer.infer_type_variables(type: CallableType) -> List[Tuple[str, TypeVarExpr]] - removed:
method SemanticAnalyzer.is_defined_type_var(tvar: str, context: Context) -> bool - removed:
method SemanticAnalyzer.next_function_tvar_id() -> int - removed:
method SemanticAnalyzer.remove_dups(tvars: List[T]) -> List[T] - removed:
method SemanticAnalyzer.type_var_names() -> Set[str] - removed:
method SemanticAnalyzer.unbind_class_type_vars() -> None - removed:
method SemanticAnalyzer.visit_func_expr(expr: FuncExpr) -> None - changed:
method SemanticAnalyzer.anal_type(t: Type, allow_tuple_literal: bool=…, aliasing: bool=…) -> Type → method SemanticAnalyzer.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…) -> Type - changed:
method SemanticAnalyzer.analyze_typevar_declaration(t: Type) -> Optional[List[Tuple[str, TypeVarExpr]]] → method SemanticAnalyzer.analyze_typevar_declaration(t: Type) -> Optional[TypeVarList] - changed:
method SemanticAnalyzer.build_namedtuple_typeinfo(name: str, items: List[str], types: List[Type]) -> TypeInfo → method SemanticAnalyzer.build_namedtuple_typeinfo(name: str, items: List[str], types: List[Type], default_items: Dict[str, Expression]) -> TypeInfo - changed:
method SemanticAnalyzer.check_namedtuple_classdef(defn: ClassDef) -> Tuple[List[str], List[Type]] → method SemanticAnalyzer.check_namedtuple_classdef(defn: ClassDef) -> Tuple[List[str], List[Type], Dict[str, Expression]] - changed:
method SemanticAnalyzer.get_all_bases_tvars(defn: ClassDef, removed: List[int]) -> List[Tuple[str, TypeVarExpr]] → method SemanticAnalyzer.get_all_bases_tvars(defn: ClassDef, removed: List[int]) -> TypeVarList - changed:
method SemanticAnalyzer.process_typevar_parameters(args: List[Expression], names: List[Optional[str]], kinds: List[int], has_values: bool, context: Context) -> Optional[Tuple[int, Type]] → method SemanticAnalyzer.process_typevar_parameters(args: List[Expression], names: List[Optional[str]], kinds: List[int], num_values: int, context: Context) -> Optional[Tuple[int, Type]] - changed:
method SemanticAnalyzer.update_function_type_variables(defn: FuncDef) -> None → method SemanticAnalyzer.update_function_type_variables(fun_type: CallableType, defn: FuncItem) -> None - added:
field SemanticAnalyzer.tvar_scope - added:
method SemanticAnalyzer.analyze_class_body(defn: ClassDef) -> Iterator[bool] - added:
method SemanticAnalyzer.build_enum_call_typeinfo(name: str, items: List[str], fullname: str) -> TypeInfo - added:
method SemanticAnalyzer.check_classvar(s: AssignmentStmt) -> None - added:
method SemanticAnalyzer.check_classvar_in_signature(typ: Type) -> None - added:
method SemanticAnalyzer.check_enum_call(node: Expression, var_name: str=…) -> Optional[TypeInfo] - added:
method SemanticAnalyzer.fail_enum_call_arg(message: str, context: Context) -> Tuple[List[str], List[Optional[Expression]], bool] - added:
method SemanticAnalyzer.fail_invalid_classvar(context: Context) -> None - added:
method SemanticAnalyzer.file_context(file_node: MypyFile, fnam: str, options: Options, active_type: Optional[TypeInfo]) -> Iterator[None] - added:
method SemanticAnalyzer.is_classvar(typ: Type) -> bool - added:
method SemanticAnalyzer.lookup_type_node(expr: Expression) -> Optional[SymbolTableNode] - added:
method SemanticAnalyzer.parse_enum_call_args(call: CallExpr, class_name: str) -> Tuple[List[str], List[Optional[Expression]], bool] - added:
method SemanticAnalyzer.process_enum_call(s: AssignmentStmt) -> None - added:
method SemanticAnalyzer.refresh_class_def(defn: ClassDef) -> None - added:
method SemanticAnalyzer.refresh_partial(node: Union[MypyFile, FuncItem]) -> None - added:
method SemanticAnalyzer.refresh_top_level(file_node: MypyFile) -> None - added:
method SemanticAnalyzer.tvar_scope_frame(frame: TypeVarScope) -> Iterator[None] - added:
method SemanticAnalyzer.type_analyzer(*, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, aliasing: bool=…) -> TypeAnalyser - added:
method SemanticAnalyzer.visit_lambda_expr(expr: LambdaExpr) -> None - added:
method ThirdPass.refresh_partial(node: Union[MypyFile, FuncItem]) -> None - added:
method ThirdPass.refresh_top_level(file_node: MypyFile) -> None
- changed:
function solve_constraints(vars: List[TypeVarId], constraints: List[Constraint], strict: bool=…) -> List[Type] → function solve_constraints(vars: List[TypeVarId], constraints: List[Constraint], strict: bool=…) -> List[Optional[Type]]
- changed:
class HasAnyQuery(TypeQuery) → class HasAnyQuery(TypeQuery[bool])
- removed:
method StrConv.visit_func_expr(o: mypy.nodes.FuncExpr) -> str - changed:
method StrConv.pretty_name(name: str, kind: int, fullname: str, is_def: bool) -> str → method StrConv.pretty_name(name: str, kind: int, fullname: str, is_def: bool, target_node: mypy.nodes.Node=…) -> str - added:
constructor StrConv(show_ids: bool=…) -> None - added:
function dump_tagged(nodes: Sequence[object], tag: Optional[str], str_conv: StrConv) -> str - added:
function indent(s: str, n: int) -> str - added:
method StrConv.format_id(o: object) -> str - added:
method StrConv.get_id(o: object) -> Optional[int] - added:
method StrConv.visit_enum_call_expr(o: mypy.nodes.EnumCallExpr) -> str - added:
method StrConv.visit_lambda_expr(o: mypy.nodes.LambdaExpr) -> str - added:
method StrConv.visit_temp_node(o: mypy.nodes.TempNode) -> str
- changed:
function generate_stub(path: str, output_dir: str, _all_: Optional[List[str]]=…, target: str=…, add_header: bool=…, module: str=…, pyversion: Tuple[int, int]=…, fast_parser: bool=…) -> None → function generate_stub(path: str, output_dir: str, _all_: Optional[List[str]]=…, target: str=…, add_header: bool=…, module: str=…, pyversion: Tuple[int, int]=…) -> None - changed:
function generate_stub_for_module(module: str, output_dir: str, quiet: bool=…, add_header: bool=…, sigs: Dict[str, str]=…, class_sigs: Dict[str, str]=…, pyversion: Tuple[int, int]=…, fast_parser: bool=…, no_import: bool=…, search_path: List[str]=…, interpreter: str=…) -> None → function generate_stub_for_module(module: str, output_dir: str, quiet: bool=…, add_header: bool=…, sigs: Dict[str, str]=…, class_sigs: Dict[str, str]=…, pyversion: Tuple[int, int]=…, no_import: bool=…, search_path: List[str]=…, interpreter: str=…) -> None - changed:
method StubGenerator.get_init(lvalue: str, rvalue: Expression) -> str → method StubGenerator.get_init(lvalue: str, rvalue: Expression) -> Optional[str] - added:
class CantImport(Exception)
- changed:
function write_header(file: IO[str], module_name: str, pyversion: Tuple[int, int]=…) -> None → function write_header(file: IO[str], module_name: Optional[str]=…, pyversion: Tuple[int, int]=…) -> None
- removed:
function satisfies_upper_bound(a: Type, upper_bound: Type) -> bool - removed:
method SubtypeVisitor.visit_error_type(left: ErrorType) -> bool - removed:
method SubtypeVisitor.visit_type_list(t: TypeList) -> bool - removed:
method SubtypeVisitor.visit_void(left: Void) -> bool - changed:
function are_args_compatible(left: FormalArgument, right: FormalArgument, ignore_pos_arg_names: bool) -> bool → function are_args_compatible(left: FormalArgument, right: FormalArgument, ignore_pos_arg_names: bool, use_proper_subtype: bool) -> bool - changed:
function is_callable_subtype(left: CallableType, right: CallableType, ignore_return: bool=…, ignore_pos_arg_names: bool=…) -> bool → function is_callable_subtype(left: CallableType, right: CallableType, ignore_return: bool=…, ignore_pos_arg_names: bool=…, use_proper_subtype: bool=…) -> bool - changed:
function is_proper_subtype(t: Type, s: Type) -> bool → function is_proper_subtype(left: Type, right: Type) -> bool - changed:
function unify_generic_callable(type: CallableType, target: CallableType, ignore_return: bool) -> CallableType → function unify_generic_callable(type: CallableType, target: CallableType, ignore_return: bool) -> Optional[CallableType] - added:
class ProperSubtypeVisitor(TypeVisitor[bool]) - added:
constructor ProperSubtypeVisitor(right: Type) -> None - added:
method ProperSubtypeVisitor.visit_any(left: AnyType) -> bool - added:
method ProperSubtypeVisitor.visit_callable_type(left: CallableType) -> bool - added:
method ProperSubtypeVisitor.visit_deleted_type(left: DeletedType) -> bool - added:
method ProperSubtypeVisitor.visit_erased_type(left: ErasedType) -> bool - added:
method ProperSubtypeVisitor.visit_instance(left: Instance) -> bool - added:
method ProperSubtypeVisitor.visit_none_type(left: NoneTyp) -> bool - added:
method ProperSubtypeVisitor.visit_overloaded(left: Overloaded) -> bool - added:
method ProperSubtypeVisitor.visit_partial_type(left: PartialType) -> bool - added:
method ProperSubtypeVisitor.visit_tuple_type(left: TupleType) -> bool - added:
method ProperSubtypeVisitor.visit_type_type(left: TypeType) -> bool - added:
method ProperSubtypeVisitor.visit_type_var(left: TypeVarType) -> bool - added:
method ProperSubtypeVisitor.visit_typeddict_type(left: TypedDictType) -> bool - added:
method ProperSubtypeVisitor.visit_unbound_type(left: UnboundType) -> bool - added:
method ProperSubtypeVisitor.visit_uninhabited_type(left: UninhabitedType) -> bool - added:
method ProperSubtypeVisitor.visit_union_type(left: UnionType) -> bool
- removed:
method TraverserVisitor.visit_func_expr(o: FuncExpr) -> None - added:
method TraverserVisitor.visit_await_expr(o: AwaitExpr) -> None - added:
method TraverserVisitor.visit_backquote_expr(o: BackquoteExpr) -> None - added:
method TraverserVisitor.visit_dictionary_comprehension(o: DictionaryComprehension) -> None - added:
method TraverserVisitor.visit_exec_stmt(o: ExecStmt) -> None - added:
method TraverserVisitor.visit_import(o: Import) -> None - added:
method TraverserVisitor.visit_import_from(o: ImportFrom) -> None - added:
method TraverserVisitor.visit_lambda_expr(o: LambdaExpr) -> None - added:
method TraverserVisitor.visit_print_stmt(o: PrintStmt) -> None - added:
method TraverserVisitor.visit_set_comprehension(o: SetComprehension) -> None - added:
method TraverserVisitor.visit_star_expr(o: StarExpr) -> None
- removed:
method TransformVisitor.visit_func_expr(node: FuncExpr) -> FuncExpr - changed:
method TransformVisitor.optional_block(block: Block) -> Block → method TransformVisitor.optional_block(block: Optional[Block]) -> Optional[Block] - changed:
method TransformVisitor.optional_expr(expr: Expression) -> Expression → method TransformVisitor.optional_expr(expr: Optional[Expression]) -> Optional[Expression] - changed:
method TransformVisitor.optional_expressions(expressions: List[Expression]) -> List[Expression] → method TransformVisitor.optional_expressions(expressions: Iterable[Optional[Expression]]) -> List[Optional[Expression]] - changed:
method TransformVisitor.optional_names(names: List[NameExpr]) -> List[NameExpr] → method TransformVisitor.optional_names(names: Iterable[Optional[NameExpr]]) -> List[Optional[NameExpr]] - changed:
method TransformVisitor.optional_type(type: Type) -> Type → method TransformVisitor.optional_type(type: Optional[Type]) -> Optional[Type] - added:
method TransformVisitor.visit_enum_call_expr(node: EnumCallExpr) -> EnumCallExpr - added:
method TransformVisitor.visit_lambda_expr(node: LambdaExpr) -> LambdaExpr
- added:
class TypeVarScope - added:
constructor TypeVarScope(parent: Optional[TypeVarScope]=…, is_class_scope: bool=…, prohibited: Optional[TypeVarScope]=…) -> None - added:
method TypeVarScope.allow_binding(fullname: str) -> bool - added:
method TypeVarScope.bind(name: str, tvar_expr: TypeVarExpr) -> TypeVarDef - added:
method TypeVarScope.class_frame() -> TypeVarScope - added:
method TypeVarScope.get_binding(item: Union[str, SymbolTableNode]) -> Optional[TypeVarDef] - added:
method TypeVarScope.get_function_scope() -> Optional[TypeVarScope] - added:
method TypeVarScope.method_frame() -> TypeVarScope
- removed:
method TypeAnalyser.visit_void(t: Void) -> Type - removed:
method TypeAnalyserPass3.visit_void(t: Void) -> None - changed:
class TypeAnalyser(TypeVisitor[Type]) → class TypeAnalyser(SyntheticTypeVisitor[Type]) - changed:
constructor TypeAnalyser(lookup_func: Callable[[str, Context], SymbolTableNode], lookup_fqn_func: Callable[[str], SymbolTableNode], fail_func: Callable[[str, Context], None], *, aliasing: bool=…) -> None → constructor TypeAnalyser(lookup_func: Callable[[str, Context], SymbolTableNode], lookup_fqn_func: Callable[[str], SymbolTableNode], tvar_scope: TypeVarScope, fail_func: Callable[[str, Context], None], *, aliasing: bool=…, allow_tuple_literal: bool=…, allow_unnormalized: bool=…) -> None - changed:
function analyze_type_alias(node: Expression, lookup_func: Callable[[str, Context], SymbolTableNode], lookup_fqn_func: Callable[[str], SymbolTableNode], fail_func: Callable[[str, Context], None]) -> Type → function analyze_type_alias(node: Expression, lookup_func: Callable[[str, Context], SymbolTableNode], lookup_fqn_func: Callable[[str], SymbolTableNode], tvar_scope: TypeVarScope, fail_func: Callable[[str, Context], None], allow_unnormalized: bool=…) -> Optional[Type] - changed:
method TypeAnalyser.anal_array(a: List[Type]) -> List[Type] → method TypeAnalyser.anal_array(a: List[Type], nested: bool=…) -> List[Type] - changed:
method TypeAnalyser.visit_callable_type(t: CallableType) -> Type → method TypeAnalyser.visit_callable_type(t: CallableType, nested: bool=…) -> Type - added:
class TypeVariableQuery(TypeQuery[TypeVarList]) - added:
constructor TypeVariableQuery(lookup: Callable[[str, Context], SymbolTableNode], scope: TypeVarScope, *, include_callables: bool=…, include_bound_tvars: bool=…) -> None - added:
function flatten_tvars(ll: Iterable[List[T]]) -> List[T] - added:
function make_optional_type(t: Type) -> Type - added:
function no_subscript_builtin_alias(name: str, propose_alt: bool=…) -> str - added:
function remove_dups(tvars: Iterable[T]) -> List[T] - added:
method TypeAnalyser.anal_type(t: Type, nested: bool=…) -> Type - added:
method TypeAnalyser.bind_function_type_variables(fun_type: CallableType, defn: Context) -> List[TypeVarDef] - added:
method TypeAnalyser.infer_type_variables(type: CallableType) -> List[Tuple[str, TypeVarExpr]] - added:
method TypeAnalyser.is_defined_type_var(tvar: str, context: Context) -> bool - added:
method TypeAnalyser.tvar_scope_frame() -> Iterator[None] - added:
method TypeAnalyser.visit_callable_argument(t: CallableArgument) -> Type - added:
method TypeVariableQuery.visit_callable_type(t: CallableType) -> TypeVarList - added:
method TypeVariableQuery.visit_unbound_type(t: UnboundType) -> TypeVarList - added:
variable ARG_KINDS_BY_CONSTRUCTOR - added:
variable T - added:
variable TypeVarList
- removed:
class ErrorType(Type) - removed:
class Void(Type) - removed:
constructor Void(source: str=…, line: int=…, column: int=…) -> None - removed:
field TypeQuery.default - removed:
field TypeQuery.strategy - removed:
field UnboundType.is_ret_type - removed:
field Void.can_be_true - removed:
field Void.source - removed:
method ErrorType.accept(visitor: TypeVisitor[T]) -> T - removed:
method TypeQuery.visit_error_type(t: ErrorType) -> bool - removed:
method TypeQuery.visit_void(t: Void) -> bool - removed:
method TypeStrVisitor.visit_error_type(t: ErrorType) -> str - removed:
method TypeStrVisitor.visit_void(t: Void) -> str - removed:
method TypeTranslator.visit_ellipsis_type(t: EllipsisType) -> Type - removed:
method TypeTranslator.visit_error_type(t: ErrorType) -> Type - removed:
method TypeTranslator.visit_star_type(t: StarType) -> Type - removed:
method TypeTranslator.visit_type_list(t: TypeList) -> Type - removed:
method TypeTranslator.visit_void(t: Void) -> Type - removed:
method TypeVisitor.visit_ellipsis_type(t: EllipsisType) -> T - removed:
method TypeVisitor.visit_error_type(t: ErrorType) -> T - removed:
method TypeVisitor.visit_star_type(t: StarType) -> T - removed:
method TypeVisitor.visit_type_list(t: TypeList) -> T - removed:
method TypeVisitor.visit_void(t: Void) -> T - removed:
method Void.accept(visitor: TypeVisitor[T]) -> T - removed:
method Void.serialize() -> JsonDict - removed:
method Void.with_source(source: str) -> Void - removed:
static method EllipsisType.deserialize(data: JsonDict) -> EllipsisType - removed:
static method FunctionLike.deserialize(data: JsonDict) -> FunctionLike - removed:
static method TypeList.deserialize(data: JsonDict) -> TypeList - removed:
static method Void.deserialize(data: JsonDict) -> Void - removed:
variable ALL_TYPES_STRATEGY - removed:
variable ANY_TYPE_STRATEGY - changed:
class TypeQuery(TypeVisitor[bool]) → class TypeQuery(SyntheticTypeVisitor[T]) - changed:
class TypeStrVisitor(TypeVisitor[str]) → class TypeStrVisitor(SyntheticTypeVisitor[str]) - changed:
constructor CallableType(arg_types: List[Type], arg_kinds: List[int], arg_names: List[Optional[str]], ret_type: Type, fallback: Instance, name: str=…, definition: SymbolNode=…, variables: List[TypeVarDef]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, implicit: bool=…, is_classmethod_class: bool=…, special_sig: Optional[str]=…) -> None → constructor CallableType(arg_types: List[Type], arg_kinds: List[int], arg_names: List[Optional[str]], ret_type: Type, fallback: Instance, name: str=…, definition: SymbolNode=…, variables: List[TypeVarDef]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, implicit: bool=…, is_classmethod_class: bool=…, special_sig: Optional[str]=…, from_type_type: bool=…, bound_args: List[Optional[Type]]=…)… - changed:
constructor Instance(typ: Optional[mypy.nodes.TypeInfo], args: List[Type], line: int=…, column: int=…, erased: bool=…) -> None → constructor Instance(typ: mypy.nodes.TypeInfo, args: List[Type], line: int=…, column: int=…, erased: bool=…) -> None - changed:
constructor NoneTyp(is_ret_type: bool=…, line: int=…, column: int=…) -> None → constructor NoneTyp(line: int=…, column: int=…) -> None - changed:
constructor TypeQuery(default: bool, strategy: int) -> None → constructor TypeQuery(strategy: Callable[[Iterable[T]], T]) -> None - changed:
constructor TypeVarDef(name: str, id: Union[TypeVarId, int], values: Optional[List[Type]], upper_bound: Type, variance: int=…, line: int=…, column: int=…) -> None → constructor TypeVarDef(name: str, id: Union[TypeVarId, int], values: List[Type], upper_bound: Type, variance: int=…, line: int=…, column: int=…) -> None - changed:
constructor UnboundType(name: str, args: List[Type]=…, line: int=…, column: int=…, optional: bool=…, is_ret_type: bool=…, empty_tuple_index: bool=…) -> None → constructor UnboundType(name: str, args: List[Type]=…, line: int=…, column: int=…, optional: bool=…, empty_tuple_index: bool=…) -> None - changed:
method CallableType.argument_by_name(name: str) -> Optional[FormalArgument] → method CallableType.argument_by_name(name: Optional[str]) -> Optional[FormalArgument] - changed:
method CallableType.argument_by_position(position: int) -> Optional[FormalArgument] → method CallableType.argument_by_position(position: Optional[int]) -> Optional[FormalArgument] - changed:
method CallableType.copy_modified(arg_types: List[Type]=…, arg_kinds: List[int]=…, arg_names: List[str]=…, ret_type: Type=…, fallback: Instance=…, name: str=…, definition: SymbolNode=…, variables: List[TypeVarDef]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, special_sig: Optional[str]=…) -> CallableType → method CallableType.copy_modified(arg_types: List[Type]=…, arg_kinds: List[int]=…, arg_names: List[Optional[str]]=…, ret_type: Type=…, fallback: Instance=…, name: Optional[str]=…, definition: SymbolNode=…, variables: List[TypeVarDef]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, special_sig: Optional[str]=…, from_type_type: bool=…, bound_args: List[Optional[Type]]=…) -> CallableType - changed:
method Instance.serialize() -> JsonDict → method Instance.serialize() -> Union[JsonDict, str] - changed:
method Overloaded.name() -> str → method Overloaded.name() -> Optional[str] - changed:
method Type.serialize() -> JsonDict → method Type.serialize() -> Union[JsonDict, str] - changed:
method TypeQuery.query_types(types: Iterable[Type]) -> bool → method TypeQuery.query_types(types: Iterable[Type]) -> T - changed:
method TypeQuery.visit_any(t: AnyType) -> bool → method TypeQuery.visit_any(t: AnyType) -> T - changed:
method TypeQuery.visit_callable_type(t: CallableType) -> bool → method TypeQuery.visit_callable_type(t: CallableType) -> T - changed:
method TypeQuery.visit_deleted_type(t: DeletedType) -> bool → method TypeQuery.visit_deleted_type(t: DeletedType) -> T - changed:
method TypeQuery.visit_erased_type(t: ErasedType) -> bool → method TypeQuery.visit_erased_type(t: ErasedType) -> T - changed:
method TypeQuery.visit_instance(t: Instance) -> bool → method TypeQuery.visit_instance(t: Instance) -> T - changed:
method TypeQuery.visit_none_type(t: NoneTyp) -> bool → method TypeQuery.visit_none_type(t: NoneTyp) -> T - changed:
method TypeQuery.visit_overloaded(t: Overloaded) -> bool → method TypeQuery.visit_overloaded(t: Overloaded) -> T - changed:
method TypeQuery.visit_partial_type(t: PartialType) -> bool → method TypeQuery.visit_partial_type(t: PartialType) -> T - changed:
method TypeQuery.visit_star_type(t: StarType) -> bool → method TypeQuery.visit_star_type(t: StarType) -> T - changed:
method TypeQuery.visit_tuple_type(t: TupleType) -> bool → method TypeQuery.visit_tuple_type(t: TupleType) -> T - changed:
method TypeQuery.visit_type_list(t: TypeList) -> bool → method TypeQuery.visit_type_list(t: TypeList) -> T - changed:
method TypeQuery.visit_type_type(t: TypeType) -> bool → method TypeQuery.visit_type_type(t: TypeType) -> T - changed:
method TypeQuery.visit_type_var(t: TypeVarType) -> bool → method TypeQuery.visit_type_var(t: TypeVarType) -> T - changed:
method TypeQuery.visit_typeddict_type(t: TypedDictType) -> bool → method TypeQuery.visit_typeddict_type(t: TypedDictType) -> T - changed:
method TypeQuery.visit_unbound_type(t: UnboundType) -> bool → method TypeQuery.visit_unbound_type(t: UnboundType) -> T - changed:
method TypeQuery.visit_uninhabited_type(t: UninhabitedType) -> bool → method TypeQuery.visit_uninhabited_type(t: UninhabitedType) -> T - changed:
method TypeQuery.visit_union_type(t: UnionType) -> bool → method TypeQuery.visit_union_type(t: UnionType) -> T - changed:
static method Instance.deserialize(data: JsonDict) -> Instance → static method Instance.deserialize(data: Union[JsonDict, str]) -> Instance - added:
class CallableArgument(Type) - added:
class SyntheticTypeVisitor(TypeVisitor[T]) - added:
constructor CallableArgument(typ: Type, name: Optional[str], constructor: Optional[str], line: int=…, column: int=…) -> None - added:
constructor TypeStrVisitor(id_mapper: IdMapper=…) -> None - added:
field CallableArgument.constructor - added:
field CallableArgument.name - added:
field CallableArgument.typ - added:
field CallableType.bound_args - added:
field CallableType.from_type_type - added:
field CallableType.is_kw_arg - added:
function deserialize_type(data: Union[JsonDict, str]) -> Type - added:
function flatten_nested_unions(types: Iterable[Type]) -> List[Type] - added:
function get_type_vars(typ: Type) -> List[TypeVarType] - added:
function union_items(typ: Type) -> List[Type] - added:
method CallableArgument.accept(visitor: TypeVisitor[T]) -> T - added:
method CallableArgument.serialize() -> JsonDict - added:
method CallableType.get_name() -> Optional[str] - added:
method FunctionLike.get_name() -> Optional[str] - added:
method Overloaded.get_name() -> Optional[str] - added:
method StarType.serialize() -> JsonDict - added:
method SyntheticTypeVisitor.visit_callable_argument(t: CallableArgument) -> T - added:
method SyntheticTypeVisitor.visit_ellipsis_type(t: EllipsisType) -> T - added:
method SyntheticTypeVisitor.visit_star_type(t: StarType) -> T - added:
method SyntheticTypeVisitor.visit_type_list(t: TypeList) -> T - added:
method TypeQuery.visit_callable_argument(t: CallableArgument) -> T - added:
method TypeQuery.visit_ellipsis_type(t: EllipsisType) -> T - added:
method TypeStrVisitor.visit_callable_argument(t: CallableArgument) -> str - added:
variable NOT_READY - added:
variable deserialize_map
- removed:
function dump_tagged(nodes: Sequence[object], tag: str) -> str - removed:
function indent(s: str, n: int) -> str - added:
class IdMapper - added:
constructor IdMapper() -> None - added:
method IdMapper.id(o: object) -> int
- removed:
method ExpressionVisitor.visit_func_expr(o: mypy.nodes.FuncExpr) -> T - removed:
method NodeVisitor.visit_func_expr(o: mypy.nodes.FuncExpr) -> T - added:
method ExpressionVisitor.visit_enum_call_expr(o: mypy.nodes.EnumCallExpr) -> T - added:
method ExpressionVisitor.visit_lambda_expr(o: mypy.nodes.LambdaExpr) -> T - added:
method NodeVisitor.visit_enum_call_expr(o: mypy.nodes.EnumCallExpr) -> T - added:
method NodeVisitor.visit_lambda_expr(o: mypy.nodes.LambdaExpr) -> T
- changed:
constructor Waiter(limit: int=…, *, verbosity: int=…, xfail: List[str]=…) -> None → constructor Waiter(limit: int=…, *, verbosity: int=…, xfail: List[str]=…, lf: bool=…, ff: bool=…) -> None - changed:
method Waiter.add(cmd: LazySubprocess) -> int → method Waiter.add(cmd: LazySubprocess, sequential: bool=…) -> int - added:
field Waiter.FULL_LOG_FILENAME - added:
field Waiter.LOGSIZE - added:
method Waiter.load_log_file() -> Optional[List[Dict[str, Dict[str, Any]]]]