Performs a reflective call to the specified method.
Performs a reflective call to the specified method. The declaring class needs to be in the classpath of the analyzing JavaVM.
None
when the reflective invocation has failed.
DefaultJavaObjectToDomainValueConversion for details.
Converts the given Java object to a corresponding
DomainValue
.
Converts the given Java object to a corresponding
DomainValue
. By creating an DomainValue
that represents an initialized
(array/object) value.
The program counter of the instruction that was responsible for creating the respective value. (This is in – in general – not the instruction where the transformation is performed.)
The object.
A DomainReferenceValue
.
Converts – if possible – a given DomainValue
to a Java object that is
appropriately initialized.
Converts – if possible – a given DomainValue
to a Java object that is
appropriately initialized.
Every domain that supports the creation of a Java object's based on a domain value is expected to implement this method and to test if it can create a precise representation of the given value. If not, the implementation has to delegate the responsibility to the super method to creat an abstract representation.
abstract override def toJavaObject(value : DomainValue): Option[Object] = { if(value...) // create and return Java object else super.toJavaObject(value) }
Some(Object) is returned if it was possible to create a compatible
corresponding Java object; otherwise None
is returned.
Default: None
unless the value
is null. In the latter case Some(null)
is returned.
This operation is generally only possible if the domain value maintains enough state information to completely initialize the Java object.
Support the invocation of methods (using Java reflection) of Java objects that represent concrete domain values.
This greatly facilitates the implementation of methods that need to simulate the logic of a specific object.