Interface StackWalker.StackFrame
- Enclosing class:
StackWalker
public static interfaceStackWalker.StackFrame
A
StackFrame
object represents a method invocation returned byStackWalker
.Stack walker options configure the stack frame information obtained by aStackWalker
. If the stack walker is configured withDROP_METHOD_INFO
option, method information such as themethod name, theline number, thebytecode index, etc will be dropped. If the stack walker is configured withRETAIN_CLASS_REFERENCE
option, theClass
object will be retained for access.
- SeeJava Virtual Machine Specification:
- 2.6 Frames
- Since:
- 9
Method Summary
Modifier and TypeMethodDescriptionint
Returns the index to the code array of theCode
attribute containing the execution point represented by this stack frame.Returns thebinary name of the declaring class of the method represented by this stack frame.Class
<?> Returns the declaringClass
for the method represented by this stack frame.defaultString
Returns thedescriptor of the method represented by this stack frame as defined byThe Java Virtual Machine Specification.Returns the name of the source file containing the execution point represented by this stack frame.int
Returns the line number of the source line containing the execution point represented by this stack frame.Returns the name of the method represented by this stack frame.defaultMethodType
Returns theMethodType
representing the parameter types and the return type for the method represented by this stack frame.boolean
Returnstrue
if the method containing the execution point represented by this stack frame is a native method.ReturnsStackTraceElement
for this stack frame.
Method Details
getClassName
String getClassName()Returns thebinary name of the declaring class of the method represented by this stack frame.- Returns:
- thebinary name of the declaring class of the method represented by this stack frame
- SeeJava Language Specification:
- 13.1 The Form of a Binary
getMethodName
String getMethodName()Returns the name of the method represented by this stack frame.- Returns:
- the name of the method represented by this stack frame
- Throws:
UnsupportedOperationException
- if theStackWalker
is configured withDROP_METHOD_INFO
option
getDeclaringClass
Class<?> getDeclaringClass()Returns the declaringClass
for the method represented by this stack frame.- Returns:
- the declaring
Class
for the method represented by this stack frame - Throws:
UnsupportedOperationException
- if theStackWalker
is configured withoutRETAIN_CLASS_REFERENCE
option
getMethodType
Returns theMethodType
representing the parameter types and the return type for the method represented by this stack frame.- Implementation Requirements:
- The default implementation throws
UnsupportedOperationException
. - Returns:
- the
MethodType
of the method represented by this stack frame - Throws:
UnsupportedOperationException
- if theStackWalker
is configured withDROP_METHOD_INFO
option or withoutRETAIN_CLASS_REFERENCE
option- Since:
- 10
getDescriptor
Returns thedescriptor of the method represented by this stack frame as defined byThe Java Virtual Machine Specification.- Implementation Requirements:
- The default implementation throws
UnsupportedOperationException
. - Returns:
- the descriptor of the method represented by this stack frame
- Throws:
UnsupportedOperationException
- if theStackWalker
is configured withDROP_METHOD_INFO
option- SeeJava Virtual Machine Specification:
- 4.3.3 Method Descriptors
- Since:
- 10
- See Also:
getByteCodeIndex
int getByteCodeIndex()Returns the index to the code array of theCode
attribute containing the execution point represented by this stack frame. The code array gives the actual bytes of Java Virtual Machine code that implement the method.- Returns:
- the index to the code array of the
Code
attribute containing the execution point represented by this stack frame, or a negative number if the method is native. - Throws:
UnsupportedOperationException
- if theStackWalker
is configured withDROP_METHOD_INFO
option- SeeJava Virtual Machine Specification:
- 4.7.3 The
Code
Attribute
getFileName
String getFileName()Returns the name of the source file containing the execution point represented by this stack frame. Generally, this corresponds to theSourceFile
attribute of the relevantclass
file as defined byThe Java Virtual Machine Specification. In some systems, the name may refer to some source code unit other than a file, such as an entry in a source repository.- Returns:
- the name of the file containing the execution point represented by this stack frame, or
null
if this information is unavailable. - Throws:
UnsupportedOperationException
- if theStackWalker
is configured withDROP_METHOD_INFO
option- SeeJava Virtual Machine Specification:
- 4.7.10 The
SourceFile
Attribute
getLineNumber
int getLineNumber()Returns the line number of the source line containing the execution point represented by this stack frame. Generally, this is derived from theLineNumberTable
attribute of the relevantclass
file as defined byThe Java Virtual Machine Specification.- Returns:
- the line number of the source line containing the execution point represented by this stack frame, or a negative number if this information is unavailable.
- Throws:
UnsupportedOperationException
- if theStackWalker
is configured withDROP_METHOD_INFO
option- SeeJava Virtual Machine Specification:
- 4.7.12 The
LineNumberTable
Attribute
isNativeMethod
boolean isNativeMethod()Returnstrue
if the method containing the execution point represented by this stack frame is a native method.- Returns:
true
if the method containing the execution point represented by this stack frame is a native method- Throws:
UnsupportedOperationException
- if theStackWalker
is configured withDROP_METHOD_INFO
option
toStackTraceElement
StackTraceElement toStackTraceElement()ReturnsStackTraceElement
for this stack frame.- Returns:
StackTraceElement
for this stack frame- Throws:
UnsupportedOperationException
- if theStackWalker
is configured withDROP_METHOD_INFO
option