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
functionAddrFields inherited from class ghidra.program.util.ProgramLocation
addr, program, refAddr -
Constructor Summary
ConstructorsConstructorDescriptionDefault 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 TypeMethodDescriptionintbooleanGet the variable associated with this variable locationbooleanisLocationFor(Variable var) Checks to see if this location is for the indicated variable.booleanbooleanisReturn()booleanReturns true if this location represents a valid location in the given program.voidrestoreState(Program p, SaveState obj) Restore this function location using the given program and save state object.voidSave this function location to the given save state object.toString()Methods inherited from class ghidra.program.util.FunctionLocation
getFunctionAddressMethods 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:
toStringin 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:
equalsin classFunctionLocation
-
compareTo
- Specified by:
compareToin interfaceComparable<ProgramLocation>- Overrides:
compareToin classProgramLocation
-
restoreState
Description copied from class:FunctionLocationRestore this function location using the given program and save state object.- Overrides:
restoreStatein classFunctionLocation- Parameters:
p- the program containing the function locationobj- the save state object for saving the location
-
saveState
Description copied from class:FunctionLocationSave this function location to the given save state object.- Overrides:
saveStatein classFunctionLocation- Parameters:
obj- the save state object for saving the location
-
isValid
Description copied from class:ProgramLocationReturns true if this location represents a valid location in the given program.- Overrides:
isValidin 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.
-