angr.analyses.typehoon.typeconsts¶
All type constants used in type inference. They can be mapped, translated, or rewritten to C-style types.
- angr.analyses.typehoon.typeconsts.memoize(f)¶
- class angr.analyses.typehoon.typeconsts.TypeConstant¶
Bases:
object- SIZE = None¶
- replace(mapping, memo=None)¶
- Return type:
- Parameters:
mapping (dict[TypeConstant, TypeConstant])
memo (set[TypeConstant] | None)
- class angr.analyses.typehoon.typeconsts.TopType¶
Bases:
TypeConstant- SIZE = 1¶
- class angr.analyses.typehoon.typeconsts.BottomType¶
Bases:
TypeConstant- SIZE = 1¶
- class angr.analyses.typehoon.typeconsts.Int¶
Bases:
TypeConstant
- class angr.analyses.typehoon.typeconsts.Float¶
Bases:
TypeConstant
- class angr.analyses.typehoon.typeconsts.Pointer¶
Bases:
TypeConstant- __init__(basetype, name=None)¶
- Parameters:
basetype (TypeConstant | None)
name (str | None)
- basetype: TypeConstant | None
- replace(mapping, memo=None)¶
- Return type:
- Parameters:
mapping (dict[TypeConstant, TypeConstant])
memo (set | None)
- class angr.analyses.typehoon.typeconsts.Pointer32¶
-
32-bit pointers.
- class angr.analyses.typehoon.typeconsts.Pointer64¶
-
64-bit pointers.
- class angr.analyses.typehoon.typeconsts.Array¶
Bases:
TypeConstant- element: TypeConstant | None
- replace(mapping, memo=None)¶
- Return type:
- Parameters:
mapping (dict[TypeConstant, TypeConstant])
memo (set | None)
- class angr.analyses.typehoon.typeconsts.Struct¶
Bases:
TypeConstant- __init__(fields=None, name=None, field_names=None, is_cppclass=False, idx=-1)¶
- class angr.analyses.typehoon.typeconsts.EnumVariant¶
Bases:
object- __init__(name, fields, discriminant, discriminant_size, size)¶
- fields: list[tuple[TypeConstant, str | None]]
- class angr.analyses.typehoon.typeconsts.RustEnum¶
Bases:
TypeConstant- __init__(name=None, variants=None)¶
- get_variant(name)¶
- Return type:
- replace(mapping, memo=None)¶
- Return type:
- Parameters:
mapping (dict[TypeConstant, TypeConstant])
memo (set | None)
- class angr.analyses.typehoon.typeconsts.Enum¶
Bases:
TypeConstantEnum type constant for type inference.
- Variables:
- __init__(members=None, base_type=None, name=None, idx=-1)¶
- replace(mapping, memo=None)¶
- Return type:
- Parameters:
mapping (dict[TypeConstant, TypeConstant])
memo (set | None)
- class angr.analyses.typehoon.typeconsts.Function¶
Bases:
TypeConstant- replace(mapping, memo=None)¶
- Return type:
- Parameters:
mapping (dict[TypeConstant, TypeConstant])
memo (set | None)
- class angr.analyses.typehoon.typeconsts.TypeVariableReference¶
Bases:
TypeConstant