类 CodeLocation
java.lang.Object
proguard.analysis.datastructure.Location
proguard.analysis.datastructure.CodeLocation
- 所有已实现的接口:
Comparable<Location>
Represents a unique location in the bytecode. It comprises the
Clazz and Member
where it is contained, the offset therein and the corresponding line number in the source file
(Location.UNKNOWN_LINE if it is unknown). Consider the following pseudo-bytecode example
which contains code location comments:
public class Test
{
// class "Test", member "field", line 3, offset 0
public String field;
public String toString()
{
// class "Test", member "toString", line 6, offset 0
aload_0
// class "Test", member "toString", line 6, offset 1
getfield #1 <Test.field : Ljava/lang/String;>
// class "Test", member "toString", line 6, offset 4
areturn
}
}
- Inside methods: Like each location, instructions inside methods have a line number.
But as there may be several expressions on the same line, to correctly identify each
instruction we also need their bytecode offset. E.g. the
getfieldinstruction insidetoString()has the offset 1. - Fields: In this case
Test#field. A field location has a line number (3 in this example) but no offset, as this concept is only applicable to methods.
-
字段概要
字段从类继承的字段 proguard.analysis.datastructure.Location
line, UNKNOWN_LINE -
构造器概要
构造器构造器说明CodeLocation(Clazz clazz, Member member, int offset) Create a code location with an unknown (Location.UNKNOWN_LINE) line number.CodeLocation(Clazz clazz, Member member, int offset, int line) -
方法概要
-
字段详细资料
-
clazz
-
member
-
offset
public final int offset -
signature
-
-
构造器详细资料
-
CodeLocation
Create a code location with an unknown (Location.UNKNOWN_LINE) line number. -
CodeLocation
-
-
方法详细资料
-
getExternalClassName
-
getMemberName
-
getName
从类复制的说明:LocationReturns the name of the location, e.g., the signature of a CodeLocation, or the filename of a FileLocation -
toString
-
equals
-
hashCode
public int hashCode() -
compareTo
-