Интерфейс StackWalker.StackFrame
- Вложенный класс:
- StackWalker
public static interface StackWalker.StackFrame
Объект
StackFrame представляет вызов метода, возвращаемый StackWalker. Метод getDeclaringClass() может быть не поддерживается, как определено параметрами обхода стека объекта обхода стека.
- См. Спецификацию виртуальной машины Java:
- 2.6
- С:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getByteCodeIndex() |
Возвращает индекс в массиве кода атрибута Code содержащего точку выполнения, представленную этим фреймом стека. |
String |
getClassName() |
Получает бинарное имя класса, объявляющего метод, представленный этим фреймом стека. |
Class<?> |
getDeclaringClass() |
Получает объявляющий Class для метода, представленного этим фреймом стека. |
default String |
getDescriptor() |
Возвращает описание метода, представленного этим фреймом стека, как определено в Спецификации виртуальной машины Java. |
String |
getFileName() |
Возвращает имя файла исходного кода, содержащего точку выполнения, представленную этим фреймом стека. |
int |
getLineNumber() |
Возвращает номер строки исходного кода, содержащей точку выполнения, представленную этим фреймом стека. |
String |
getMethodName() |
Получает имя метода, представленного этим фреймом стека. |
default MethodType |
getMethodType() |
Возвращает MethodType, представляющий типы параметров и возвращаемый тип для метода, представленного этим фреймом стека. |
boolean |
isNativeMethod() |
Возвращает true, если метод, содержащий точку выполнения, представленную этим фреймом стека, является родным методом. |
StackTraceElement |
toStackTraceElement() |
Получает StackTraceElement для этого фрейма стека. |
Подробное описание методов
getClassName
String getClassName()
Получает бинарное имя класса, объявляющего метод, представленный этим фреймом стека.
- Возвращает:
- бинарное имя класса, объявляющего метод, представленный этим фреймом стека
- См. Спецификацию языка Java:
- 13.1 Форма бинарного
getMethodName
String getMethodName()
Получает имя метода, представленного этим фреймом стека.
- Возвращает:
- имя метода, представленного этим фреймом стека
getDeclaringClass
Class<?> getDeclaringClass()
Получает объявляющий
Class для метода, представленного этим фреймом стека.- Возвращает:
- объявляющий
Classметода, представленного этим фреймом стека - Исключение:
-
UnsupportedOperationException- если этотStackWalkerне настроен сOption.RETAIN_CLASS_REFERENCE.
getMethodType
default MethodType getMethodType()
Возвращает
MethodType, представляющий типы параметров и возвращаемый тип для метода, представленного этим фреймом стека.- Требования к реализации:
- По умолчанию реализация выбрасывает
UnsupportedOperationException. - Возвращает:
MethodTypeдля этого фрейма стека- Исключение:
-
UnsupportedOperationException- если этотStackWalkerне настроен сOption.RETAIN_CLASS_REFERENCE. - С:
- 10
getDescriptor
default String getDescriptor()
Возвращает описание метода, представленного этим фреймом стека, как определено в Спецификации виртуальной машины Java.
- Требования к реализации:
- По умолчанию реализация выбрасывает
UnsupportedOperationException. - Возвращает:
- описание метода, представленного этим фреймом стека
- См. Спецификацию виртуальной машины Java:
- 4.3.3 Описание метода
- С:
- 10
- См. также:
getByteCodeIndex
int getByteCodeIndex()
Возвращает индекс в массиве кода атрибута
Code содержащего точку выполнения, представленную этим фреймом стека. Массив кода содержит фактические байты кода виртуальной машины Java, реализующие метод.- Возвращает:
- индекс в массиве кода атрибута
Codeсодержащего точку выполнения, представленную этим фреймом стека, или отрицательное число, если метод является родным. - См. Спецификацию виртуальной машины Java:
- 4.7.3 Атрибут
Code
getFileName
String getFileName()
Возвращает имя файла исходного кода, содержащего точку выполнения, представленную этим фреймом стека. Как правило, это соответствует атрибуту
SourceFile соответствующего файла class как определено в Спецификации виртуальной машины Java. В некоторых системах имя может ссылаться на некоторый блок исходного кода, отличный от файла, например, на запись в системе контроля версий.- Возвращает:
- имя файла, содержащего точку выполнения, представленную этим фреймом стека, или
nullесли эта информация недоступна. - См. Спецификацию виртуальной машины Java:
- 4.7.10 Атрибут
SourceFile
getLineNumber
int getLineNumber()
Возвращает номер строки исходного кода, содержащей точку выполнения, представленную этим фреймом стека. Как правило, это выводится из атрибута
LineNumberTable соответствующего файла class как определено в Спецификации виртуальной машины Java.- Возвращает:
- номер строки исходного кода, содержащей точку выполнения, представленную этим фреймом стека, или отрицательное число, если эта информация недоступна.
- См. Спецификацию виртуальной машины Java:
- 4.7.12 Атрибут
LineNumberTable
isNativeMethod
boolean isNativeMethod()
Возвращает
true если метод, содержащий точку выполнения, представленную этим фреймом стека, является родным методом.- Возвращает:
-
trueесли метод, содержащий точку выполнения, представленную этим фреймом стека, является родным методом.
toStackTraceElement
StackTraceElement toStackTraceElement()
Получает
StackTraceElement для этого фрейма стека.- Возвращает:
-
StackTraceElementдля этого фрейма стека.
© 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