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