Spec-Zone.ru › OpenJDK 17

Интерфейсный метод

Все суперинтерфейсы:
Accessible, Comparable<Method>, Locatable, Mirror, TypeComponent
public interface Method extends TypeComponent, Locatable, Comparable<Method>
Статический или экземплярный метод в целевой виртуальной машине. См. TypeComponent для общей информации о зеркалах полей и методов.
С тех пор:
1.3
См. также:
  • ObjectReference
  • ReferenceType

Краткое описание методов

Модификатор и тип Метод Описание
List<Location> allLineLocations()
Возвращает список, содержащий объект Location для каждой выполняемой строки исходного кода в этом методе.
List<Location> allLineLocations(String stratum, String sourceName)
Возвращает список, содержащий объект Location для каждой выполняемой строки исходного кода в этом методе.
List<LocalVariable> arguments()
Возвращает список, содержащий каждый LocalVariable, объявленный в качестве аргумента этого метода.
List<String> argumentTypeNames()
Возвращает список, содержащий текстовое представление типа каждого формального параметра этого метода.
List<Type> argumentTypes()
Возвращает список, содержащий тип каждого формального параметра этого метода.
byte[] bytecodes()
Возвращает массив, содержащий байткоды для этого метода.
boolean equals(Object obj)
Сравнивает указанный объект с этим методом на равенство.
int hashCode()
Возвращает значение хэш-кода для этого метода.
boolean isAbstract()
Определяет, является ли этот метод абстрактным.
boolean isBridge()
Определяет, является ли этот метод методом-мостом.
boolean isConstructor()
Определяет, является ли этот метод конструктором.
default boolean isDefault()
Определяет, является ли этот метод методом по умолчанию
boolean isNative()
Определяет, является ли этот метод нативным.
boolean isObsolete()
Определяет, является ли этот метод устаревшим.
boolean isStaticInitializer()
Определяет, является ли этот метод статической инициализацией.
boolean isSynchronized()
Определяет, является ли этот метод синхронизированным.
boolean isVarArgs()
Определяет, принимает ли этот метод переменное количество аргументов.
Location location()
Возвращает Location этого метода, если с ним связан исполняемый код.
Location locationOfCodeIndex(long codeIndex)
Возвращает Location для данного индекса кода.
List<Location> locationsOfLine(int lineNumber)
Возвращает список, содержащий все объекты Location, которые сопоставляются с данным номером строки.
List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber)
Возвращает список, содержащий все объекты Location, которые сопоставляются с данным номером строки и именем исходного кода.
Type returnType()
Возвращает тип возвращаемого значения, как указано в объявлении этого метода.
String returnTypeName()
Возвращает текстовое представление типа возвращаемого значения, как указано в объявлении этого метода.
List<LocalVariable> variables()
Возвращает список, содержащий каждый LocalVariable, объявленный в этом методе.
List<LocalVariable> variablesByName(String name)
Возвращает список, содержащий каждый LocalVariable с данным именем в этом методе.

Методы, объявленные в интерфейсе com.sun.jdi.Accessible

isPackagePrivate, isPrivate, isProtected, isPublic, modifiers

Методы, объявленные в интерфейсе java.lang.Comparable

compareTo

Методы, объявленные в интерфейсе com.sun.jdi.Mirror

toString, virtualMachine

Методы, объявленные в интерфейсе com.sun.jdi.TypeComponent

declaringType, genericSignature, isFinal, isStatic, isSynthetic, name, signature

Подробности методов

returnTypeName

String returnTypeName()
Возвращает текстовое представление возвращаемого типа, как указано в объявлении этого метода.

Это имя типа всегда доступно, даже если тип еще не создан или загружен.

Возвращает:
a String содержащий имя возвращаемого типа.

returnType

Type returnType() throws ClassNotLoadedException
Возвращает возвращаемый тип, как указано в объявлении этого метода.

Примечание: если возвращаемый тип этого метода является типом ссылки (класс, интерфейс или массив), и он не был создан или загружен загрузчиком классов типа-объявителя — то есть, declaringType() .classLoader(), то будет выброшено исключение ClassNotLoadedException. Кроме того, тип ссылки может быть загружен, но еще не подготовлен, в этом случае тип будет возвращён, но попытки выполнить некоторые операции над возвращённым типом (например, fields()) приведут к выбросу исключения ClassNotPreparedException. Используйте ReferenceType.isPrepared() для определения, подготовлен ли тип ссылки.

Возвращает:
возвращаемый Type этого метода.
Исключение:
ClassNotLoadedException - если тип еще не был создан или загружен через соответствующий загрузчик классов.
См. также:
  • Type
  • Field.type() - for usage examples

argumentTypeNames

List<String> argumentTypeNames()
Возвращает список, содержащий текстовое представление типа каждого формального параметра этого метода.

Этот список всегда доступен, даже если типы еще не созданы или загружены.

