angr.engines.soot.values.thisref

class angr.engines.soot.values.thisref.SimSootValue_ThisRef

Bases: SimSootValue

__init__(heap_alloc_id, type_, symbolic=False)
property id
set_field(state, field_name, field_type, field_value)

Sets an instance field.

Parameters:
  • state (SimState) – angr state where we want to allocate the object attribute

  • field_name (str) – name of the attribute

  • field_type (str) – type of the attribute

  • field_value (SimSootValue) – attribute’s value

get_field(state, field_name, field_type)

Gets the value of an instance field.

Parameters:
  • state (SimState) – angr state where we want to allocate the object attribute

  • field_name (str) – name of the attribute

  • field_type (str) – type of the attribute

store_field(state, field_name, field_type, value)

Store a field of a given object, WITHOUT RESOLVING HIERARCHY

Parameters:
  • state (SimState) – angr state where we want to allocate the object attribute

  • field_name (str) – name of the attribute

  • field_value (SimSootValue) – attribute’s value

load_field(state, field_name, field_type)

Load a field of a given object, without resolving HIERARCHY

Parameters:
  • tastate (SimState) – angr state where we want to load the object attribute

  • field_name (str) – name of the attribute

  • field_type (str) – type of the attribute

classmethod from_sootvalue(soot_value, state)
classmethod new_object(state, type_, symbolic=False, init_object=False, init_class=False)

Creates a new object reference.

Parameters:
  • state – State associated to the object.

  • type_ – Class of the object.

  • init_object – Whether the objects initializer method should be run.

  • init_class – Whether the class initializer method should be run.

Returns:

Reference to the new object.