Интерфейсный метод
- Все суперинтерфейсы:
-
Accessible,Comparable<Method>,Locatable,Mirror,TypeComponent
public interface Method extends TypeComponent, Locatable, Comparable<Method>
TypeComponent для общей информации о зеркалах поля и метода.- С:
- 1.3
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
allLineLocations() |
Возвращает список, содержащий объект Location для каждой исполняемой строки источника в этом методе. |
List |
allLineLocations |
Возвращает список, содержащий объект Location для каждой исполняемой строки источника в этом методе. |
List |
arguments() |
Возвращает список, содержащий каждый LocalVariable, объявленный в качестве аргумента этого метода. |
List |
argumentTypeNames() |
Возвращает список, содержащий текстовое представление типа каждого формального параметра этого метода. |
List |
argumentTypes() |
Возвращает список, содержащий тип каждого формального параметра этого метода. |
byte[] |
bytecodes() |
Возвращает массив, содержащий байткоды для этого метода. |
boolean |
equals |
Сравнивает указанный объект с этим методом на равенство. |
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 |
Возвращает Location для данного индекса кода. |
List |
locationsOfLine |
Возвращает список, содержащий все объекты Location, которые отображаются на указанный номер строки. |
List |
locationsOfLine |
Возвращает список, содержащий все объекты Location, которые отображаются на указанный номер строки и имя источника. |
Type |
returnType() |
Возвращает возвращаемый тип, как указано в объявлении этого метода. |
String |
returnTypeName() |
Возвращает текстовое представление возвращаемого типа, как указано в объявлении этого метода. |
List |
variables() |
Возвращает список, содержащий каждый LocalVariable, объявленный в этом методе. |
List |
variablesByName |
Возвращает список, содержащий каждый 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()
Это имя типа всегда доступно, даже если тип еще не создан или загружен.
- Возвращает:
- объект
String, содержащий имя типа возвращаемого значения.
returnType
Type returnType() throws ClassNotLoadedException
Примечание: если тип возвращаемого значения этого метода является ссылочным типом (класс, интерфейс или массив) и он не был создан или загружен загрузчиком классов типа объявляющего типа — то есть, declaringType() .classLoader(), то будет выброшено исключение ClassNotLoadedException. Также, ссылочный тип может быть загружен, но еще не подготовлен, в этом случае тип будет возвращён, но попытки выполнить некоторые операции над возвращённым типом (например, fields()) вызовут исключение ClassNotPreparedException. Используйте ReferenceType.isPrepared(), чтобы определить, подготовлен ли ссылочный тип.
- Возвращает:
- тип возвращаемого значения
Typeэтого метода. - Исключение:
-
ClassNotLoadedException- если тип ещё не создан или загружен соответствующим загрузчиком классов. - См. также:
argumentTypeNames
List<String> argumentTypeNames()
Этот список всегда доступен, даже если типы ещё не созданы или загружены.
- Возвращает:
- список
ListизString, по одному элементу списка для каждого параметра этого метода. Каждый элемент представляет тип формального параметра, как указано во время компиляции. Если формальный параметр был объявлен с эллипсисом, то он представлен как массив типа перед эллипсисом.
argumentTypes
List<Type> argumentTypes() throws ClassNotLoadedException
Примечание: если тип любого параметра является ссылочным типом (класс, интерфейс или массив) и он не был создан или загружен загрузчиком классов объявляющего типа — то есть, declaringType() .classLoader(), то будет выброшено исключение ClassNotLoadedException. Также, ссылочный тип может быть загружен, но ещё не подготовлен, в этом случае список будет возвращён, но попытки выполнить некоторые операции над типом (например, fields()) вызовут исключение ClassNotPreparedException. Используйте ReferenceType.isPrepared(), чтобы определить, подготовлен ли ссылочный тип.
- Возвращает:
- возвращает
ListизType, по одному элементу списка для каждого параметра этого метода. Каждый элемент представляет тип формального параметра, как указано во время компиляции. Если формальный параметр был объявлен с эллипсисом, то он представлен как массив типа перед эллипсисом. - Исключение:
-
ClassNotLoadedException- если тип ещё не загружен соответствующим загрузчиком классов. - См. также:
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()
- Возвращает:
-
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, который сопоставлен с заданной строкой. Возвращаемый список будет содержать расположение для каждого непересекающегося диапазона индексов кода, которые были назначены данной строке компилятором и/или виртуальной машиной. Каждое возвращаемое расположение соответствует началу этого диапазона. Если в указанной строке нет выполняемого кода, будет возвращен пустой список; в частности, для нативных и абстрактных методов всегда будет возвращаться пустой список.
Возвращаемый список предназначен для указанного слоя (см. Location для описания слоев).
- Parameters:
-
stratum- слой для сравнения номера строки и имени источника, или null для использования по умолчанию -
sourceName- имя источника, содержащее номер строки, или null для соответствия всем именам источников -
lineNumber- номер строки - Returns:
- список объектов
Location, которые сопоставлены с заданным номером строки. - Throws:
-
AbsentInformationException- если информация о номере строки отсутствует для этого метода. Или если sourceName не пустое и информация об имени источника отсутствует. - Since:
- 1.4
locationOfCodeIndex
Location locationOfCodeIndex(long codeIndex)
Location для данного индекса кода.- Returns:
-
Location, соответствующий данному индексу кода, или null, если указанный индекс кода не является допустимым для данного метода (для нативных и абстрактных методов всегда возвращается null).
variables
List<LocalVariable> variables() throws AbsentInformationException
LocalVariable, объявленный в этом методе. Список включает любые переменные, объявленные в любом объеме внутри метода. Он может содержать несколько переменных с одинаковым именем, объявленных в непересекающихся объемах. Аргументы рассматриваются как локальные переменные и будут присутствовать в возвращаемом списке. Если информация о локальных переменных недоступна, значения фактических аргументов вызовов методов можно получить, используя метод StackFrame.getArgumentValues()
- Returns:
- список объектов
LocalVariable, которые отражают локальные переменные, объявленные в этом методе в целевой виртуальной машине. Если локальных переменных нет, возвращается список нулевой длины. - Throws:
-
AbsentInformationException- если информация о переменных недоступна для этого метода. Как правило, информация о локальных переменных недоступна для нативных или абстрактных методов (то есть информация об их именах аргументов недоступна), поэтому они будут выбрасывать это исключение.
variablesByName
List<LocalVariable> variablesByName(String name) throws AbsentInformationException
LocalVariable заданного имени в этом методе. Если одно и то же имя переменной используется в непересекающихся объемах внутри метода, могут быть возвращены несколько переменных.- Returns:
- список объектов
LocalVariableзаданного имени. Если соответствующие локальные переменные отсутствуют, возвращается список нулевой длины. - Throws:
-
AbsentInformationException- если информация о переменных недоступна для этого метода. Как правило, информация о локальных переменных недоступна для нативных или абстрактных методов (то есть информация об их именах аргументов недоступна), поэтому они будут выбрасывать это исключение.
arguments
List<LocalVariable> arguments() throws AbsentInformationException
LocalVariable, объявленный в качестве аргумента этого метода. Если информация о локальных переменных недоступна, значения фактических аргументов вызовов методов можно получить, используя метод StackFrame.getArgumentValues()
- Returns:
- список
LocalVariableаргументов. Если аргументов нет, возвращается список нулевой длины. - Throws:
-
AbsentInformationException- если информация о переменных недоступна для этого метода. Как правило, информация о локальных переменных недоступна для нативных или абстрактных методов (то есть информация об их именах аргументов недоступна), поэтому они будут выбрасывать это исключение.
bytecodes
byte[] bytecodes()
Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetBytecodes() для определения поддержки операции.
- Returns:
- массив байткодов; для абстрактных и нативных методов возвращается массив нулевой длины.
- Throws:
-
UnsupportedOperationException- если целевая виртуальная машина не поддерживает получение байткодов.
location
Location location()
Location этого метода, если с ним связан выполняемый код.- Specified by:
-
locationв интерфейсеLocatable - Returns:
-
Locationэтого зеркала, или null, если это абстрактный метод; для нативных методов возвращается объект Location, у которого codeIndex равен -1.
equals
boolean equals(Object obj)
- Overrides:
-
equalsв классеObject - Parameters:
-
obj- объект-ссылка для сравнения. - Returns:
- true, если объект является методом и оба зеркала отражают один и тот же метод (объявленный в одном и том же классе или интерфейсе, в одной и той же виртуальной машине).
- See Also:
hashCode
int hashCode()
- Overrides:
-
hashCodeв классеObject - Returns:
- целое значение хэш-кода.
- See Also:
© 1993, 2023, 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/21/docs/api/jdk.jdi/com/sun/jdi/Method.html