Возвращает:
a List of String, один элемент списка для каждого параметра этого метода. Каждый элемент представляет тип формального параметра, как указано на этапе компиляции. Если формальный параметр был объявлен с эллипсом, то он представляется как массив типа перед эллипсом.

argumentTypes

List<Type> argumentTypes() throws ClassNotLoadedException
Возвращает список, содержащий тип каждого формального параметра этого метода.

Примечание: если тип любого параметра является типом ссылки (класс, интерфейс или массив), и он не был создан или загружен загрузчиком классов типа-объявителя — то есть, declaringType() .classLoader(), то будет выброшено исключение ClassNotLoadedException. Кроме того, тип ссылки может быть загружен, но еще не подготовлен, в этом случае список будет возвращён, но попытки выполнить некоторые операции над типом (например, fields()) приведут к выбросу исключения ClassNotPreparedException. Используйте ReferenceType.isPrepared() для определения, подготовлен ли тип ссылки.

Возвращает:
возвращает List of Type, один элемент списка для каждого параметра этого метода. Каждый элемент представляет тип формального параметра, как указано на этапе компиляции. Если формальный параметр был объявлен с эллипсом, то он представляется как массив типа перед эллипсом.
Исключение:
ClassNotLoadedException - если тип ещё не был загружен через соответствующий загрузчик классов.
См. также:
  • Type

isAbstract

boolean isAbstract()
Определяет, является ли этот метод абстрактным.
Возвращает:
true если метод объявлен абстрактным; false в противном случае.

isDefault

default boolean isDefault()
Определяет, является ли этот метод методом по умолчанию
Возвращает:
true если метод объявлен методом по умолчанию; false в противном случае.
С:
1.8

isSynchronized

boolean isSynchronized()
Определяет, является ли этот метод синхронизированным.
Возвращает:
true если метод объявлен синхронизированным; false в противном случае.

isNative

boolean isNative()
Определяет, является ли этот метод нативным.
Возвращает:
true если метод объявлен нативным; false в противном случае.

isVarArgs

boolean isVarArgs()
Определяет, принимает ли этот метод переменное число аргументов.
Возвращает:
true если метод принимает переменное число аргументов; false в противном случае.
С:
1.5

isBridge

boolean isBridge()
Определяет, является ли этот метод мостовым методом. Мостовые методы определены в Спецификации языка Java.
Возвращает:
true если метод является мостовым методом; false в противном случае.
С:
1.5

isConstructor

boolean isConstructor()
Определяет, является ли этот метод конструктором.
Возвращает:
true если метод является конструктором; false в противном случае.

isStaticInitializer

boolean isStaticInitializer()
Определяет, является ли этот метод статической инициализацией.
Возвращает:
true если метод является статической инициализацией; false в противном случае.

isObsolete

boolean isObsolete()
Определяет, устарел ли этот метод.
Возвращает:
true если этот метод устарел из-за операции VirtualMachine.redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>).
С:
1.4

allLineLocations

List<Location> allLineLocations() throws AbsentInformationException
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом методе.

Этот метод эквивалентен allLineLocations(vm.getDefaultStratum(),null) - см. allLineLocations(String,String) для получения дополнительной информации.

Возвращает:
список всех объектов исходной строки Location.
Исключение:
AbsentInformationException - если для этого (не-нативного, не-абстрактного) метода нет информации о номере строки.

allLineLocations

List<Location> allLineLocations(String stratum, String sourceName) throws AbsentInformationException
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом методе.

Каждый объект локализации сопоставляет строку исходного кода диапазону индексов кода. Начало диапазона можно определить с помощью Location.codeIndex(). Возвращаемый список упорядочен по индексу кода (от меньшего к большему).

Возвращаемый список может содержать несколько локализаций для одной и той же строки, если компилятор и/или виртуальная машина сопоставили эту строку двум или более разнесённым диапазонам индексов кода.

Если метод является нативным или абстрактным, возвращается пустой список.

Возвращаемый список предназначен для указанного слоя (см. Location для описания слоёв).

Параметры:
stratum - Слой для извлечения информации или null для ReferenceType.defaultStratum()
sourceName - Возвращать локализации только в этом исходном файле или null для возвращения всех локализаций.
Возвращает:
список всех объектов исходной строки Location.
Исключение:
AbsentInformationException - если для этого (не-нативного, не-абстрактного) метода нет информации о номере строки. Или если sourceName не пустое и информация об имени исходного файла отсутствует.
С:
1.4

locationsOfLine

List<Location> locationsOfLine(int lineNumber) throws AbsentInformationException
Возвращает список, содержащий все Location объекты, которые сопоставлены с заданным номером строки.

Этот метод эквивалентен locationsOfLine(vm.getDefaultStratum(), null, lineNumber) - см. locationsOfLine(java.lang.String,java.lang.String,int) для получения дополнительной информации.

Параметры:
lineNumber - номер строки
Возвращает:
список Location объектов, которые сопоставлены с заданным номером строки.
Исключение:
AbsentInformationException - если для этого метода нет информации о номере строки.

