Interface StackWalker.StackFrame
- Enclosing class:
 - StackWalker
 
public static interface StackWalker.StackFrame
A 
 StackFrame object represents a method invocation returned by StackWalker.  The getDeclaringClass() method may be unsupported as determined by the stack walking options of a stack walker.
- See Java Virtual Machine Specification:
 -  2.6
 - Since:
 - 9
 
Method Summary
| Modifier and Type | Method | Description | 
|---|---|---|
int | 
getByteCodeIndex() | 
  Returns the index to the code array of the   Code attribute containing the execution point represented by this stack frame. | 
String | 
getClassName() | 
  Gets the binary name of the declaring class of the method represented by this stack frame.   | 
Class<?> | 
getDeclaringClass() | 
  Gets the declaring   Class for the method represented by this stack frame. | 
default String | 
getDescriptor() | 
  Returns the descriptor of the method represented by this stack frame as defined by The Java Virtual Machine Specification.   | 
String | 
getFileName() | 
  Returns the name of the source file containing the execution point represented by this stack frame.   | 
int | 
getLineNumber() | 
  Returns the line number of the source line containing the execution point represented by this stack frame.   | 
String | 
getMethodName() | 
  Gets the name of the method represented by this stack frame.   | 
default MethodType | 
getMethodType() | 
  Returns the   MethodType representing the parameter types and the return type for the method represented by this stack frame. | 
boolean | 
isNativeMethod() | 
  Returns   true if the method containing the execution point represented by this stack frame is a native method. | 
StackTraceElement | 
toStackTraceElement() | 
  Gets a   StackTraceElement for this stack frame. | 
Method Details
getClassName
String getClassName()
Gets the binary name of the declaring class of the method represented by this stack frame.
 - Returns:
 - the binary name of the declaring class of the method represented by this stack frame
 - See Java Language Specification:
 -  13.1 The Form of a Binary
 
getMethodName
String getMethodName()
Gets the name of the method represented by this stack frame.
 - Returns:
 - the name of the method represented by this stack frame
 
getDeclaringClass
Class<?> getDeclaringClass()
Gets the declaring 
 Class for the method represented by this stack frame.- Returns:
 - the declaring 
Classof the method represented by this stack frame - Throws:
 - 
UnsupportedOperationException- if thisStackWalkeris not configured withOption.RETAIN_CLASS_REFERENCE. 
getMethodType
default MethodType getMethodType()
Returns the 
 MethodType 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 
MethodTypefor this stack frame - Throws:
 - 
UnsupportedOperationException- if thisStackWalkeris not configured withOption.RETAIN_CLASS_REFERENCE. - Since:
 - 10
 
getDescriptor
default String getDescriptor()
Returns the descriptor of the method represented by this stack frame as defined by The Java Virtual Machine Specification.
 - Implementation Requirements:
 - The default implementation throws 
UnsupportedOperationException. - Returns:
 - the descriptor of the method represented by this stack frame
 - See Java Virtual Machine Specification:
 -  4.3.3 Method Descriptor
 - Since:
 - 10
 - See Also:
 
getByteCodeIndex
int getByteCodeIndex()
Returns the index to the code array of the 
 Code 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 
Codeattribute containing the execution point represented by this stack frame, or a negative number if the method is native. - See Java Virtual Machine Specification:
 -  4.7.3 The 
CodeAttribute
 
getFileName
String getFileName()
Returns the name of the source file containing the execution point represented by this stack frame. Generally, this corresponds to the 
 SourceFile attribute of the relevant class file as defined by The 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 
nullif this information is unavailable. - See Java Virtual Machine Specification:
 -  4.7.10 The 
SourceFileAttribute
 
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 the 
 LineNumberTable attribute of the relevant class file as defined by The 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.
 - See Java Virtual Machine Specification:
 -  4.7.12 The 
LineNumberTableAttribute
 
isNativeMethod
boolean isNativeMethod()
Returns 
 true if the method containing the execution point represented by this stack frame is a native method.- Returns:
 - 
trueif the method containing the execution point represented by this stack frame is a native method. 
toStackTraceElement
StackTraceElement toStackTraceElement()
Gets a 
 StackTraceElement for this stack frame.- Returns:
 - 
StackTraceElementfor this stack frame. 
    © 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
    https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StackWalker.StackFrame.html