Package ghidra.program.model.listing
Class InstructionPcodeOverride
java.lang.Object
ghidra.program.model.listing.InstructionPcodeOverride
- All Implemented Interfaces:
PcodeOverride
-
Field Summary
-
Constructor Summary
ConstructorDescriptionThis constructor caches the primary and overriding "from" references ofinstr
. -
Method Summary
Modifier and TypeMethodDescriptiongetCallFixup
(Address callDestAddr) Returns the call-fixup for a specified call destination.Get the fall-through override address which may have been applied to the current instruction.Get the flow override which may have been applied to the current instruction.Get the primary overriding reference address ofRefType
type
from the current instructionGet the primary call reference address from the current instructionboolean
hasCallFixup
(Address callDestAddr) Returns the call-fixup for a specified call destination.boolean
Returns a boolean indicating whether there are any primary overriding references at the current instructionboolean
Returns a boolean indicating whether a callother call override has been applied at the current instructionboolean
Returns a boolean indicating whether a callother jump override has been applied at the current instructionboolean
Returns a boolean indicating whether a call override has been applied at the current instructionboolean
Returns a boolean indicating whether a jump override has been applied at the current instructionvoid
Register that a callother call override has been applied at the current instructionvoid
Register that a callother jump override has been applied at the current instructionvoid
Register that a call override has been applied at the current instruction.void
Register that a jump override has been applied at the current instruction
-
Field Details
-
instr
-
-
Constructor Details
-
InstructionPcodeOverride
This constructor caches the primary and overriding "from" references ofinstr
. This cache is never updated; the assumption is that this object is short-lived (duration ofPcodeEmit
)- Parameters:
instr
- the instruction
-
-
Method Details
-
getFallThroughOverride
Description copied from interface:PcodeOverride
Get the fall-through override address which may have been applied to the current instruction.- Specified by:
getFallThroughOverride
in interfacePcodeOverride
- Returns:
- fall-through override address or null
-
getFlowOverride
Description copied from interface:PcodeOverride
Get the flow override which may have been applied to the current instruction.- Specified by:
getFlowOverride
in interfacePcodeOverride
- Returns:
- flow override or null
-
getInstructionStart
- Specified by:
getInstructionStart
in interfacePcodeOverride
- Returns:
- current instruction address
-
getOverridingReference
Description copied from interface:PcodeOverride
Get the primary overriding reference address ofRefType
type
from the current instruction- Specified by:
getOverridingReference
in interfacePcodeOverride
- Parameters:
type
- type of reference- Returns:
- call reference address or null
-
getPrimaryCallReference
Description copied from interface:PcodeOverride
Get the primary call reference address from the current instruction- Specified by:
getPrimaryCallReference
in interfacePcodeOverride
- Returns:
- call reference address or null
-
hasCallFixup
Description copied from interface:PcodeOverride
Returns the call-fixup for a specified call destination.- Specified by:
hasCallFixup
in interfacePcodeOverride
- Parameters:
callDestAddr
- call destination address. This address is used to identify a function which may have been tagged with a CallFixup.- Returns:
- true if call destination function has been tagged with a call-fixup
-
getCallFixup
Description copied from interface:PcodeOverride
Returns the call-fixup for a specified call destination. If the destination function has not be tagged or was tagged with an unknown CallFixup name this method will return null.- Specified by:
getCallFixup
in interfacePcodeOverride
- Parameters:
callDestAddr
- call destination address. This address is used to identify a function which may have been tagged with a CallFixup.- Returns:
- call fixup object or null
-
setCallOverrideRefApplied
public void setCallOverrideRefApplied()Description copied from interface:PcodeOverride
Register that a call override has been applied at the current instruction.- Specified by:
setCallOverrideRefApplied
in interfacePcodeOverride
-
isCallOverrideRefApplied
public boolean isCallOverrideRefApplied()Description copied from interface:PcodeOverride
Returns a boolean indicating whether a call override has been applied at the current instruction- Specified by:
isCallOverrideRefApplied
in interfacePcodeOverride
- Returns:
- has call override been applied
-
setJumpOverrideRefApplied
public void setJumpOverrideRefApplied()Description copied from interface:PcodeOverride
Register that a jump override has been applied at the current instruction- Specified by:
setJumpOverrideRefApplied
in interfacePcodeOverride
-
isJumpOverrideRefApplied
public boolean isJumpOverrideRefApplied()Description copied from interface:PcodeOverride
Returns a boolean indicating whether a jump override has been applied at the current instruction- Specified by:
isJumpOverrideRefApplied
in interfacePcodeOverride
- Returns:
- has jump override been applied
-
setCallOtherCallOverrideRefApplied
public void setCallOtherCallOverrideRefApplied()Description copied from interface:PcodeOverride
Register that a callother call override has been applied at the current instruction- Specified by:
setCallOtherCallOverrideRefApplied
in interfacePcodeOverride
-
isCallOtherCallOverrideRefApplied
public boolean isCallOtherCallOverrideRefApplied()Description copied from interface:PcodeOverride
Returns a boolean indicating whether a callother call override has been applied at the current instruction- Specified by:
isCallOtherCallOverrideRefApplied
in interfacePcodeOverride
- Returns:
- has callother call override been applied
-
setCallOtherJumpOverrideRefApplied
public void setCallOtherJumpOverrideRefApplied()Description copied from interface:PcodeOverride
Register that a callother jump override has been applied at the current instruction- Specified by:
setCallOtherJumpOverrideRefApplied
in interfacePcodeOverride
-
isCallOtherJumpOverrideApplied
public boolean isCallOtherJumpOverrideApplied()Description copied from interface:PcodeOverride
Returns a boolean indicating whether a callother jump override has been applied at the current instruction- Specified by:
isCallOtherJumpOverrideApplied
in interfacePcodeOverride
- Returns:
- has callother jump override been applied
-
hasPotentialOverride
public boolean hasPotentialOverride()Description copied from interface:PcodeOverride
Returns a boolean indicating whether there are any primary overriding references at the current instruction- Specified by:
hasPotentialOverride
in interfacePcodeOverride
- Returns:
- are there primary overriding references
-