Skip to content

Upgrading mypy 0.790 to 0.800

Unknown0.790 → 0.800

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.

  • 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.
Still reading release notes

DepDelta is still reading the release notes in this range. This updates as they come in.

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • added: function get_target_type(tvar: TypeVarLikeDef, type: ProperType, callable: CallableType, report_incompatible_typevar_value: Callable[[CallableType, Type, str, Context], None], context: Context, skip_unsatisfied: bool) -> Optional[Type]
  • changed: function log_configuration(manager: BuildManager) -> None → function log_configuration(manager: BuildManager, sources: List[BuildSource]) -> None
  • added: field State.abspath
  • added: function exclude_from_backups(target_dir: str) -> None
  • changed: function is_duplicate_mapping(mapping: List[int], actual_kinds: List[int]) -> bool → function is_duplicate_mapping(mapping: List[int], actual_types: List[Type], actual_kinds: List[int]) -> bool
  • added: method ExpressionChecker.apply_function_signature_hook(callee: FunctionLike, args: List[Expression], arg_kinds: List[int], context: Context, arg_names: Optional[Sequence[Optional[str]]], signature_hook: Callable[[FunctionSigContext], CallableType]) -> FunctionLike
  • added: method ExpressionChecker.apply_signature_hook(callee: FunctionLike, args: List[Expression], arg_kinds: List[int], arg_names: Optional[Sequence[Optional[str]]], hook: Callable[[List[List[Expression]], CallableType], CallableType]) -> FunctionLike
  • added: method ExpressionChecker.fast_container_type(items: List[Expression], container_fullname: str) -> Optional[Type]
  • added: method ExpressionChecker.fast_dict_type(e: DictExpr) -> Optional[Type]
  • added: method ExpressionChecker.visit_paramspec_expr(e: ParamSpecExpr) -> Type
  • changed: function add_class_tvars(t: ProperType, isuper: Optional[Instance], is_classmethod: bool, original_type: Type, original_vars: Optional[List[TypeVarDef]]=…) -> Type → function add_class_tvars(t: ProperType, isuper: Optional[Instance], is_classmethod: bool, original_type: Type, original_vars: Optional[Sequence[TypeVarLikeDef]]=…) -> Type
  • changed: function analyze_class_attribute_access(itype: Instance, name: str, mx: MemberContext, override_info: Optional[TypeInfo]=…, original_vars: Optional[List[TypeVarDef]]=…) -> Optional[Type] → function analyze_class_attribute_access(itype: Instance, name: str, mx: MemberContext, override_info: Optional[TypeInfo]=…, original_vars: Optional[Sequence[TypeVarLikeDef]]=…) -> Optional[Type]
  • added: variable NAME_MATCH
  • added: variable REDUNDANT_EXPR
  • changed: constructor TypeConverter(errors: Optional[Errors], line: int=…, override_column: int=…, assume_str_is_unicode: bool=…) -> None → constructor TypeConverter(errors: Optional[Errors], line: int=…, override_column: int=…, assume_str_is_unicode: bool=…, is_evaluated: bool=…) -> None
  • added: method TypeConverter.visit_BinOp(n: ast3.BinOp) -> Type
  • removed: method SourceFinder.expand_dir(arg: str, mod_prefix: str=…) -> List[BuildSource]
  • changed: constructor SourceFinder(fscache: FileSystemCache) -> None → constructor SourceFinder(fscache: FileSystemCache, options: Options) -> None
  • changed: function create_source_list(files: Sequence[str], options: Options, fscache: Optional[FileSystemCache]=…, allow_empty_dir: bool=…) -> List[BuildSource] → function create_source_list(paths: Sequence[str], options: Options, fscache: Optional[FileSystemCache]=…, allow_empty_dir: bool=…) -> List[BuildSource]
  • changed: function keyfunc(name: str) -> Tuple[int, str] → function keyfunc(name: str) -> Tuple[bool, int, str]
  • changed: method SourceFinder.crawl_up(arg: str) -> Tuple[str, str] → method SourceFinder.crawl_up(path: str) -> Tuple[str, str]
  • added: function get_explicit_package_bases(options: Options) -> Optional[List[str]]
  • added: function normalise_package_base(root: str) -> str
  • added: method SourceFinder.find_sources_in_dir(path: str) -> List[BuildSource]
  • added: method SourceFinder.is_explicit_package_base(path: str) -> bool
  • removed: method MessageBuilder.redundant_right_operand(op_name: str, context: Context) -> None
  • added: method MessageBuilder.unreachable_right_operand(op_name: str, context: Context) -> None
  • changed: constructor FindModuleCache(search_paths: SearchPaths, fscache: Optional[FileSystemCache]=…, options: Optional[Options]=…, ns_packages: Optional[List[str]]=…) -> None → constructor FindModuleCache(search_paths: SearchPaths, fscache: Optional[FileSystemCache], options: Optional[Options]) -> None
  • changed: function get_site_packages_dirs(python_executable: str) -> Tuple[List[str], List[str]] → function get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str], List[str]]
  • added: function expand_site_packages(site_packages: List[str]) -> Tuple[List[str], List[str]]
  • removed: field TypeVarExpr.upper_bound
  • removed: field TypeVarExpr.variance
  • removed: property TypeVarExpr.fullname -> str
  • removed: property TypeVarExpr.name -> str
  • removed: variable nongen_builtins
  • removed: variable type_aliases_target_versions
  • changed: class TypeVarExpr(SymbolNode, Expression) → class TypeVarExpr(TypeVarLikeExpr)
  • added: class ParamSpecExpr(TypeVarLikeExpr)
  • added: class TypeVarLikeExpr(SymbolNode, Expression)
  • added: constructor TypeVarLikeExpr(name: str, fullname: str, upper_bound: mypy.types.Type, variance: int=…) -> None
  • added: field TypeVarLikeExpr.upper_bound
  • added: field TypeVarLikeExpr.variance
  • added: function get_nongen_builtins(python_version: Tuple[int, int]) -> Dict[str, str]
  • added: method ParamSpecExpr.accept(visitor: ExpressionVisitor[T]) -> T
  • added: method ParamSpecExpr.serialize() -> JsonDict
  • added: property TypeVarLikeExpr.fullname -> str
  • added: property TypeVarLikeExpr.name -> str
  • added: static method ParamSpecExpr.deserialize(data: JsonDict) -> ParamSpecExpr
  • added: variable type_aliases_source_versions
  • changed: method SemanticAnalyzerPluginInterface.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 SemanticAnalyzerPluginInterface.anal_type(t: Type, *, tvar_scope: Optional[TypeVarLikeScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, report_invalid_types: bool=…, third_pass: bool=…) -> Optional[Type]
  • added: method ChainedPlugin.get_function_signature_hook(fullname: str) -> Optional[Callable[[FunctionSigContext], CallableType]]
  • added: method Plugin.get_function_signature_hook(fullname: str) -> Optional[Callable[[FunctionSigContext], CallableType]]
  • added: variable FunctionSigContext
  • changed: constructor Attribute(name: str, info: TypeInfo, has_default: bool, init: bool, kw_only: bool, converter: Converter, context: Context) -> None → constructor Attribute(name: str, info: TypeInfo, has_default: bool, init: bool, kw_only: bool, converter: Converter, context: Context, init_type: Optional[Type]) -> None
  • changed: function attr_class_maker_callback(ctx: mypy.plugin.ClassDefContext, auto_attribs_default: bool=…) -> None → function attr_class_maker_callback(ctx: mypy.plugin.ClassDefContext, auto_attribs_default: Optional[bool]=…, frozen_default: bool=…) -> None
  • changed: static method Attribute.deserialize(info: TypeInfo, data: JsonDict) -> Attribute → static method Attribute.deserialize(info: TypeInfo, data: JsonDict, api: SemanticAnalyzerPluginInterface) -> Attribute
  • added: method Attribute.expand_typevar_from_subtype(sub_type: TypeInfo) -> None
  • added: variable attr_define_makers
  • added: variable attr_frozen_makers
  • changed: constructor DataclassAttribute(name: str, is_in_init: bool, is_init_var: bool, has_default: bool, line: int, column: int, type: Optional[Type]) -> None → constructor DataclassAttribute(name: str, is_in_init: bool, is_init_var: bool, has_default: bool, line: int, column: int, type: Optional[Type], info: TypeInfo) -> None
  • added: method DataclassAttribute.expand_typevar_from_subtype(sub_type: TypeInfo) -> None
  • removed: field SemanticAnalyzer.is_stub_file
  • removed: method SemanticAnalyzer.check_typevar_name(call: CallExpr, name: str, context: Context) -> bool
  • removed: method SemanticAnalyzer.get_typevar_declaration(s: AssignmentStmt) -> Optional[CallExpr]
  • changed: method SemanticAnalyzer.add_imported_symbol(name: str, node: SymbolTableNode, context: Context, module_public: bool=…, module_hidden: bool=…) -> None → method SemanticAnalyzer.add_imported_symbol(name: str, node: SymbolTableNode, context: Context, module_public: bool, module_hidden: bool) -> None
  • changed: method SemanticAnalyzer.add_module_symbol(id: str, as_id: str, module_public: bool, context: Context, module_hidden: bool=…) -> None → method SemanticAnalyzer.add_module_symbol(id: str, as_id: str, context: Context, module_public: bool, module_hidden: bool) -> None
  • changed: method SemanticAnalyzer.add_unknown_imported_symbol(name: str, context: Context, target_name: Optional[str]=…) -> None → method SemanticAnalyzer.add_unknown_imported_symbol(name: str, context: Context, target_name: Optional[str], module_public: bool, module_hidden: bool) -> None
  • changed: method SemanticAnalyzer.anal_type(typ: 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] → method SemanticAnalyzer.anal_type(typ: Type, *, tvar_scope: Optional[TypeVarLikeScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, allow_placeholder: bool=…, report_invalid_types: bool=…, third_pass: bool=…) -> Optional[Type]
  • changed: method SemanticAnalyzer.analyze_class_typevar_declaration(base: Type) -> Optional[Tuple[TypeVarList, bool]] → method SemanticAnalyzer.analyze_class_typevar_declaration(base: Type) -> Optional[Tuple[TypeVarLikeList, bool]]
  • changed: method SemanticAnalyzer.get_all_bases_tvars(base_type_exprs: List[Expression], removed: List[int]) -> TypeVarList → method SemanticAnalyzer.get_all_bases_tvars(base_type_exprs: List[Expression], removed: List[int]) -> TypeVarLikeList
  • changed: method SemanticAnalyzer.process_imported_symbol(node: SymbolTableNode, module_id: str, id: str, as_id: Optional[str], fullname: str, context: ImportBase) -> None → method SemanticAnalyzer.process_imported_symbol(node: SymbolTableNode, module_id: str, id: str, imported_id: str, fullname: str, module_public: bool, context: ImportBase) -> None
  • changed: method SemanticAnalyzer.report_missing_module_attribute(import_id: str, source_id: str, imported_id: str, context: Node) -> None → method SemanticAnalyzer.report_missing_module_attribute(import_id: str, source_id: str, imported_id: str, module_public: bool, module_hidden: bool, context: Node) -> None
  • changed: method SemanticAnalyzer.tvar_scope_frame(frame: TypeVarScope) -> Iterator[None] → method SemanticAnalyzer.tvar_scope_frame(frame: TypeVarLikeScope) -> Iterator[None]
  • changed: method SemanticAnalyzer.type_analyzer(*, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, allow_placeholder: bool=…, report_invalid_types: bool=…) -> TypeAnalyser → method SemanticAnalyzer.type_analyzer(*, tvar_scope: Optional[TypeVarLikeScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, allow_placeholder: bool=…, report_invalid_types: bool=…) -> TypeAnalyser
  • added: field SemanticAnalyzer.future_import_flags
  • added: method SemanticAnalyzer.check_typevarlike_name(call: CallExpr, name: str, context: Context) -> bool
  • added: method SemanticAnalyzer.get_typevarlike_declaration(s: AssignmentStmt, typevarlike_types: Tuple[str, ...]) -> Optional[CallExpr]
  • added: method SemanticAnalyzer.is_annotated_protocol_member(s: AssignmentStmt) -> bool
  • added: method SemanticAnalyzer.is_future_flag_set(flag: str) -> bool
  • added: method SemanticAnalyzer.process_paramspec_declaration(s: AssignmentStmt) -> bool
  • added: method SemanticAnalyzer.set_future_import_flags(module_name: str) -> None
  • added: property SemanticAnalyzer.is_stub_file -> bool
  • added: variable FUTURE_IMPORTS
  • removed: method NamedTupleAnalyzer.fail_namedtuple_arg(message: str, context: Context) -> Tuple[List[str], List[Type], List[Expression], bool]
  • changed: method NamedTupleAnalyzer.check_namedtuple(node: Expression, var_name: Optional[str], is_func_scope: bool) -> Tuple[bool, Optional[TypeInfo]] → method NamedTupleAnalyzer.check_namedtuple(node: Expression, var_name: Optional[str], is_func_scope: bool) -> Tuple[Optional[str], Optional[TypeInfo]]
  • changed: method NamedTupleAnalyzer.parse_namedtuple_args(call: CallExpr, fullname: str) -> Optional[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], str, bool]]
  • changed: method SemanticAnalyzerInterface.anal_type(t: Type, *, tvar_scope: Optional[TypeVarScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, report_invalid_types: bool=…) -> Optional[Type] → method SemanticAnalyzerInterface.anal_type(t: Type, *, tvar_scope: Optional[TypeVarLikeScope]=…, allow_tuple_literal: bool=…, allow_unbound_tvars: bool=…, report_invalid_types: bool=…) -> Optional[Type]
  • added: method SemanticAnalyzerCoreInterface.is_future_flag_set(flag: str) -> bool
  • added: property SemanticAnalyzerCoreInterface.is_stub_file -> bool
  • changed: method TypedDictAnalyzer.fail(msg: str, ctx: Context) -> None → method TypedDictAnalyzer.fail(msg: str, ctx: Context, *, code: Optional[ErrorCode]=…) -> None
  • added: method StrConv.visit_paramspec_expr(o: mypy.nodes.ParamSpecExpr) -> str
  • changed: function infer_sig_from_docstring(docstr: str, name: str) -> Optional[List[FunctionSig]] → function infer_sig_from_docstring(docstr: Optional[str], name: str) -> Optional[List[FunctionSig]]
  • removed: function get_whitelist_entries(whitelist_file: str) -> Iterator[str]
  • changed: function is_dunder(name: str, exclude_init: bool=…) -> bool → function is_dunder(name: str, exclude_special: bool=…) -> bool
  • changed: function test_stubs(args: argparse.Namespace) -> int → function test_stubs(args: argparse.Namespace, use_builtins_fixtures: bool=…) -> int
  • added: function get_allowlist_entries(allowlist_file: str) -> Iterator[str]
  • added: variable SPECIAL_DUNDERS
  • added: method TransformVisitor.visit_paramspec_expr(node: ParamSpecExpr) -> ParamSpecExpr
  • removed: class TypeVarScope
  • removed: constructor TypeVarScope(parent: Optional[TypeVarScope]=…, is_class_scope: bool=…, prohibited: Optional[TypeVarScope]=…) -> None
  • removed: method TypeVarScope.allow_binding(fullname: str) -> bool
  • removed: method TypeVarScope.bind_existing(tvar_def: TypeVarDef) -> None
  • removed: method TypeVarScope.bind_new(name: str, tvar_expr: TypeVarExpr) -> TypeVarDef
  • removed: method TypeVarScope.class_frame() -> TypeVarScope
  • removed: method TypeVarScope.get_binding(item: Union[str, SymbolTableNode]) -> Optional[TypeVarDef]
  • removed: method TypeVarScope.get_function_scope() -> Optional[TypeVarScope]
  • removed: method TypeVarScope.method_frame() -> TypeVarScope
  • added: class TypeVarLikeScope
  • added: constructor TypeVarLikeScope(parent: Optional[TypeVarLikeScope]=…, is_class_scope: bool=…, prohibited: Optional[TypeVarLikeScope]=…) -> None
  • added: method TypeVarLikeScope.allow_binding(fullname: str) -> bool
  • added: method TypeVarLikeScope.bind_existing(tvar_def: TypeVarLikeDef) -> None
  • added: method TypeVarLikeScope.bind_new(name: str, tvar_expr: TypeVarLikeExpr) -> TypeVarLikeDef
  • added: method TypeVarLikeScope.class_frame() -> TypeVarLikeScope
  • added: method TypeVarLikeScope.get_binding(item: Union[str, SymbolTableNode]) -> Optional[TypeVarLikeDef]
  • added: method TypeVarLikeScope.get_function_scope() -> Optional[TypeVarLikeScope]
  • added: method TypeVarLikeScope.method_frame() -> TypeVarLikeScope
  • changed: method TypeTranslator.translate_variables(variables: List[TypeVarDef]) -> List[TypeVarDef] → method TypeTranslator.translate_variables(variables: Sequence[TypeVarLikeDef]) -> Sequence[TypeVarLikeDef]
  • removed: class TypeVariableQuery(TypeQuery[TypeVarList])
  • removed: constructor TypeVariableQuery(lookup: Callable[[str, Context], Optional[SymbolTableNode]], scope: TypeVarScope, *, include_callables: bool=…, include_bound_tvars: bool=…) -> None
  • removed: method TypeVariableQuery.visit_callable_type(t: CallableType) -> TypeVarList
  • removed: method TypeVariableQuery.visit_unbound_type(t: UnboundType) -> TypeVarList
  • removed: variable TypeVarList
  • changed: constructor InstanceFixer(fail: MsgCallback, note: MsgCallback) -> None → constructor InstanceFixer(fail: MsgCallback, note: MsgCallback, python_version: Tuple[int, int]) -> None
  • changed: constructor TypeAnalyser(api: SemanticAnalyzerCoreInterface, tvar_scope: 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=…) -> None → constructor TypeAnalyser(api: SemanticAnalyzerCoreInterface, tvar_scope: TypeVarLikeScope, 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=…) -> None
  • changed: 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]]] → function analyze_type_alias(node: Expression, api: SemanticAnalyzerCoreInterface, tvar_scope: TypeVarLikeScope, 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]]]
  • changed: function fix_instance(t: Instance, fail: MsgCallback, note: MsgCallback, disallow_any: bool, use_generic_error: bool=…, unexpanded_type: Optional[Type]=…) -> None → function fix_instance(t: Instance, fail: MsgCallback, note: MsgCallback, disallow_any: bool, python_version: Tuple[int, int], use_generic_error: bool=…, unexpanded_type: Optional[Type]=…) -> None
  • changed: function fix_instance_types(t: Type, fail: MsgCallback, note: MsgCallback) -> None → function fix_instance_types(t: Type, fail: MsgCallback, note: MsgCallback, python_version: Tuple[int, int]) -> None
  • changed: function get_omitted_any(disallow_any: bool, fail: MsgCallback, note: MsgCallback, typ: Type, fullname: Optional[str]=…, unexpanded_type: Optional[Type]=…) -> AnyType → function get_omitted_any(disallow_any: bool, fail: MsgCallback, note: MsgCallback, orig_type: Type, python_version: Tuple[int, int], fullname: Optional[str]=…, unexpanded_type: Optional[Type]=…) -> AnyType
  • changed: method TypeAnalyser.anal_var_defs(var_defs: List[TypeVarDef]) -> List[TypeVarDef] → method TypeAnalyser.anal_var_defs(var_defs: Sequence[TypeVarLikeDef]) -> List[TypeVarLikeDef]
  • changed: method TypeAnalyser.bind_function_type_variables(fun_type: CallableType, defn: Context) -> List[TypeVarDef] → method TypeAnalyser.bind_function_type_variables(fun_type: CallableType, defn: Context) -> Sequence[TypeVarLikeDef]
  • changed: method TypeAnalyser.infer_type_variables(type: CallableType) -> List[Tuple[str, TypeVarExpr]] → method TypeAnalyser.infer_type_variables(type: CallableType) -> List[Tuple[str, TypeVarLikeExpr]]
  • added: class TypeVarLikeQuery(TypeQuery[TypeVarLikeList])
  • added: constructor TypeVarLikeQuery(lookup: Callable[[str, Context], Optional[SymbolTableNode]], scope: TypeVarLikeScope, *, include_callables: bool=…, include_bound_tvars: bool=…) -> None
  • added: method TypeAnalyser.anal_var_def(var_def: TypeVarLikeDef) -> TypeVarLikeDef
  • added: method TypeAnalyser.analyze_callable_args_for_paramspec(callable_args: Type, ret_type: Type, fallback: Instance) -> Optional[CallableType]
  • added: method TypeVarLikeQuery.visit_callable_type(t: CallableType) -> TypeVarLikeList
  • added: method TypeVarLikeQuery.visit_unbound_type(t: UnboundType) -> TypeVarLikeList
  • added: variable TypeVarLikeList
  • changed: function erase_def_to_union_or_bound(tdef: TypeVarDef) -> Type → function erase_def_to_union_or_bound(tdef: TypeVarLikeDef) -> Type
  • added: function get_type_special_method_bool_ret_type(t: Type) -> Optional[Type]
  • removed: field TypeVarDef.fullname
  • removed: field TypeVarDef.id
  • removed: field TypeVarDef.name
  • changed: class TypeVarDef(mypy.nodes.Context) → class TypeVarDef(TypeVarLikeDef)
  • changed: constructor CallableType(arg_types: Sequence[Type], arg_kinds: List[int], arg_names: Sequence[Optional[str]], ret_type: Type, fallback: Instance, name: Optional[str]=…, definition: Optional[SymbolNode]=…, variables: Optional[List[TypeVarDef]]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, implicit: bool=…, special_sig: Optional[str]=…, from_type_type: bool=…, bound_args: Sequence[Option… → constructor CallableType(arg_types: Sequence[Type], arg_kinds: List[int], arg_names: Sequence[Optional[str]], ret_type: Type, fallback: Instance, name: Optional[str]=…, definition: Optional[SymbolNode]=…, variables: Optional[Sequence[TypeVarLikeDef]]=…, line: int=…, column: int=…, is_ellipsis_args: bool=…, implicit: bool=…, special_sig: Optional[str]=…, from_type_type: bool=…, bound_args: Sequenc…
  • changed: constructor UnionType(items: Sequence[Type], line: int=…, column: int=…) -> None → constructor UnionType(items: Sequence[Type], line: int=…, column: int=…, is_evaluated: bool=…, uses_pep604_syntax: bool=…) -> None
  • changed: method CallableType.copy_modified(arg_types: Bogus[Sequence[Type]]=…, arg_kinds: Bogus[List[int]]=…, arg_names: Bogus[List[Optional[str]]]=…, ret_type: Bogus[Type]=…, fallback: Bogus[Instance]=…, name: Bogus[Optional[str]]=…, definition: Bogus[SymbolNode]=…, variables: Bogus[List[TypeVarDef]]=…, line: Bogus[int]=…, column: Bogus[int]=…, is_ellipsis_args: Bogus[bool]=…, implicit: Bogus[bool]=…, sp… → method CallableType.copy_modified(arg_types: Bogus[Sequence[Type]]=…, arg_kinds: Bogus[List[int]]=…, arg_names: Bogus[List[Optional[str]]]=…, ret_type: Bogus[Type]=…, fallback: Bogus[Instance]=…, name: Bogus[Optional[str]]=…, definition: Bogus[SymbolNode]=…, variables: Bogus[Sequence[TypeVarLikeDef]]=…, line: Bogus[int]=…, column: Bogus[int]=…, is_ellipsis_args: Bogus[bool]=…, implicit: Bogus[boo…
  • added: class ParamSpecDef(TypeVarLikeDef)
  • added: class TypeVarLikeDef(mypy.nodes.Context)
  • added: constructor TypeVarLikeDef(name: str, fullname: str, id: Union[TypeVarId, int], line: int=…, column: int=…) -> None
  • added: field TypeVarLikeDef.fullname
  • added: field TypeVarLikeDef.id
  • added: field TypeVarLikeDef.name
  • added: method ParamSpecDef.serialize() -> JsonDict
  • added: method TypeVarLikeDef.serialize() -> JsonDict
  • added: static method ParamSpecDef.deserialize(data: JsonDict) -> ParamSpecDef
  • added: static method TypeVarLikeDef.deserialize(data: JsonDict) -> TypeVarLikeDef
  • removed: variable PLAIN_ANSI_DIM
  • changed: method FancyFormatter.format_error(n_errors: int, n_files: int, n_sources: int, use_color: bool=…) -> str → method FancyFormatter.format_error(n_errors: int, n_files: int, n_sources: int, *, blockers: bool=…, use_color: bool=…) -> str
  • added: function parse_gray_color(cup: bytes) -> str
  • added: variable DEFAULT_COLUMNS
  • added: method ExpressionVisitor.visit_paramspec_expr(o: mypy.nodes.ParamSpecExpr) -> T
  • added: method NodeVisitor.visit_paramspec_expr(o: mypy.nodes.ParamSpecExpr) -> T
  • added: class AnalysisResult(Generic[T])
  • added: class BaseAnalysisVisitor(OpVisitor[GenAndKill])
  • added: class BorrowedArgumentsVisitor(BaseAnalysisVisitor)
  • added: class CFG
  • added: class DefinedVisitor(BaseAnalysisVisitor)
  • added: class LivenessVisitor(BaseAnalysisVisitor)
  • added: class UndefinedVisitor(BaseAnalysisVisitor)
  • added: constructor AnalysisResult(before: AnalysisDict[T], after: AnalysisDict[T]) -> None
  • added: constructor BorrowedArgumentsVisitor(args: Set[Value]) -> None
  • added: constructor CFG(succ: Dict[BasicBlock, List[BasicBlock]], pred: Dict[BasicBlock, List[BasicBlock]], exits: Set[BasicBlock]) -> None
  • added: function analyze_borrowed_arguments(blocks: List[BasicBlock], cfg: CFG, borrowed: Set[Value]) -> AnalysisResult[Value]
  • added: function analyze_live_regs(blocks: List[BasicBlock], cfg: CFG) -> AnalysisResult[Value]
  • added: function analyze_maybe_defined_regs(blocks: List[BasicBlock], cfg: CFG, initial_defined: Set[Value]) -> AnalysisResult[Value]
  • added: function analyze_must_defined_regs(blocks: List[BasicBlock], cfg: CFG, initial_defined: Set[Value], regs: Iterable[Value]) -> AnalysisResult[Value]
  • added: function analyze_undefined_regs(blocks: List[BasicBlock], cfg: CFG, initial_defined: Set[Value]) -> AnalysisResult[Value]
  • added: function cleanup_cfg(blocks: List[BasicBlock]) -> None
  • added: function get_cfg(blocks: List[BasicBlock]) -> CFG
  • added: function get_real_target(label: BasicBlock) -> BasicBlock
  • added: function non_trivial_sources(op: Op) -> Set[Value]
  • added: function run_analysis(blocks: List[BasicBlock], cfg: CFG, gen_and_kill: OpVisitor[Tuple[Set[T], Set[T]]], initial: Set[T], kind: int, backward: bool, universe: Optional[Set[T]]=…) -> AnalysisResult[T]
  • added: method BaseAnalysisVisitor.visit_assign(op: Assign) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_box(op: Box) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_call(op: Call) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_call_c(op: CallC) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_cast(op: Cast) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_comparison_op(op: ComparisonOp) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_get_attr(op: GetAttr) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_get_element_ptr(op: GetElementPtr) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_goto(op: Goto) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_init_static(op: InitStatic) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_int_op(op: IntOp) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_load_address(op: LoadAddress) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_load_error_value(op: LoadErrorValue) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_load_global(op: LoadGlobal) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_load_mem(op: LoadMem) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_load_static(op: LoadStatic) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_method_call(op: MethodCall) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_raise_standard_error(op: RaiseStandardError) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_register_op(op: RegisterOp) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_set_attr(op: SetAttr) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_set_mem(op: SetMem) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_truncate(op: Truncate) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_tuple_get(op: TupleGet) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_tuple_set(op: TupleSet) -> GenAndKill
  • added: method BaseAnalysisVisitor.visit_unbox(op: Unbox) -> GenAndKill
  • added: method BorrowedArgumentsVisitor.visit_assign(op: Assign) -> GenAndKill
  • added: method BorrowedArgumentsVisitor.visit_branch(op: Branch) -> GenAndKill
  • added: method BorrowedArgumentsVisitor.visit_register_op(op: RegisterOp) -> GenAndKill
  • added: method BorrowedArgumentsVisitor.visit_return(op: Return) -> GenAndKill
  • added: method BorrowedArgumentsVisitor.visit_set_mem(op: SetMem) -> GenAndKill
  • added: method BorrowedArgumentsVisitor.visit_unreachable(op: Unreachable) -> GenAndKill
  • added: method DefinedVisitor.visit_assign(op: Assign) -> GenAndKill
  • added: method DefinedVisitor.visit_branch(op: Branch) -> GenAndKill
  • added: method DefinedVisitor.visit_register_op(op: RegisterOp) -> GenAndKill
  • added: method DefinedVisitor.visit_return(op: Return) -> GenAndKill
  • added: method DefinedVisitor.visit_set_mem(op: SetMem) -> GenAndKill
  • added: method DefinedVisitor.visit_unreachable(op: Unreachable) -> GenAndKill
  • added: method LivenessVisitor.visit_assign(op: Assign) -> GenAndKill
  • added: method LivenessVisitor.visit_branch(op: Branch) -> GenAndKill
  • added: method LivenessVisitor.visit_register_op(op: RegisterOp) -> GenAndKill
  • added: method LivenessVisitor.visit_return(op: Return) -> GenAndKill
  • added: method LivenessVisitor.visit_set_mem(op: SetMem) -> GenAndKill
  • added: method LivenessVisitor.visit_unreachable(op: Unreachable) -> GenAndKill
  • added: method UndefinedVisitor.visit_assign(op: Assign) -> GenAndKill
  • added: method UndefinedVisitor.visit_branch(op: Branch) -> GenAndKill
  • added: method UndefinedVisitor.visit_register_op(op: RegisterOp) -> GenAndKill
  • added: method UndefinedVisitor.visit_return(op: Return) -> GenAndKill
  • added: method UndefinedVisitor.visit_set_mem(op: SetMem) -> GenAndKill
  • added: method UndefinedVisitor.visit_unreachable(op: Unreachable) -> GenAndKill
  • added: variable AnalysisDict
  • added: variable GenAndKill
  • added: variable MAYBE_ANALYSIS
  • added: variable MUST_ANALYSIS
  • added: variable T
  • changed: constructor Emitter(context: EmitterContext, env: Optional[Environment]=…) -> None → constructor Emitter(context: EmitterContext, value_names: Optional[Dict[Value, str]]=…) -> None
  • removed: method FunctionEmitterVisitor.visit_binary_int_op(op: BinaryIntOp) -> None
  • removed: method FunctionEmitterVisitor.visit_load_int(op: LoadInt) -> None
  • removed: method FunctionEmitterVisitor.visit_primitive_op(op: PrimitiveOp) -> None
  • changed: class FunctionEmitterVisitor(OpVisitor[None], EmitterInterface) → class FunctionEmitterVisitor(OpVisitor[None])
  • changed: constructor FunctionEmitterVisitor(emitter: Emitter, declarations: Emitter, source_path: str, module_name: str, const_int_regs: Dict[str, int]) -> None → constructor FunctionEmitterVisitor(emitter: Emitter, declarations: Emitter, source_path: str, module_name: str) -> None
  • changed: function generate_native_function(fn: FuncIR, emitter: Emitter, source_path: str, module_name: str, optimize_int: bool=…) -> None → function generate_native_function(fn: FuncIR, emitter: Emitter, source_path: str, module_name: str) -> None
  • added: method FunctionEmitterVisitor.visit_comparison_op(op: ComparisonOp) -> None
  • added: method FunctionEmitterVisitor.visit_int_op(op: IntOp) -> None
  • added: method FunctionEmitterVisitor.visit_set_mem(op: SetMem) -> None
  • added: variable IS_MIXED_32_64_BIT_BUILD
  • added: variable MAX_SHORT_INT
  • removed: function find_constant_integer_registers(blocks: List[BasicBlock]) -> Dict[str, int]
  • removed: function format_blocks(blocks: List[BasicBlock], env: Environment, const_regs: Dict[str, int]) -> List[str]
  • removed: function format_func(fn: FuncIR) -> List[str]
  • changed: constructor FuncIR(decl: FuncDecl, blocks: List[BasicBlock], env: Environment, line: int=…, traceback_name: Optional[str]=…) -> None → constructor FuncIR(decl: FuncDecl, arg_regs: List[Register], blocks: List[BasicBlock], line: int=…, traceback_name: Optional[str]=…) -> None
  • added: function all_values(args: List[Register], blocks: List[BasicBlock]) -> List[Value]
  • added: function all_values_full(args: List[Register], blocks: List[BasicBlock]) -> List[Value]
  • removed: function format_modules(modules: ModuleIRs) -> List[str]
  • removed: class AssignmentTarget(object)
  • removed: class AssignmentTargetAttr(AssignmentTarget)
  • removed: class AssignmentTargetIndex(AssignmentTarget)
  • removed: class AssignmentTargetRegister(AssignmentTarget)
  • removed: class AssignmentTargetTuple(AssignmentTarget)
  • removed: class BinaryIntOp(RegisterOp)
  • removed: class EmitterInterface
  • removed: class Environment
  • removed: class LoadInt(RegisterOp)
  • removed: class PrimitiveOp(RegisterOp)
  • removed: constructor AssignmentTargetAttr(obj: Value, attr: str) -> None
  • removed: constructor AssignmentTargetIndex(base: Value, index: Value) -> None
  • removed: constructor AssignmentTargetRegister(register: Register) -> None
  • removed: constructor AssignmentTargetTuple(items: List[AssignmentTarget], star_idx: Optional[int]=…) -> None
  • removed: constructor BinaryIntOp(type: RType, lhs: Value, rhs: Value, op: int, line: int=…) -> None
  • removed: constructor Environment(name: Optional[str]=…) -> None
  • removed: constructor LoadInt(value: int, line: int=…, rtype: RType=…) -> None
  • removed: constructor PrimitiveOp(args: List[Value], desc: OpDescription, line: int) -> None
  • removed: constructor Value(line: int) -> None
  • removed: field AssignmentTarget.type
  • removed: field BinaryIntOp.ADD
  • removed: field BinaryIntOp.AND
  • removed: field BinaryIntOp.DIV
  • removed: field BinaryIntOp.EQ
  • removed: field BinaryIntOp.LEFT_SHIFT
  • removed: field BinaryIntOp.MOD
  • removed: field BinaryIntOp.MUL
  • removed: field BinaryIntOp.NEQ
  • removed: field BinaryIntOp.OR
  • removed: field BinaryIntOp.RIGHT_SHIFT
  • removed: field BinaryIntOp.SGE
  • removed: field BinaryIntOp.SGT
  • removed: field BinaryIntOp.SLE
  • removed: field BinaryIntOp.SLT
  • removed: field BinaryIntOp.SUB
  • removed: field BinaryIntOp.UGE
  • removed: field BinaryIntOp.UGT
  • removed: field BinaryIntOp.ULE
  • removed: field BinaryIntOp.ULT
  • removed: field BinaryIntOp.XOR
  • removed: field BinaryIntOp.error_kind
  • removed: field BinaryIntOp.op_str
  • removed: field Branch.BOOL_EXPR
  • removed: field Branch.NEG_INT_EXPR
  • removed: field Branch.op_names
  • removed: field LoadInt.error_kind
  • removed: field Value.name
  • removed: method Assign.to_str(env: Environment) -> str
  • removed: method AssignmentTarget.to_str(env: Environment) -> str
  • removed: method AssignmentTargetAttr.to_str(env: Environment) -> str
  • removed: method AssignmentTargetIndex.to_str(env: Environment) -> str
  • removed: method AssignmentTargetRegister.to_str(env: Environment) -> str
  • removed: method AssignmentTargetTuple.to_str(env: Environment) -> str
  • removed: method BinaryIntOp.accept(visitor: OpVisitor[T]) -> T
  • removed: method BinaryIntOp.sources() -> List[Value]
  • removed: method BinaryIntOp.to_str(env: Environment) -> str
  • removed: method Box.to_str(env: Environment) -> str
  • removed: method Branch.to_str(env: Environment) -> str
  • removed: method Call.to_str(env: Environment) -> str
  • removed: method CallC.to_str(env: Environment) -> str
  • removed: method Cast.to_str(env: Environment) -> str
  • removed: method DecRef.to_str(env: Environment) -> str
  • removed: method EmitterInterface.c_error_value(rtype: RType) -> str
  • removed: method EmitterInterface.emit_declaration(line: str) -> None
  • removed: method EmitterInterface.emit_line(line: str) -> None
  • removed: method EmitterInterface.emit_lines(*lines: str) -> None
  • removed: method EmitterInterface.reg(name: Value) -> str
  • removed: method EmitterInterface.temp_name() -> str
  • removed: method Environment.add(reg: Value, name: str) -> None
  • removed: method Environment.add_local(symbol: SymbolNode, typ: RType, is_arg: bool=…) -> Register
  • removed: method Environment.add_local_reg(symbol: SymbolNode, typ: RType, is_arg: bool=…) -> AssignmentTargetRegister
  • removed: method Environment.add_op(reg: RegisterOp) -> None
  • removed: method Environment.add_target(symbol: SymbolNode, target: AssignmentTarget) -> AssignmentTarget
  • removed: method Environment.add_temp(typ: RType) -> Register
  • removed: method Environment.format(fmt: str, *args: Any) -> str
  • removed: method Environment.lookup(symbol: SymbolNode) -> AssignmentTarget
  • removed: method Environment.regs() -> Iterable[Value]
  • removed: method Environment.to_lines(const_regs: Optional[Dict[str, int]]=…) -> List[str]
  • removed: method GetAttr.to_str(env: Environment) -> str
  • removed: method GetElementPtr.to_str(env: Environment) -> str
  • removed: method Goto.to_str(env: Environment) -> str
  • removed: method IncRef.to_str(env: Environment) -> str
  • removed: method InitStatic.to_str(env: Environment) -> str
  • removed: method LoadAddress.to_str(env: Environment) -> str
  • removed: method LoadErrorValue.to_str(env: Environment) -> str
  • removed: method LoadGlobal.to_str(env: Environment) -> str
  • removed: method LoadInt.accept(visitor: OpVisitor[T]) -> T
  • removed: method LoadInt.sources() -> List[Value]
  • removed: method LoadInt.to_str(env: Environment) -> str
  • removed: method LoadMem.to_str(env: Environment) -> str
  • removed: method LoadStatic.to_str(env: Environment) -> str
  • removed: method MethodCall.to_str(env: Environment) -> str
  • removed: method OpVisitor.visit_binary_int_op(op: BinaryIntOp) -> T
  • removed: method OpVisitor.visit_load_int(op: LoadInt) -> T
  • removed: method OpVisitor.visit_primitive_op(op: PrimitiveOp) -> T
  • removed: method PrimitiveOp.accept(visitor: OpVisitor[T]) -> T
  • removed: method PrimitiveOp.sources() -> List[Value]
  • removed: method PrimitiveOp.stolen() -> List[Value]
  • removed: method PrimitiveOp.to_str(env: Environment) -> str
  • removed: method RaiseStandardError.to_str(env: Environment) -> str
  • removed: method Register.to_str(env: Environment) -> str
  • removed: method Return.to_str(env: Environment) -> str
  • removed: method SetAttr.to_str(env: Environment) -> str
  • removed: method Truncate.to_str(env: Environment) -> str
  • removed: method TupleGet.to_str(env: Environment) -> str
  • removed: method TupleSet.to_str(env: Environment) -> str
  • removed: method Unbox.to_str(env: Environment) -> str
  • removed: method Unreachable.to_str(env: Environment) -> str
  • removed: method Value.to_str(env: Environment) -> str
  • removed: variable ERR_NEG_INT
  • removed: variable EmitCallback
  • removed: variable OpDescription
  • changed: constructor Branch(left: Value, true_label: BasicBlock, false_label: BasicBlock, op: int, line: int=…, *, rare: bool=…) -> None → constructor Branch(value: Value, true_label: BasicBlock, false_label: BasicBlock, op: int, line: int=…, *, rare: bool=…) -> None
  • changed: constructor CallC(function_name: str, args: List[Value], ret_type: RType, steals: StealsDescription, error_kind: int, line: int, var_arg_idx: int=…) -> None → constructor CallC(function_name: str, args: List[Value], ret_type: RType, steals: StealsDescription, is_borrowed: bool, error_kind: int, line: int, var_arg_idx: int=…) -> None
  • changed: constructor LoadAddress(type: RType, src: str, line: int=…) -> None → constructor LoadAddress(type: RType, src: Union[str, Register], line: int=…) -> None
  • changed: constructor Register(type: RType, line: int=…, is_arg: bool=…, name: str=…) -> None → constructor Register(type: RType, name: str=…, is_arg: bool=…, line: int=…) -> None
  • changed: constructor Return(reg: Value, line: int=…) -> None → constructor Return(value: Value, line: int=…) -> None
  • added: class ComparisonOp(RegisterOp)
  • added: class IntOp(RegisterOp)
  • added: class Integer(Value)
  • added: class SetMem(Op)
  • added: constructor ComparisonOp(lhs: Value, rhs: Value, op: int, line: int=…) -> None
  • added: constructor IntOp(type: RType, lhs: Value, rhs: Value, op: int, line: int=…) -> None
  • added: constructor Integer(value: int, rtype: RType=…, line: int=…) -> None
  • added: constructor SetMem(type: RType, dest: Value, src: Value, base: Optional[Value], line: int=…) -> None
  • added: field Branch.BOOL
  • added: field ComparisonOp.EQ
  • added: field ComparisonOp.NEQ
  • added: field ComparisonOp.SGE
  • added: field ComparisonOp.SGT
  • added: field ComparisonOp.SLE
  • added: field ComparisonOp.SLT
  • added: field ComparisonOp.UGE
  • added: field ComparisonOp.UGT
  • added: field ComparisonOp.ULE
  • added: field ComparisonOp.ULT
  • added: field ComparisonOp.error_kind
  • added: field ComparisonOp.op_str
  • added: field IntOp.ADD
  • added: field IntOp.AND
  • added: field IntOp.DIV
  • added: field IntOp.LEFT_SHIFT
  • added: field IntOp.MOD
  • added: field IntOp.MUL
  • added: field IntOp.OR
  • added: field IntOp.RIGHT_SHIFT
  • added: field IntOp.SUB
  • added: field IntOp.XOR
  • added: field IntOp.error_kind
  • added: field IntOp.op_str
  • added: field SetMem.error_kind
  • added: method ComparisonOp.accept(visitor: OpVisitor[T]) -> T
  • added: method ComparisonOp.sources() -> List[Value]
  • added: method IntOp.accept(visitor: OpVisitor[T]) -> T
  • added: method IntOp.sources() -> List[Value]
  • added: method OpVisitor.visit_comparison_op(op: ComparisonOp) -> T
  • added: method OpVisitor.visit_int_op(op: IntOp) -> T
  • added: method OpVisitor.visit_set_mem(op: SetMem) -> T
  • added: method SetMem.accept(visitor: OpVisitor[T]) -> T
  • added: method SetMem.sources() -> List[Value]
  • added: method SetMem.stolen() -> List[Value]
  • added: class IRPrettyPrintVisitor(OpVisitor[str])
  • added: constructor IRPrettyPrintVisitor(names: Dict[Value, str]) -> None
  • added: field IRPrettyPrintVisitor.branch_op_names
  • added: function format_blocks(blocks: List[BasicBlock], names: Dict[Value, str]) -> List[str]
  • added: function format_func(fn: FuncIR) -> List[str]
  • added: function format_modules(modules: ModuleIRs) -> List[str]
  • added: function format_registers(func_ir: FuncIR, names: Dict[Value, str]) -> List[str]
  • added: function generate_names_for_ir(args: List[Register], blocks: List[BasicBlock]) -> Dict[Value, str]
  • added: method IRPrettyPrintVisitor.format(fmt: str, *args: Any) -> str
  • added: method IRPrettyPrintVisitor.visit_assign(op: Assign) -> str
  • added: method IRPrettyPrintVisitor.visit_box(op: Box) -> str
  • added: method IRPrettyPrintVisitor.visit_branch(op: Branch) -> str
  • added: method IRPrettyPrintVisitor.visit_call(op: Call) -> str
  • added: method IRPrettyPrintVisitor.visit_call_c(op: CallC) -> str
  • added: method IRPrettyPrintVisitor.visit_cast(op: Cast) -> str
  • added: method IRPrettyPrintVisitor.visit_comparison_op(op: ComparisonOp) -> str
  • added: method IRPrettyPrintVisitor.visit_dec_ref(op: DecRef) -> str
  • added: method IRPrettyPrintVisitor.visit_get_attr(op: GetAttr) -> str
  • added: method IRPrettyPrintVisitor.visit_get_element_ptr(op: GetElementPtr) -> str
  • added: method IRPrettyPrintVisitor.visit_goto(op: Goto) -> str
  • added: method IRPrettyPrintVisitor.visit_inc_ref(op: IncRef) -> str
  • added: method IRPrettyPrintVisitor.visit_init_static(op: InitStatic) -> str
  • added: method IRPrettyPrintVisitor.visit_int_op(op: IntOp) -> str
  • added: method IRPrettyPrintVisitor.visit_load_address(op: LoadAddress) -> str
  • added: method IRPrettyPrintVisitor.visit_load_error_value(op: LoadErrorValue) -> str
  • added: method IRPrettyPrintVisitor.visit_load_global(op: LoadGlobal) -> str
  • added: method IRPrettyPrintVisitor.visit_load_mem(op: LoadMem) -> str
  • added: method IRPrettyPrintVisitor.visit_load_static(op: LoadStatic) -> str
  • added: method IRPrettyPrintVisitor.visit_method_call(op: MethodCall) -> str
  • added: method IRPrettyPrintVisitor.visit_raise_standard_error(op: RaiseStandardError) -> str
  • added: method IRPrettyPrintVisitor.visit_return(op: Return) -> str
  • added: method IRPrettyPrintVisitor.visit_set_attr(op: SetAttr) -> str
  • added: method IRPrettyPrintVisitor.visit_set_mem(op: SetMem) -> str
  • added: method IRPrettyPrintVisitor.visit_truncate(op: Truncate) -> str
  • added: method IRPrettyPrintVisitor.visit_tuple_get(op: TupleGet) -> str
  • added: method IRPrettyPrintVisitor.visit_tuple_set(op: TupleSet) -> str
  • added: method IRPrettyPrintVisitor.visit_unbox(op: Unbox) -> str
  • added: method IRPrettyPrintVisitor.visit_unreachable(op: Unreachable) -> str
  • added: function is_bit_rprimitive(rtype: RType) -> bool
  • added: variable PyListObject
  • added: variable bit_rprimitive
  • added: variable object_pointer_rprimitive
  • removed: method IRBuilder.alloc_temp(type: RType) -> Register
  • removed: method IRBuilder.binary_int_op(type: RType, lhs: Value, rhs: Value, op: int, line: int) -> Value
  • removed: method IRBuilder.primitive_op(desc: OpDescription, args: List[Value], line: int) -> Value
  • removed: property IRBuilder.environment -> Environment
  • changed: method IRBuilder.assign_if_null(target: AssignmentTargetRegister, get_val: Callable[[], Value], line: int) -> None → method IRBuilder.assign_if_null(target: Register, get_val: Callable[[], Value], line: int) -> None
  • changed: method IRBuilder.leave() -> Tuple[List[BasicBlock], Environment, RType, FuncInfo] → method IRBuilder.leave() -> Tuple[List[Register], List[RuntimeArg], List[BasicBlock], RType, FuncInfo]
  • added: method IRBuilder.add_argument(var: Union[str, Var], typ: RType, kind: int=…) -> Register
  • added: method IRBuilder.add_local(symbol: SymbolNode, typ: RType, is_arg: bool=…) -> Register
  • added: method IRBuilder.add_local_reg(symbol: SymbolNode, typ: RType, is_arg: bool=…) -> AssignmentTargetRegister
  • added: method IRBuilder.add_self_to_env(cls: ClassIR) -> AssignmentTargetRegister
  • added: method IRBuilder.add_target(symbol: SymbolNode, target: SymbolTarget) -> SymbolTarget
  • added: method IRBuilder.compare_tuples(lhs: Value, rhs: Value, op: str, line: int) -> Value
  • added: method IRBuilder.enter_method(class_ir: ClassIR, name: str, ret_type: RType, fn_info: Union[FuncInfo, str]=…, self_type: Optional[RType]=…) -> None
  • added: method IRBuilder.int_op(type: RType, lhs: Value, rhs: Value, op: int, line: int) -> Value
  • added: method IRBuilder.leave_method() -> None
  • added: method IRBuilder.load_static_int(value: int) -> Value
  • added: method IRBuilder.lookup(symbol: SymbolNode) -> SymbolTarget
  • added: method IRBuilder.maybe_process_conditional_comparison(e: Expression, true: BasicBlock, false: BasicBlock) -> bool
  • added: method IRBuilder.new_list_op(values: List[Value], line: int) -> Value
  • added: method IRBuilder.new_set_op(values: List[Value], line: int) -> Value
  • added: method IRBuilder.process_sequence_assignment(target: AssignmentTargetTuple, rvalue: Value, line: int) -> None
  • added: method IRBuilder.self() -> Register
  • added: method IRBuilder.translate_is_op(lreg: Value, rreg: Value, expr_op: str, line: int) -> Value
  • added: variable SymbolTarget
  • changed: function add_call_to_callable_class(builder: IRBuilder, blocks: List[BasicBlock], sig: FuncSignature, env: Environment, fn_info: FuncInfo) -> FuncIR → function add_call_to_callable_class(builder: IRBuilder, args: List[Register], blocks: List[BasicBlock], sig: FuncSignature, fn_info: FuncInfo) -> FuncIR
  • changed: function gen_glue_ne_method(builder: IRBuilder, cls: ClassIR, line: int) -> FuncIR → function gen_glue_ne_method(builder: IRBuilder, cls: ClassIR, line: int) -> None
  • changed: function load_outer_env(builder: IRBuilder, base: Value, outer_env: Environment) -> Value → function load_outer_env(builder: IRBuilder, base: Value, outer_env: Dict[SymbolNode, SymbolTarget]) -> Value
  • added: function transform_assignment_expr(builder: IRBuilder, o: AssignmentExpr) -> Value
  • added: function try_gen_slice_op(builder: IRBuilder, base: Value, index: SliceExpr) -> Optional[Value]
  • changed: function calculate_arg_defaults(builder: IRBuilder, fn_info: FuncInfo, env: Environment, func_reg: Optional[Value]) -> None → function calculate_arg_defaults(builder: IRBuilder, fn_info: FuncInfo, func_reg: Optional[Value], symtable: Dict[SymbolNode, SymbolTarget]) -> None
  • changed: function gen_func_ir(builder: IRBuilder, blocks: List[BasicBlock], sig: FuncSignature, env: Environment, fn_info: FuncInfo, cdef: Optional[ClassDef]) -> Tuple[FuncIR, Optional[Value]] → function gen_func_ir(builder: IRBuilder, args: List[Register], blocks: List[BasicBlock], sig: FuncSignature, fn_info: FuncInfo, cdef: Optional[ClassDef]) -> Tuple[FuncIR, Optional[Value]]
  • changed: function add_helper_to_generator_class(builder: IRBuilder, blocks: List[BasicBlock], sig: FuncSignature, env: Environment, fn_info: FuncInfo) -> FuncDecl → function add_helper_to_generator_class(builder: IRBuilder, arg_regs: List[Register], blocks: List[BasicBlock], sig: FuncSignature, fn_info: FuncInfo) -> FuncDecl
  • changed: function add_methods_to_generator_class(builder: IRBuilder, fn_info: FuncInfo, sig: FuncSignature, env: Environment, blocks: List[BasicBlock], is_coroutine: bool) -> None → function add_methods_to_generator_class(builder: IRBuilder, fn_info: FuncInfo, sig: FuncSignature, arg_regs: List[Register], blocks: List[BasicBlock], is_coroutine: bool) -> None
  • removed: method LowLevelIRBuilder.alloc_temp(type: RType) -> Register
  • removed: method LowLevelIRBuilder.binary_int_op(type: RType, lhs: Value, rhs: Value, op: int, line: int) -> Value
  • removed: method LowLevelIRBuilder.matching_primitive_op(candidates: List[OpDescription], args: List[Value], line: int, result_type: Optional[RType]=…) -> Optional[Value]
  • removed: method LowLevelIRBuilder.op_arg_type(desc: OpDescription, n: int) -> RType
  • removed: method LowLevelIRBuilder.primitive_op(desc: OpDescription, args: List[Value], line: int) -> Value
  • changed: method LowLevelIRBuilder.binary_op(lreg: Value, rreg: Value, expr_op: str, line: int) -> Value → method LowLevelIRBuilder.binary_op(lreg: Value, rreg: Value, op: str, line: int) -> Value
  • changed: method LowLevelIRBuilder.check_tagged_short_int(val: Value, line: int) -> Value → method LowLevelIRBuilder.check_tagged_short_int(val: Value, line: int, negated: bool=…) -> Value
  • added: method LowLevelIRBuilder.bool_bitwise_op(lreg: Value, rreg: Value, op: str, line: int) -> Value
  • added: method LowLevelIRBuilder.compare_strings(lhs: Value, rhs: Value, op: str, line: int) -> Value
  • added: method LowLevelIRBuilder.compare_tagged_condition(lhs: Value, rhs: Value, op: str, true: BasicBlock, false: BasicBlock, line: int) -> None
  • added: method LowLevelIRBuilder.compare_tuples(lhs: Value, rhs: Value, op: str, line: int=…) -> Value
  • added: method LowLevelIRBuilder.comparison_op(lhs: Value, rhs: Value, op: int, line: int) -> Value
  • added: method LowLevelIRBuilder.int_op(type: RType, lhs: Value, rhs: Value, op: int, line: int) -> Value
  • added: method LowLevelIRBuilder.new_list_op(values: List[Value], line: int) -> Value
  • added: method LowLevelIRBuilder.new_set_op(values: List[Value], line: int) -> Value
  • added: method LowLevelIRBuilder.self() -> Register
  • added: method LowLevelIRBuilder.translate_is_op(lreg: Value, rreg: Value, expr_op: str, line: int) -> Value
  • added: method LowLevelIRBuilder.type_is_op(obj: Value, type_obj: Value, line: int) -> Value
  • added: method LowLevelIRBuilder.unary_not(value: Value, line: int) -> Value
  • added: function is_simple_lvalue(expr: Expression) -> bool
  • added: class AssignmentTarget
  • added: class AssignmentTargetAttr(AssignmentTarget)
  • added: class AssignmentTargetIndex(AssignmentTarget)
  • added: class AssignmentTargetRegister(AssignmentTarget)
  • added: class AssignmentTargetTuple(AssignmentTarget)
  • added: constructor AssignmentTargetAttr(obj: Value, attr: str) -> None
  • added: constructor AssignmentTargetIndex(base: Value, index: Value) -> None
  • added: constructor AssignmentTargetRegister(register: Register) -> None
  • added: constructor AssignmentTargetTuple(items: List[AssignmentTarget], star_idx: Optional[int]=…) -> None
  • added: field AssignmentTarget.type
  • removed: function add_self_to_env(environment: Environment, cls: ClassIR) -> AssignmentTargetRegister
  • added: method IRBuilderVisitor.visit_paramspec_expr(o: ParamSpecExpr) -> Value
  • removed: variable assert_err_occured_op
  • added: variable err_occurred_op
  • removed: variable IntLogicalOpDescrption
  • removed: variable int_logical_op_mapping
  • added: variable IntComparisonOpDescription
  • added: variable int_comparison_op_mapping
  • added: variable int_invert_op
  • removed: function emit_len(emitter: EmitterInterface, args: List[str], dest: str) -> None
  • removed: function emit_new(emitter: EmitterInterface, args: List[str], dest: str) -> None
  • added: variable list_slice_op
  • removed: variable type_is_op
  • removed: variable yield_from_rtuple
  • added: variable check_unpack_count_op
  • removed: function c_binary_op(name: str, arg_types: List[RType], return_type: RType, c_function_name: str, error_kind: int, var_arg_type: Optional[RType]=…, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constant: Optional[Tuple[int, RType]]=…, steals: StealsDescription=…, priority: int=…) -> CFunctionDescription
  • removed: function c_custom_op(arg_types: List[RType], return_type: RType, c_function_name: str, error_kind: int, var_arg_type: Optional[RType]=…, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constant: Optional[Tuple[int, RType]]=…, steals: StealsDescription=…) -> CFunctionDescription
  • removed: function c_function_op(name: str, arg_types: List[RType], return_type: RType, c_function_name: str, error_kind: int, var_arg_type: Optional[RType]=…, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constant: Optional[Tuple[int, RType]]=…, steals: StealsDescription=…, priority: int=…) -> CFunctionDescription
  • removed: function c_method_op(name: str, arg_types: List[RType], return_type: RType, c_function_name: str, error_kind: int, var_arg_type: Optional[RType]=…, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constant: Optional[Tuple[int, RType]]=…, steals: StealsDescription=…, priority: int=…) -> CFunctionDescription
  • removed: function call_and_fail_emit(func: str) -> EmitCallback
  • removed: function call_emit(func: str) -> EmitCallback
  • removed: function call_negative_bool_emit(func: str) -> EmitCallback
  • removed: function call_negative_magic_emit(func: str) -> EmitCallback
  • removed: function call_void_emit(func: str) -> EmitCallback
  • removed: function func_op(name: str, arg_types: List[RType], result_type: RType, error_kind: int, emit: EmitCallback, format_str: Optional[str]=…, steals: StealsDescription=…, is_borrowed: bool=…, priority: int=…) -> OpDescription
  • removed: function name_emit(name: str, target_type: Optional[str]=…) -> EmitCallback
  • removed: function name_ref_op(name: str, result_type: RType, error_kind: int, emit: EmitCallback, is_borrowed: bool=…) -> OpDescription
  • removed: function negative_int_emit(template: str) -> EmitCallback
  • removed: function simple_emit(template: str) -> EmitCallback
  • removed: function unary_op(op: str, arg_type: RType, result_type: RType, error_kind: int, emit: EmitCallback, format_str: Optional[str]=…, steals: StealsDescription=…, is_borrowed: bool=…, priority: int=…) -> OpDescription
  • removed: variable c_binary_ops
  • removed: variable c_function_ops
  • removed: variable c_method_call_ops
  • removed: variable c_unary_ops
  • removed: variable func_ops
  • removed: variable method_ops
  • removed: variable name_ref_ops
  • changed: function binary_op(op: str, arg_types: List[RType], result_type: RType, error_kind: int, emit: EmitCallback, format_str: Optional[str]=…, steals: StealsDescription=…, is_borrowed: bool=…, priority: int=…) -> None → function binary_op(name: str, arg_types: List[RType], return_type: RType, c_function_name: str, error_kind: int, var_arg_type: Optional[RType]=…, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constants: List[Tuple[int, RType]]=…, steals: StealsDescription=…, is_borrowed: bool=…, priority: int=…) -> CFunctionDescription
  • changed: function c_unary_op(name: str, arg_type: RType, return_type: RType, c_function_name: str, error_kind: int, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constant: Optional[Tuple[int, RType]]=…, steals: StealsDescription=…, priority: int=…) -> CFunctionDescription → function c_unary_op(name: str, arg_type: RType, return_type: RType, c_function_name: str, error_kind: int, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constants: List[Tuple[int, RType]]=…, steals: StealsDescription=…, is_borrowed: bool=…, priority: int=…) -> CFunctionDescription
  • changed: function custom_op(arg_types: List[RType], result_type: RType, error_kind: int, emit: EmitCallback, name: Optional[str]=…, format_str: Optional[str]=…, steals: StealsDescription=…, is_borrowed: bool=…, is_var_arg: bool=…) -> OpDescription → function custom_op(arg_types: List[RType], return_type: RType, c_function_name: str, error_kind: int, var_arg_type: Optional[RType]=…, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constants: List[Tuple[int, RType]]=…, steals: StealsDescription=…, is_borrowed: bool=…) -> CFunctionDescription
  • changed: function method_op(name: str, arg_types: List[RType], result_type: Optional[RType], error_kind: int, emit: EmitCallback, steals: StealsDescription=…, is_borrowed: bool=…, priority: int=…) -> OpDescription → function method_op(name: str, arg_types: List[RType], return_type: RType, c_function_name: str, error_kind: int, var_arg_type: Optional[RType]=…, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constants: List[Tuple[int, RType]]=…, steals: StealsDescription=…, is_borrowed: bool=…, priority: int=…) -> CFunctionDescription
  • added: function function_op(name: str, arg_types: List[RType], return_type: RType, c_function_name: str, error_kind: int, var_arg_type: Optional[RType]=…, truncated_type: Optional[RType]=…, ordering: Optional[List[int]]=…, extra_int_constants: List[Tuple[int, RType]]=…, steals: StealsDescription=…, is_borrowed: bool=…, priority: int=…) -> CFunctionDescription
  • added: variable ERR_NEG_INT
  • added: variable function_ops
  • added: variable method_call_ops
  • removed: function emit_str_compare(comparison: str) -> Callable[[EmitterInterface, List[str], str], None]
  • removed: variable str_split_emits
  • added: variable str_slice_op
  • added: variable str_split_constants
  • added: variable str_split_functions
  • added: variable unicode_compare
  • added: variable tuple_slice_op
  • changed: function split_blocks_at_errors(blocks: List[BasicBlock], default_error_handler: BasicBlock, func_name: Optional[str], env: Environment) -> List[BasicBlock] → function split_blocks_at_errors(blocks: List[BasicBlock], default_error_handler: BasicBlock, func_name: Optional[str]) -> List[BasicBlock]
  • changed: function after_branch_decrefs(label: BasicBlock, pre_live: AnalysisDict[Value], source_defined: Set[Value], source_borrowed: Set[Value], source_live_regs: Set[Value], env: Environment, omitted: Iterable[Value]=…) -> Tuple[Tuple[Value, bool], ...] → function after_branch_decrefs(label: BasicBlock, pre_live: AnalysisDict[Value], source_defined: Set[Value], source_borrowed: Set[Value], source_live_regs: Set[Value], ordering: Dict[Value, int], omitted: Iterable[Value]=…) -> Tuple[Tuple[Value, bool], ...]
  • changed: function after_branch_increfs(label: BasicBlock, pre_live: AnalysisDict[Value], pre_borrow: AnalysisDict[Value], source_borrowed: Set[Value], env: Environment) -> Tuple[Value, ...] → function after_branch_increfs(label: BasicBlock, pre_live: AnalysisDict[Value], pre_borrow: AnalysisDict[Value], source_borrowed: Set[Value], ordering: Dict[Value, int]) -> Tuple[Value, ...]
  • changed: function insert_branch_inc_and_decrefs(block: BasicBlock, cache: BlockCache, blocks: List[BasicBlock], pre_live: AnalysisDict[Value], pre_borrow: AnalysisDict[Value], post_borrow: AnalysisDict[Value], post_must_defined: AnalysisDict[Value], env: Environment) -> None → function insert_branch_inc_and_decrefs(block: BasicBlock, cache: BlockCache, blocks: List[BasicBlock], pre_live: AnalysisDict[Value], pre_borrow: AnalysisDict[Value], post_borrow: AnalysisDict[Value], post_must_defined: AnalysisDict[Value], ordering: Dict[Value, int]) -> None
  • changed: function transform_block(block: BasicBlock, pre_live: AnalysisDict[Value], post_live: AnalysisDict[Value], pre_borrow: AnalysisDict[Value], post_must_defined: AnalysisDict[Value], env: Environment) -> None → function transform_block(block: BasicBlock, pre_live: AnalysisDict[Value], post_live: AnalysisDict[Value], pre_borrow: AnalysisDict[Value], post_must_defined: AnalysisDict[Value]) -> None
  • added: function make_value_ordering(ir: FuncIR) -> Dict[Value, int]
  • changed: function split_blocks_at_uninits(env: Environment, blocks: List[BasicBlock], pre_must_defined: AnalysisDict[Value]) -> List[BasicBlock] → function split_blocks_at_uninits(blocks: List[BasicBlock], pre_must_defined: AnalysisDict[Value]) -> List[BasicBlock]