Interface StackWalker.StackFrame

Enclosing class:
StackWalker

public static interfaceStackWalker.StackFrame
AStackFrame object represents a method invocation returned byStackWalker.

Stack walker options configure the stackframe information obtained by aStackWalker.If the stack walker is configured withDROP_METHOD_INFO option, method information such asthemethod name,theline number,thebytecode index, etcwill be dropped.If the stack walker is configured withRETAIN_CLASS_REFERENCE option, theClass objectwill be retained for access.

SeeJava Virtual Machine Specification:
2.6 Frames
Since:
9
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns the index to the code array of theCode attributecontaining the execution point represented by this stack frame.
    Returns thebinary nameof the declaring class of the method represented by this stack frame.
    Returns the declaringClass for the method represented bythis stack frame.
    defaultString
    Returns thedescriptor of the method represented bythis stack frame as defined byThe Java Virtual Machine Specification.
    Returns the name of the source file containing the execution pointrepresented by this stack frame.
    int
    Returns the line number of the source line containing the executionpoint represented by this stack frame.
    Returns the name of the method represented by this stack frame.
    defaultMethodType
    Returns theMethodType representing the parameter types andthe return type for the method represented by this stack frame.
    boolean
    Returnstrue if the method containing the execution pointrepresented by this stack frame is a native method.
    ReturnsStackTraceElement for this stack frame.
  • Method Details

    • getClassName

      String getClassName()
      Returns thebinary nameof the declaring class of the method represented by this stack frame.
      Returns:
      thebinary nameof 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 bythis stack frame.
      Returns:
      the declaringClass for the method represented bythis stack frame
      Throws:
      UnsupportedOperationException - if theStackWalker is configured withoutRETAIN_CLASS_REFERENCE option
    • getMethodType

      default MethodType getMethodType()
      Returns theMethodType representing the parameter types andthe return type for the method represented by this stack frame.
      Implementation Requirements:
      The default implementation throwsUnsupportedOperationException.
      Returns:
      theMethodType 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

      default String getDescriptor()
      Returns thedescriptor of the method represented bythis stack frame as defined byThe Java Virtual Machine Specification.
      Implementation Requirements:
      The default implementation throwsUnsupportedOperationException.
      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 attributecontaining the execution point represented by this stack frame.The code array gives the actual bytes of Java Virtual Machine codethat implement the method.
      Returns:
      the index to the code array of theCode 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 TheCode Attribute
    • getFileName

      String getFileName()
      Returns the name of the source file containing the execution pointrepresented by this stack frame. Generally, this correspondsto theSourceFile attribute of the relevantclassfile as defined byThe Java Virtual Machine Specification.In some systems, the name may refer to some source code unitother 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, ornull if this information is unavailable.
      Throws:
      UnsupportedOperationException - if theStackWalker is configured withDROP_METHOD_INFO option
      SeeJava Virtual Machine Specification:
      4.7.10 TheSourceFile Attribute
    • getLineNumber

      int getLineNumber()
      Returns the line number of the source line containing the executionpoint represented by this stack frame. Generally, this isderived from theLineNumberTable attribute of the relevantclass file as defined byThe Java Virtual MachineSpecification.
      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 TheLineNumberTable Attribute
    • isNativeMethod

      boolean isNativeMethod()
      Returnstrue if the method containing the execution pointrepresented by this stack frame is a native method.
      Returns:
      true if the method containing the execution pointrepresented 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