Интерфейс Location
- Все суперинтерфейсы:
-
Comparable<Location>,Mirror
public interface Location extends Mirror, Comparable<Location>
Доступность номера строки для местоположения будет зависеть от уровня отладочной информации, доступной из целевой виртуальной машины.
Несколько зеркальных интерфейсов имеют местоположения. Каждый такой интерфейс расширяет интерфейс Locatable.
Информация о коде для местоположения зависит от используемого страта. Страт — это уровень исходного кода в последовательности переводов. Например, предположим, что программа baz написана на языке программирования «Foo», затем переведена на язык «Bar» и, наконец, на язык программирования Java. Страт языка программирования Java называется "Java", предположим, что другие страты называются «Foo» и «Bar». Данное местоположение (как оно отображается методами sourceName() и lineNumber()) может находиться на строке 14 файла «baz.foo» в "Foo" страте, на строке 23 файла «baz.bar» в "Bar" страте и на строке 71 файла "Java" страта. Обратите внимание, что, хотя язык программирования Java может иметь только один исходный файл для типа ссылки, это ограничение не относится к другим стратам — таким образом, каждый Location должен быть проконсультирован для определения его пути к исходному коду. Запросы, которые не указывают страт (sourceName(), sourcePath() и lineNumber()), используют стандартный страт виртуальной машины (VirtualMachine.getDefaultStratum()). Если указанный страт (явно указанный в параметре метода или неявно, как стандартный страт виртуальной машины) равен null или не доступен в объявляемом типе, используется стандартный страт объявляемого типа (declaringType().defaultStratum()). Обратите внимание, что в обычном случае кода, происходящего из исходного кода языка программирования Java, будет только один страт ("Java") и он будет возвращён как стандартный. Чтобы определить доступные страты, используйте ReferenceType.availableStrata().
- С:
- 1.3
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
long |
codeIndex() |
Получение позиции кода внутри метода данного местоположения. |
ReferenceType |
declaringType() |
Получение типа, к которому принадлежит данное местоположение. |
boolean |
equals |
Сравнение указанного объекта с этим местоположением на равенство. |
int |
hashCode() |
Возвращение значения хэш-кода для этого местоположения. |
int |
lineNumber() |
Получение номера строки этого местоположения. |
int |
lineNumber |
Номер строки этого местоположения. |
Method |
method() |
Получение метода, содержащего это местоположение. |
String |
sourceName() |
Получение идентифицирующего имени источника, соответствующего этому местоположению. |
String |
sourceName |
Получение идентифицирующего имени источника, соответствующего этому местоположению. |
String |
sourcePath() |
Получение пути к источнику, соответствующему этому местоположению. |
String |
sourcePath |
Получение пути к источнику, соответствующему этому местоположению. |
Методы, объявленные в интерфейсе java.lang.Comparable
compareTo
Методы, объявленные в интерфейсе com.sun.jdi.Mirror
toString, virtualMachine
Подробное описание методов
declaringType
ReferenceType declaringType()
ClassType, но исполняемые локации также могут существовать внутри статического инициализатора InterfaceType.- Возвращает:
- тип
ReferenceType, содержащий эту Location.
method
Method method()
- Возвращает:
- метод
Methodлокации.
codeIndex
long codeIndex()
- Возвращает:
- целое число, представляющее позицию в методе, или -1, если локация находится в методе нативного кода.
sourceName
String sourceName() throws AbsentInformationException
Этот метод эквивалентен sourceName(vm.getDefaultStratum()) — см. sourceName(String) для получения дополнительной информации.
- Возвращает:
- строку, указывающую источник
- Исключение:
-
AbsentInformationException— если имя источника неизвестно
sourceName
String sourceName(String stratum) throws AbsentInformationException
Возвращаемое имя относится к указанному слою (см. class comment для описания слоев).
Возвращаемая строка — это имя файла источника без пути для этой локации. Например, java.lang.Thread вернет "Thread.java".
- Параметры:
-
stratum— слой для извлечения информации илиnullдля стандартного слоя типа объявления. - Возвращает:
- строку, указывающую источник
- Исключение:
-
AbsentInformationException— если имя источника неизвестно - С момента:
- 1.4
sourcePath
String sourcePath() throws AbsentInformationException
Этот метод эквивалентен sourcePath(vm.getDefaultStratum()) — см. sourcePath(String) для получения дополнительной информации.
- Возвращает:
- строку, указывающую источник
- Исключение:
-
AbsentInformationException— если имя источника неизвестно
sourcePath
String sourcePath(String stratum) throws AbsentInformationException
Возвращаемый путь относится к указанному слою (см. class comment для описания слоев).
В реализации по умолчанию, для слоев, которые не указывают путь к источнику (слой языка Java никогда этого не делает), возвращаемая строка — это имя пакета declaringType(), преобразованное в платформозависимый путь, за которым следует имя файла источника без пути для этой локации (sourceName(stratum)). Например, на платформе Windows, java.lang.Thread вернёт "java\lang\Thread.java".
- Параметры:
-
stratum— слой для извлечения информации илиnullдля стандартного слоя типа объявления. - Возвращает:
- строку, указывающую источник
- Исключение:
-
AbsentInformationException— если имя источника неизвестно - С момента:
- 1.4
lineNumber
int lineNumber()
Этот метод эквивалентен lineNumber(vm.getDefaultStratum()) — см. lineNumber(String) для получения дополнительной информации.
- Возвращает:
- целое число, указывающее строку в источнике, возвращает -1, если информация недоступна; в частности, всегда возвращает -1 для нативных методов.
lineNumber
int lineNumber(String stratum)
sourceName(stratum). Возвращаемый номер строки относится к указанному слою (см. class comment для описания слоев).
- Параметры:
-
stratum— слой для извлечения информации илиnullдля стандартного слоя типа объявления. - Возвращает:
- целое число, указывающее строку в источнике, возвращает -1, если информация недоступна; в частности, всегда возвращает -1 для нативных методов.
- С момента:
- 1.4
equals
boolean equals(Object obj)
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj— объект-ссылка для сравнения. - Возвращает:
- true, если объект является Location и ссылается на ту же точку в той же виртуальной машине, что и эта Location.
- См. также:
hashCode
int hashCode()
- Переопределяет:
-
hashCodeв классе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/Location.html