angr.analyses.typehoon.typevars¶
- class angr.analyses.typehoon.typevars.TypeConstraint¶
Bases:
object- pp_str(mapping)¶
- Return type:
- Parameters:
mapping (dict[TypeVariable, Any])
- class angr.analyses.typehoon.typevars.Equivalence¶
Bases:
TypeConstraint- __init__(type_a, type_b)¶
- type_a
- type_b
- pp_str(mapping)¶
- Return type:
- Parameters:
mapping (dict[TypeVariable, Any])
- class angr.analyses.typehoon.typevars.Existence¶
Bases:
TypeConstraint- __init__(type_)¶
- type_
- pp_str(mapping)¶
- Return type:
- Parameters:
mapping (dict[TypeVariable, Any])
- replace(replacements)¶
- class angr.analyses.typehoon.typevars.Subtype¶
Bases:
TypeConstraint- __init__(sub_type, super_type)¶
- Parameters:
sub_type (TypeConstant | TypeVariable | DerivedTypeVariable)
super_type (TypeConstant | TypeVariable | DerivedTypeVariable)
- super_type
- sub_type
- pp_str(mapping)¶
- Return type:
- Parameters:
mapping (dict[TypeVariable, Any])
- replace(replacements)¶
- class angr.analyses.typehoon.typevars.Add¶
Bases:
TypeConstraintDescribes the constraint that type_r == type0 + type1
- __init__(type_0, type_1, type_r)¶
- type_0
- type_1
- type_r
- pp_str(mapping)¶
- Return type:
- Parameters:
mapping (dict[TypeVariable, Any])
- replace(replacements)¶
- class angr.analyses.typehoon.typevars.Sub¶
Bases:
TypeConstraintDescribes the constraint that type_r == type0 - type1
- __init__(type_0, type_1, type_r)¶
- type_0
- type_1
- type_r
- pp_str(mapping)¶
- Return type:
- Parameters:
mapping (dict[TypeVariable, Any])
- replace(replacements)¶
- class angr.analyses.typehoon.typevars.TypeVariableManager¶
Bases:
objectA manager for creating new type variables and derived type variables and keeping track of their indices.
Usually we create a new TypeVariableManager for each function we analyze.
- new_tv(name=None)¶
Create a new TypeVariable with a managed ID.
- Return type:
- Parameters:
name (str | None)
- new_dtv(type_var, *, label=None, labels=None)¶
Create a new DerivedTypeVariable with a managed ID.
- Return type:
- Parameters:
type_var (TypeVariable | DerivedTypeVariable | TypeConstant)
label (BaseLabel | None)
- new_dtv_with_merged_labels(type_var, *, label=None, labels=None)¶
Create a new DerivedTypeVariable with the given type variable (or DerivedTypeVariable) and labels. Merge the last AddN and SubN labels when possible.
- Return type:
- Parameters:
type_var (TypeVariable | TypeConstant)
label (BaseLabel | None)
- class angr.analyses.typehoon.typevars.TypeVariable¶
Bases:
object- name
- pp_str(mapping)¶
- Return type:
- Parameters:
mapping (dict[TypeVariable, Any])
- class angr.analyses.typehoon.typevars.DerivedTypeVariable¶
Bases:
TypeVariable- __init__(type_var, label, labels=None, idx=None)¶
- Parameters:
type_var (TypeVariable | DerivedTypeVariable | TypeConstant)
label (BaseLabel | None)
- type_var: TypeVariable | TypeConstant
- longest_prefix()¶
- Return type:
Union[TypeConstant,TypeVariable,DerivedTypeVariable,None]
- pp_str(mapping)¶
- Return type:
- Parameters:
mapping (dict[TypeVariable, Any])
- replace(replacements)¶
- class angr.analyses.typehoon.typevars.TypeVariables¶
Bases:
object- __init__()¶
- copy()¶
- add_type_variable(var, typevar, latest=True)¶
- Parameters:
var (SimVariable)
typevar (TypeVariable)
latest (bool)
- get_type_variable(var)¶
- has_type_variable_for(var)¶
- Parameters:
var (SimVariable)
- typevar_to_variable(typevar)¶
- Return type:
- Parameters:
typevar (TypeVariable)
- class angr.analyses.typehoon.typevars.ReinterpretAs¶
Bases:
BaseLabel- __init__(to_type, to_bits)¶
- to_type
- to_bits