locationsOfLine

List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber) throws AbsentInformationException
Возвращает список, содержащий все объекты Location, которые сопоставлены с заданным номером строки и именем источника.

Возвращает список, содержащий каждый объект Location, который сопоставлен с данной строкой. Возвращаемый список будет содержать местоположение для каждого разнесённого диапазона индексов кода, которые были назначены данной строке компилятором и/или виртуальной машиной. Каждое возвращённое местоположение соответствует началу этого диапазона. Если в указанной строке нет исполняемого кода, будет возвращён пустой список; в частности, методы native и abstract всегда возвращают пустой список.

Возвращаемый список предназначен для указанного слоя (см. Location для описания слоёв).

Parameters:
stratum - слой для сравнения номера строки и имени источника, или null для использования по умолчанию
sourceName - имя источника, содержащее номер строки, или null для соответствия всем именам источников
lineNumber - номер строки
Returns:
список объектов Location, которые сопоставлены с заданным номером строки.
Throws:
AbsentInformationException - если информация о номере строки отсутствует для этого метода. Или если sourceName не пустое null и информация об имени источника отсутствует.
Since:
1.4

locationOfCodeIndex

Location locationOfCodeIndex(long codeIndex)
Возвращает Location для данного индекса кода.
Returns:
the Location соответствующий данному индексу кода или null, если указанный индекс кода не является допустимым индексом кода для этого метода (методы native и abstract всегда возвращают null).

variables

List<LocalVariable> variables() throws AbsentInformationException
Возвращает список, содержащий каждый LocalVariable, объявленный в этом методе. Список включает любые переменные, объявленные в любом области действия внутри метода. Он может содержать несколько переменных с одинаковым именем, объявленных в разнесённых областях действия. Аргументы рассматриваются как локальные переменные и будут присутствовать в возвращаемом списке. Если информация о локальных переменных недоступна, значения фактических аргументов вызовов методов можно получить, используя метод StackFrame.getArgumentValues()
Returns:
список объектов LocalVariable, которые отражают локальные переменные, объявленные в этом методе в целевой виртуальной машине. Если локальных переменных нет, возвращается список нулевой длины.
Throws:
AbsentInformationException - если информация о переменных отсутствует для этого метода. Как правило, информация о локальных переменных недоступна для native или abstract методов (то есть, информация об именах их аргументов недоступна), поэтому они вызовут эту ошибку.

variablesByName

List<LocalVariable> variablesByName(String name) throws AbsentInformationException
Возвращает список, содержащий каждую LocalVariable с данным именем в этом методе. Возвращаются несколько переменных, если одно и то же имя переменной используется в разнесённых областях действия в методе.
Returns:
список объектов LocalVariable заданного имени. Если соответствующих локальных переменных нет, возвращается список нулевой длины.
Throws:
AbsentInformationException - если информация о переменных отсутствует для этого метода. Как правило, информация о локальных переменных недоступна для native или abstract методов (то есть, информация об именах их аргументов недоступна), поэтому они вызовут эту ошибку.

arguments

List<LocalVariable> arguments() throws AbsentInformationException
Возвращает список, содержащий каждый LocalVariable, который объявлен как аргумент этого метода. Если информация о локальных переменных недоступна, значения фактических аргументов вызовов методов можно получить, используя метод StackFrame.getArgumentValues()
Returns:
список аргументов LocalVariable. Если аргументов нет, возвращается список нулевой длины.
Throws:
AbsentInformationException - если информация о переменных отсутствует для этого метода. Как правило, информация о локальных переменных недоступна для native или abstract методов (то есть, информация об именах их аргументов недоступна), поэтому они вызовут эту ошибку.

bytecodes

byte[] bytecodes()
Возвращает массив, содержащий байткоды для этого метода.

Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetBytecodes() для определения, поддерживается ли операция.

Returns:
массив байткодов; абстрактные и native методы вернут массив нулевой длины.
Throws:
UnsupportedOperationException - если целевая виртуальная машина не поддерживает извлечение байткодов.

location

Location location()
Возвращает Location этого метода, если с ним связан исполняемый код.
Specified by:
location в интерфейсе Locatable
Returns:
the Location этого зеркала, или null, если это абстрактный метод; методы native вернут объект Location, у которого codeIndex равен -1.

equals

boolean equals(Object obj)
Сравнивает указанный объект с этим методом на равенство.
Overrides:
equals в классе Object
Parameters:
obj - объект-ссылка для сравнения.
Returns:
true, если объект является методом и если оба зеркала отражают один и тот же метод (объявленный в одном классе или интерфейсе, в одной виртуальной машине).
See Also:
  • Object.hashCode()
  • HashMap

hashCode

int hashCode()
Возвращает значение хэш-кода для этого Method.
Overrides:
hashCode в классе Object
Returns:
целое значение хэш-кода.
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

© 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/jdk.jdi/com/sun/jdi/Method.html

Spec-Zone.ru

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