Class ObjectInstance
- java.lang.Object
-
- com.tonic.analysis.execution.heap.ObjectInstance
-
- Direct Known Subclasses:
ArrayInstance
public class ObjectInstance extends Object
A simulated heap object identified by id, holding fields keyed by owner, name, and descriptor.
-
-
Constructor Summary
Constructors Constructor Description ObjectInstance(int id, String className)Creates an object with no fields set.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetClassName()ObjectgetField(String owner, String name, String descriptor)Reads a field value.intgetId()intgetIdentityHashCode()inthashCode()booleanisInstanceOf(String className)Checks assignability by exact class match, treating java/lang/Object as a universal supertype.voidsetClassResolver(Object classResolver)Attaches the resolver used for type hierarchy queries.voidsetField(String owner, String name, String descriptor, Object value)Writes a field value.StringtoString()
-
-
-
Constructor Detail
-
ObjectInstance
public ObjectInstance(int id, String className)Creates an object with no fields set.- Parameters:
id- the heap object idclassName- internal name of the object's class
-
-
Method Detail
-
getId
public int getId()
- Returns:
- the id
-
getClassName
public String getClassName()
- Returns:
- the class name
-
getField
public Object getField(String owner, String name, String descriptor)
Reads a field value.- Parameters:
owner- internal name of the declaring classname- the field's namedescriptor- the field's type descriptor- Returns:
- the stored value, or null if the field was never set
-
setField
public void setField(String owner, String name, String descriptor, Object value)
Writes a field value.- Parameters:
owner- internal name of the declaring classname- the field's namedescriptor- the field's type descriptorvalue- the value to store
-
setClassResolver
public void setClassResolver(Object classResolver)
Attaches the resolver used for type hierarchy queries.- Parameters:
classResolver- the resolver to attach
-
isInstanceOf
public boolean isInstanceOf(String className)
Checks assignability by exact class match, treating java/lang/Object as a universal supertype.- Parameters:
className- internal name of the candidate type- Returns:
- true if the class names match exactly or the candidate is java/lang/Object
-
getIdentityHashCode
public int getIdentityHashCode()
- Returns:
- the identity hash code
-
-