public interface Location extends Mirror, Comparable<Location>
Доступность номера строки для расположения будет зависеть на уровне отладочной информации, доступной от целевого VM.
У нескольких интерфейсов зеркала есть расположения. Каждое такое зеркало расширяет a Locatable
интерфейс.
Информация об источнике для Расположения зависит от слоя, который используется. Слой является уровнем исходного кода в пределах последовательности преобразований. Например, скажите, что baz программа пишется в языке программирования "Foo", тогда преобразованный в язык "Панель", и наконец преобразовывала в язык программирования Java. Слой языка программирования Java называют "Java"
, скажем, другие слои называют "Foo" и "Панелью". Данное расположение (как просматривающийся sourceName()
и lineNumber()
методы), могли бы быть в строке 14 из "baz.foo" в "Foo"
слой, строка 23 из "baz.bar" в "Bar"
слой и строка 71 из "Java"
слой. Отметьте, что, в то время как у языка программирования Java может быть только один исходный файл для ссылочного типа, это ограничение не применяется к другим слоям - таким образом, с каждым Расположением нужно консультироваться, чтобы определить его исходный путь. Запросы, которые не определяют слой (sourceName()
, sourcePath()
и lineNumber()
) используйте слой значения по умолчанию VM (VirtualMachine.getDefaultStratum()
). Если указанный слой (ли явно указанный параметром метода или неявно как значение по умолчанию VM) null
или не доступно в типе объявления, слой значения по умолчанию типа объявления используется (declaringType()
.defaultStratum()
). Отметьте, что в нормальном случае, кода, который происходит как источник языка программирования Java, будет только один слой ("Java"
) и это будет возвращено как значение по умолчанию. Определить доступное использование слоев ReferenceType.availableStrata()
.
EventRequestManager
, StackFrame
, BreakpointEvent
, ExceptionEvent
, Locatable
Модификатор и Тип | Метод и Описание |
---|---|
long |
codeIndex()
Получает позицию кода в пределах метода этого расположения.
|
ReferenceType |
declaringType()
Получает тип, которому принадлежит это Расположение.
|
boolean |
equals(Object obj)
Сравнивает указанный Объект с этим Расположением для равенства.
|
int |
hashCode()
Возвращает значение хэш-кода для этого Расположения.
|
int |
lineNumber()
Получает номер строки этого Расположения.
|
int |
lineNumber(String stratum)
Номер строки этого Расположения.
|
Метод |
method()
Получает метод, содержащий это Расположение.
|
Строка |
sourceName()
Получает имя identifing для источника, соответствующего этому расположению.
|
Строка |
sourceName(String stratum)
Получает имя identifing для источника, соответствующего этому расположению.
|
Строка |
sourcePath()
Получает путь к источнику, соответствующему этому расположению.
|
Строка |
sourcePath(String stratum)
Получает путь к источнику, соответствующему этому расположению.
|
toString, virtualMachine
compareTo
ReferenceType declaringType()
ClassType
, но исполнимые расположения также могут существовать в пределах статического инициализатора InterfaceType
.ReferenceType
содержа это Расположение.long codeIndex()
String sourceName() throws AbsentInformationException
Этот метод эквивалентен sourceName(vm.getDefaultStratum())
- см. sourceName(String)
для получения дополнительной информации.
AbsentInformationException
- если исходное имя не известноString sourceName(String stratum) throws AbsentInformationException
Возвращенное имя для указанного слоя (см. class comment
для описания слоев).
Возвращенная строка является неполным именем исходного файла для этого Расположения. Например, java.lang.Thread
возвратился бы "Thread.java"
.
stratum
- Слой, чтобы получить информацию от или null
для слоя значения по умолчанию типа объявления.AbsentInformationException
- если исходное имя не известноString sourcePath() throws AbsentInformationException
Этот метод эквивалентен sourcePath(vm.getDefaultStratum())
- см. sourcePath(String)
для получения дополнительной информации.
AbsentInformationException
- если исходное имя не известноString sourcePath(String stratum) throws AbsentInformationException
Возвращенный путь для указанного слоя (см. class comment
для описания слоев).
В ссылочной реализации, для слоев, которые явно не определяют исходный путь (слой языка программирования Java никогда не делает), возвращенная строка является именем пакета declaringType()
преобразованный в платформу зависимый путь, сопровождаемый неполным именем исходного файла для этого Расположения (sourceName(stratum)
). Например, на платформе Windows, java.lang.Thread
возвратился бы "java\lang\Thread.java"
.
stratum
- Слой, чтобы получить информацию от или null
для слоя значения по умолчанию типа объявления.AbsentInformationException
- если исходное имя не известноint lineNumber()
Этот метод эквивалентен lineNumber(vm.getDefaultStratum())
- см. lineNumber(String)
для получения дополнительной информации.
int lineNumber(String stratum)
sourceName(stratum)
. Возвращенный номер строки для указанного слоя (см. class comment
для описания слоев).
stratum
- Слой, чтобы получить информацию от или null
для слоя значения по умолчанию типа объявления.boolean equals(Object obj)
equals
в class Object
obj
- ссылочный объект, с которым можно сравниться.Object.hashCode()
, HashMap
int hashCode()
hashCode
в class Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
Авторское право © 1999, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92