ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
preprocessor.import_typing_mixin.ImportTypingMixin Class Reference
Inheritance diagram for preprocessor.import_typing_mixin.ImportTypingMixin:
[legend]

Public Member Functions

 visit_ImportFrom (self, node)
 visit_Import (self, node)

Public Attributes

 typing_module_names
 type_aliases
bool decimal_imported = True
 decimal_class_alias = alias.asname
bool defaultdict_imported = True
 defaultdict_alias = alias.asname
bool decimal_module_imported = True
 decimal_module_alias = alias.asname
bool collections_module_imported = True
 collections_module_alias = alias.asname
 variable_annotations

Protected Member Functions

 _is_type_alias_expression (self, value)
 _copy_annotation_node (self, node)
 _resolve_annotation_aliases (self, annotation)
 _handle_decimal_importfrom (self, alias)
 _handle_collections_importfrom (self, alias)
 _handle_dataclasses_importfrom (self, alias)
 _handle_typing_importfrom (self, alias)
 _infer_type_from_subscript (self, subscript_node)
 _extract_full_type_string (self, type_node)

Protected Attributes

 _typing_imported_names

Static Protected Attributes

tuple _TYPING_GENERIC_NAMES

Member Function Documentation

◆ _copy_annotation_node()

preprocessor.import_typing_mixin.ImportTypingMixin._copy_annotation_node ( self,
node )
protected
Deep copy an annotation AST node.

◆ _extract_full_type_string()

preprocessor.import_typing_mixin.ImportTypingMixin._extract_full_type_string ( self,
type_node )
protected
Extract type string from an annotation node.

◆ _handle_collections_importfrom()

preprocessor.import_typing_mixin.ImportTypingMixin._handle_collections_importfrom ( self,
alias )
protected

◆ _handle_dataclasses_importfrom()

preprocessor.import_typing_mixin.ImportTypingMixin._handle_dataclasses_importfrom ( self,
alias )
protected

◆ _handle_decimal_importfrom()

preprocessor.import_typing_mixin.ImportTypingMixin._handle_decimal_importfrom ( self,
alias )
protected

◆ _handle_typing_importfrom()

preprocessor.import_typing_mixin.ImportTypingMixin._handle_typing_importfrom ( self,
alias )
protected

◆ _infer_type_from_subscript()

preprocessor.import_typing_mixin.ImportTypingMixin._infer_type_from_subscript ( self,
subscript_node )
protected
Infer type from subscript operations like d[\"key\"] or lst[0].

◆ _is_type_alias_expression()

preprocessor.import_typing_mixin.ImportTypingMixin._is_type_alias_expression ( self,
value )
protected
Check whether value is a typing alias RHS like Tuple[int, int].

◆ _resolve_annotation_aliases()

preprocessor.import_typing_mixin.ImportTypingMixin._resolve_annotation_aliases ( self,
annotation )
protected
Recursively resolve type aliases in an annotation AST node.

◆ visit_Import()

preprocessor.import_typing_mixin.ImportTypingMixin.visit_Import ( self,
node )

◆ visit_ImportFrom()

preprocessor.import_typing_mixin.ImportTypingMixin.visit_ImportFrom ( self,
node )

Member Data Documentation

◆ _TYPING_GENERIC_NAMES

preprocessor.import_typing_mixin.ImportTypingMixin._TYPING_GENERIC_NAMES
staticprotected
Initial value:
= (
"Tuple",
"List",
"Dict",
"Set",
"Optional",
"Union",
"Callable",
"ClassVar",
)

◆ _typing_imported_names

preprocessor.import_typing_mixin.ImportTypingMixin._typing_imported_names
protected

◆ collections_module_alias

preprocessor.import_typing_mixin.ImportTypingMixin.collections_module_alias = alias.asname

◆ collections_module_imported

bool preprocessor.import_typing_mixin.ImportTypingMixin.collections_module_imported = True

◆ decimal_class_alias

preprocessor.import_typing_mixin.ImportTypingMixin.decimal_class_alias = alias.asname

◆ decimal_imported

bool preprocessor.import_typing_mixin.ImportTypingMixin.decimal_imported = True

◆ decimal_module_alias

preprocessor.import_typing_mixin.ImportTypingMixin.decimal_module_alias = alias.asname

◆ decimal_module_imported

bool preprocessor.import_typing_mixin.ImportTypingMixin.decimal_module_imported = True

◆ defaultdict_alias

preprocessor.import_typing_mixin.ImportTypingMixin.defaultdict_alias = alias.asname

◆ defaultdict_imported

bool preprocessor.import_typing_mixin.ImportTypingMixin.defaultdict_imported = True

◆ type_aliases

preprocessor.import_typing_mixin.ImportTypingMixin.type_aliases

◆ typing_module_names

preprocessor.import_typing_mixin.ImportTypingMixin.typing_module_names

◆ variable_annotations

preprocessor.import_typing_mixin.ImportTypingMixin.variable_annotations

The documentation for this class was generated from the following file: