- 所有父级接口:
Comparable<Location>,Mirror
位置的行号的可用性将取决于目标 VM 可用的调试信息级别。
几个镜像接口有位置。每个这样的镜像都扩展了一个 Locatable 接口。
Location 的源信息取决于地层哪个被使用了。层是一系列翻译中的源代码级别。例如,假设 baz 程序是用编程语言“Foo”编写的,然后翻译成语言“Bar”,最后翻译成 Java 编程语言。 Java 编程语言层名为 "Java" ,假设其他层名为“Foo”和“Bar”。给定位置(如sourceName() 和lineNumber() 方法所见)可能位于"Foo" 层中“baz.foo”的第14 行、"Bar" 层中“baz.bar”的第23 行和"Java" 层的第71 行。请注意,虽然 Java 编程语言可能只有一个引用类型的源文件,但此限制不适用于其他层 - 因此应查阅每个 Location 以确定其源路径。未指定层(sourceName() 、sourcePath() 和 lineNumber() )的查询使用 VM 的默认层(VirtualMachine.getDefaultStratum() )。如果指定的层(无论是通过方法参数显式指定还是隐式指定为 VM 的默认层)是 null 或在声明类型中不可用,则使用声明类型的默认层(declaringType() .defaultStratum() )。请注意,在正常情况下,作为 Java 编程语言源代码的代码,只有一层 ("Java"),它将作为默认值返回。要确定可用的地层,请使用 ReferenceType.availableStrata() 。
- 自从:
- 1.3
- 参见:
-
方法总结
修饰符和类型方法描述long获取此位置的方法中的代码位置。获取此 Location 所属的类型。boolean比较指定的 Object 与此 Location 是否相等。inthashCode()返回此位置的哈希码值。int获取此 Location 的行号。intlineNumber(String stratum) 此位置的行号。method()获取包含此位置的方法。获取与此位置对应的源的标识名称。sourceName(String stratum) 获取与此位置对应的源的标识名称。获取与此位置对应的源的路径。sourcePath(String stratum) 获取与此位置对应的源的路径。在接口 java.lang.Comparable 中声明的方法
compareTo在接口 com.sun.jdi.Mirror 中声明的方法
toString, virtualMachine
-
方法详情
-
declaringType
ReferenceType declaringType()获取此 Location 所属的类型。通常声明类型是ClassType,但可执行位置也可能存在于InterfaceType的静态初始值设定项中。- 返回:
-
包含此位置的
ReferenceType。
-
method
Method method()获取包含此位置的方法。- 返回:
-
该位置的
Method。
-
codeIndex
long codeIndex()获取此位置的方法中的代码位置。- 返回:
- long 表示方法内的位置,如果位置在本机方法内,则为 -1。
-
sourceName
获取与此位置对应的源的标识名称。此方法等效于
sourceName(vm.getDefaultStratum())- 有关详细信息,请参阅sourceName(String)。- 返回:
- 指定来源的字符串
- 抛出:
AbsentInformationException- 如果源名称未知
-
sourceName
获取与此位置对应的源的标识名称。解释此字符串是源存储库机制的责任。返回的名称是指定的地层(有关地层的描述,请参阅
class comment)。返回的字符串是此位置的源文件的非限定名称。例如,
java.lang.Thread将返回"Thread.java"。- 参数:
stratum- 从中检索信息的层或声明类型的默认层的null。- 返回:
- 指定来源的字符串
- 抛出:
AbsentInformationException- 如果源名称未知- 自从:
- 1.4
-
sourcePath
获取与此位置对应的源的路径。此方法等效于
sourcePath(vm.getDefaultStratum())- 有关详细信息,请参阅sourcePath(String)。- 返回:
- 指定来源的字符串
- 抛出:
AbsentInformationException- 如果源名称未知
-
sourcePath
获取与此位置对应的源的路径。解释此字符串是源存储库机制的责任。返回的路径是针对指定的地层(有关地层的描述,请参阅
class comment)。在参考实现中,对于未明确指定源路径的层(Java 编程语言层从不指定),返回的字符串是
declaringType()的包名称转换为依赖于平台的路径后跟此源文件的非限定名称位置(sourceName(stratum))。例如,在 Windows 平台上,java.lang.Thread将返回"java\lang\Thread.java"。- 参数:
stratum- 从中检索信息的层或声明类型的默认层的null。- 返回:
- 指定来源的字符串
- 抛出:
AbsentInformationException- 如果源名称未知- 自从:
- 1.4
-
lineNumber
int lineNumber()获取此 Location 的行号。此方法等效于
lineNumber(vm.getDefaultStratum())- 有关详细信息,请参阅lineNumber(String)。- 返回:
- 指定源中行的 int,如果信息不可用,则返回 -1;具体来说,始终为本机方法返回 -1。
-
lineNumber
此位置的行号。行号与sourceName(stratum)指定的源相关。返回的行号是针对指定的地层(有关地层的描述,请参阅
class comment)。- 参数:
stratum- 从中检索信息的层或声明类型的默认层的null。- 返回:
- 指定源中行的 int,如果信息不可用,则返回 -1;具体来说,始终为本机方法返回 -1。
- 自从:
- 1.4
-
equals
比较指定的 Object 与此 Location 是否相等。 -
hashCode
int hashCode()返回此位置的哈希码值。
-