com.ibm.dtfj.java
Interface JavaLocation


public interface JavaLocation

Represents a point of execution within a Java method

Author:
PBurka

Method Summary
 boolean equals(java.lang.Object obj)
           
 ImagePointer getAddress()
          Fetches the absolute address of the code which this location represents.
 int getCompilationLevel()
          Get the compilation level for this location.
 java.lang.String getFilename()
          Get the source file name.
 int getLineNumber()
          Get the line number.
 JavaMethod getMethod()
          Get the method which contains the point of execution.
 int hashCode()
           
 java.lang.String toString()
           
 

Method Detail

getAddress

ImagePointer getAddress()
                        throws CorruptDataException
Fetches the absolute address of the code which this location represents. This pointer will be contained within one of the segments returned by getBytecodeSections() or getCompiledSections() of the method returned by getMethod().

null may be returned, particularly for methods with no bytecode or compiled sections (e.g. some native methods)

Although an offset into the method may be calculated using this pointer, caution should be exercised in attempting to map this offset to an offset within the original class file. Various transformations may have been applied to the bytecodes by the VM or other agents which may make the offset difficult to interpret.

For native methods, the address may be meaningless.

Returns:
the address in memory of the managed code
Throws:
CorruptDataException

getLineNumber

int getLineNumber()
                  throws DataUnavailable,
                         CorruptDataException
Get the line number.

Returns:
the line number, if available, or throws DataUnavailable if it is not available Line numbers are counted from 1
Throws:
DataUnavailable - if the line number data is not available for this location
CorruptDataException

getFilename

java.lang.String getFilename()
                             throws DataUnavailable,
                                    CorruptDataException
Get the source file name.

Returns:
the name of the source file, if available, or throws DataUnavailable if it is not available
Throws:
DataUnavailable - if the source file name is unavailable in the core
CorruptDataException

getCompilationLevel

int getCompilationLevel()
                        throws CorruptDataException
Get the compilation level for this location. This is an implementation defined number indicating the level at which the current location was compiled. 0 indicates interpreted. Any positive number indicates some level of JIT compilation. Typically, higher numbers indicate more aggressive compilation strategies

For native methods, a non-zero compilation level indicates that some level of JIT compilation has been applied to the native call (e.g. a custom native call stub). To determine if the method is native, use getMethod().getModifiers().

Returns:
the compilation level
Throws:
CorruptDataException

getMethod

JavaMethod getMethod()
                     throws CorruptDataException
Get the method which contains the point of execution.

Returns:
the method which contains the point of execution
Throws:
CorruptDataException

toString

java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
A string representing the location as it would be seen in a Java stack trace

equals

boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object
Parameters:
obj -
Returns:
True if the given object refers to the same Java Location in the image

hashCode

int hashCode()
Overrides:
hashCode in class java.lang.Object