Интерфейсный метод
- Все суперинтерфейсы:
-
Accessible,Comparable<Method>,Locatable,Mirror,TypeComponent
public interface Method extends TypeComponent, Locatable, Comparable<Method>
TypeComponent для общей информации о зеркалах полей и методов.- С тех пор:
- 1.3
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List<Location> |
allLineLocations() |
Возвращает список, содержащий объект Location для каждой выполняемой строки исходного кода в этом методе. |
List<Location> |
allLineLocations |
Возвращает список, содержащий объект Location для каждой выполняемой строки исходного кода в этом методе. |
List<LocalVariable> |
arguments() |
Возвращает список, содержащий каждый LocalVariable, объявленный в качестве аргумента этого метода. |
List<String> |
argumentTypeNames() |
Возвращает список, содержащий текстовое представление типа каждого формального параметра этого метода. |
List<Type> |
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<Location> |
locationsOfLine |
Возвращает список, содержащий все объекты Location, которые сопоставляются с данным номером строки. |
List<Location> |
locationsOfLine |
Возвращает список, содержащий все объекты Location, которые сопоставляются с данным номером строки и именем исходного кода. |
Type |
returnType() |
Возвращает тип возвращаемого значения, как указано в объявлении этого метода. |
String |
returnTypeName() |
Возвращает текстовое представление типа возвращаемого значения, как указано в объявлении этого метода. |
List<LocalVariable> |
variables() |
Возвращает список, содержащий каждый LocalVariable, объявленный в этом методе. |
List<LocalVariable> |
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()
Это имя типа всегда доступно, даже если тип еще не создан или загружен.
- Возвращает:
- a
Stringсодержащий имя возвращаемого типа.
returnType
Type returnType() throws ClassNotLoadedException
Примечание: если возвращаемый тип этого метода является типом ссылки (класс, интерфейс или массив), и он не был создан или загружен загрузчиком классов типа-объявителя — то есть, declaringType() .classLoader(), то будет выброшено исключение ClassNotLoadedException. Кроме того, тип ссылки может быть загружен, но еще не подготовлен, в этом случае тип будет возвращён, но попытки выполнить некоторые операции над возвращённым типом (например, fields()) приведут к выбросу исключения ClassNotPreparedException. Используйте ReferenceType.isPrepared() для определения, подготовлен ли тип ссылки.
- Возвращает:
- возвращаемый
Typeэтого метода. - Исключение:
-
ClassNotLoadedException- если тип еще не был создан или загружен через соответствующий загрузчик классов. - См. также:
argumentTypeNames
List<String> argumentTypeNames()
Этот список всегда доступен, даже если типы еще не созданы или загружены.
- Возвращает:
- a
ListofString, один элемент списка для каждого параметра этого метода. Каждый элемент представляет тип формального параметра, как указано на этапе компиляции. Если формальный параметр был объявлен с эллипсом, то он представляется как массив типа перед эллипсом.
argumentTypes
List<Type> argumentTypes() throws ClassNotLoadedException
Примечание: если тип любого параметра является типом ссылки (класс, интерфейс или массив), и он не был создан или загружен загрузчиком классов типа-объявителя — то есть, declaringType() .classLoader(), то будет выброшено исключение ClassNotLoadedException. Кроме того, тип ссылки может быть загружен, но еще не подготовлен, в этом случае список будет возвращён, но попытки выполнить некоторые операции над типом (например, fields()) приведут к выбросу исключения ClassNotPreparedException. Используйте ReferenceType.isPrepared() для определения, подготовлен ли тип ссылки.
- Возвращает:
- возвращает
ListofType, один элемент списка для каждого параметра этого метода. Каждый элемент представляет тип формального параметра, как указано на этапе компиляции. Если формальный параметр был объявлен с эллипсом, то он представляется как массив типа перед эллипсом. - Исключение:
-
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, который сопоставлен с данной строкой. Возвращаемый список будет содержать местоположение для каждого разнесённого диапазона индексов кода, которые были назначены данной строке компилятором и/или виртуальной машиной. Каждое возвращённое местоположение соответствует началу этого диапазона. Если в указанной строке нет исполняемого кода, будет возвращён пустой список; в частности, методы 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:
hashCode
int hashCode()
- Overrides:
-
hashCodeв классеObject - Returns:
- целое значение хэш-кода.
- See Also:
© 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