Package ghidra.program.util
Class VariableLocation
java.lang.Object
ghidra.program.util.ProgramLocation
ghidra.program.util.FunctionLocation
ghidra.program.util.VariableLocation
- All Implemented Interfaces:
Cloneable
,Comparable<ProgramLocation>
- Direct Known Subclasses:
VariableCommentFieldLocation
,VariableLocFieldLocation
,VariableNameFieldLocation
,VariableTypeFieldLocation
,VariableXRefFieldLocation
VariableLocation
provides information about the location
on a variable within a Function
.-
Field Summary
Fields inherited from class ghidra.program.util.FunctionLocation
functionAddr
Fields inherited from class ghidra.program.util.ProgramLocation
addr, program, refAddr
-
Constructor Summary
ConstructorDescriptionDefault constructor needed for restoring a variable location from XML.VariableLocation
(Program program, Address locationAddr, Variable var, int index, int charOffset) Create a new VariableLocation.VariableLocation
(Program program, Variable var, int index, int charOffset) Create a new VariableLocation. -
Method Summary
Modifier and TypeMethodDescriptionint
boolean
Get the variable associated with this variable locationboolean
isLocationFor
(Variable var) Checks to see if this location is for the indicated variable.boolean
boolean
isReturn()
boolean
Returns true if this location represents a valid location in the given program.void
restoreState
(Program p, SaveState obj) Restore this function location using the given program and save state object.void
Save this function location to the given save state object.toString()
Methods inherited from class ghidra.program.util.FunctionLocation
getFunctionAddress
Methods inherited from class ghidra.program.util.ProgramLocation
clone, compareAddr, getAddress, getByteAddress, getCharOffset, getColumn, getComponentPath, getLocation, getProgram, getRefAddress, getRow, getTranslatedCopy, hashCode
-
Constructor Details
-
VariableLocation
public VariableLocation()Default constructor needed for restoring a variable location from XML. -
VariableLocation
public VariableLocation(Program program, Address locationAddr, Variable var, int index, int charOffset) Create a new VariableLocation.- Parameters:
program
- the program of the locationlocationAddr
- the address of the listing location (i.e., referent code unit)var
- the variable associated with this location.index
- the index of the sub-piece on that variable (only the xrefs have subpiecescharOffset
- the character position on the piece.
-
VariableLocation
Create a new VariableLocation.- Parameters:
program
- the program of the locationvar
- the variable associated with this location.index
- the index of the sub-piece on that variable (only the xrefs have subpiecescharOffset
- the character position on the piece.
-
-
Method Details
-
toString
- Overrides:
toString
in classFunctionLocation
-
getVariable
Get the variable associated with this variable location- Returns:
- associated function variable
-
isLocationFor
Checks to see if this location is for the indicated variable.- Parameters:
var
- the variable- Returns:
- true if this location is for the specified variable.
-
isParameter
public boolean isParameter() -
isReturn
public boolean isReturn() -
equals
- Overrides:
equals
in classFunctionLocation
- See Also:
-
compareTo
- Specified by:
compareTo
in interfaceComparable<ProgramLocation>
- Overrides:
compareTo
in classProgramLocation
-
restoreState
Description copied from class:FunctionLocation
Restore this function location using the given program and save state object.- Overrides:
restoreState
in classFunctionLocation
- Parameters:
p
- the program containing the function locationobj
- the save state object for saving the location
-
saveState
Description copied from class:FunctionLocation
Save this function location to the given save state object.- Overrides:
saveState
in classFunctionLocation
- Parameters:
obj
- the save state object for saving the location
-
isValid
Description copied from class:ProgramLocation
Returns true if this location represents a valid location in the given program.- Overrides:
isValid
in classFunctionLocation
- Parameters:
p
- the program to test if this location is valid.- Returns:
- true if this location represents a valid location in the given program.
-