Spec-Zone.ru › OpenJDK 17

Интерфейс 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
См. также:
  • MethodType.fromMethodDescriptorString(String, ClassLoader)
  • MethodType.toMethodDescriptorString()

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API