Package ghidra.program.util
Class BytesFieldLocation
java.lang.Object
ghidra.program.util.ProgramLocation
ghidra.program.util.CodeUnitLocation
ghidra.program.util.BytesFieldLocation
- All Implemented Interfaces:
Cloneable
,Comparable<ProgramLocation>
Provides specific information about the bytes field within a program location.
-
Field Summary
Fields inherited from class ghidra.program.util.ProgramLocation
addr, program, refAddr
-
Constructor Summary
ConstructorDescriptionDefault constructor needed for restoring a byte field location from XML.BytesFieldLocation
(Program program, Address addr) Creates a new BytesFieldLocation for the given address.BytesFieldLocation
(Program program, Address addr, Address byteAddress, int[] componentPath, int columnInByte) Create a new BytesFieldLocation which represents a specific byte address. -
Method Summary
Modifier and TypeMethodDescriptionint
Returns the index of byte that represents the current program location.int
This is overridden here because previous versions used to store the byte index in the column field.int
Returns the character position within the byte specified by getByteIndex().Methods inherited from class ghidra.program.util.CodeUnitLocation
isValid
Methods inherited from class ghidra.program.util.ProgramLocation
clone, compareAddr, compareTo, equals, getAddress, getByteAddress, getCharOffset, getComponentPath, getLocation, getProgram, getRefAddress, getRow, getTranslatedCopy, hashCode, restoreState, saveState, toString
-
Constructor Details
-
BytesFieldLocation
public BytesFieldLocation(Program program, Address addr, Address byteAddress, int[] componentPath, int columnInByte) Create a new BytesFieldLocation which represents a specific byte address.- Parameters:
program
- the program for this location.addr
- the address of the code unit containing this location.byteAddress
- the address of this location which can be the address of a specific byte within a code unit.componentPath
- the data component path which is specified as an array of indexes where each index indicates the index into nested structures. For instructions or simple data, this should be null.columnInByte
- the character position in the the bytes
-
BytesFieldLocation
Creates a new BytesFieldLocation for the given address. The address will be adjusted to the beginning of the code unit containing that address(if it exists). The original address can be retrieved using the "getByteAddress()" method.- Parameters:
program
- the program that this location is related.addr
- the address of the byte for this location.
-
BytesFieldLocation
public BytesFieldLocation()Default constructor needed for restoring a byte field location from XML.
-
-
Method Details
-
getByteIndex
public int getByteIndex()Returns the index of byte that represents the current program location. Sources that do not get this specific should simply return 0.- Returns:
- the index
-
getColumn
public int getColumn()This is overridden here because previous versions used to store the byte index in the column field. So if anyone was incorrectly using getColumn() to get the byte index, then this override will allow that to keep working.- Overrides:
getColumn
in classProgramLocation
- Returns:
- the column.
-
getColumnInByte
public int getColumnInByte()Returns the character position within the byte specified by getByteIndex(). Normally, this is 1, 2, or 3 corresponding to before the byte, between the nibbles of the byte or past the byte. Sometimes, extra delimiters may exist allowing the position to be greater than 3.- Returns:
- the column
-
getAddressForByte
-