Package ghidra.program.model.symbol
Class RefType
java.lang.Object
ghidra.program.model.symbol.RefType
- Direct Known Subclasses:
DataRefType
,FlowType
Class to define reference types.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final RefType
Reference type assigned when data access is unknown.static final RefType
static final RefType
Reference type used internally to identify external entry points.static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final FlowType
static final RefType
Reference type assigned when data (constant or pointer) is passed to a functionstatic final RefType
Reference type assigned when data is being read.static final RefType
Reference type assigned when data is being read.static final RefType
Reference type assigned when data is read and written.static final RefType
Reference type assigned when data is read and written.static final FlowType
static final RefType
Reference type is unknown.static final FlowType
static final FlowType
static final RefType
Reference type assigned when data is being written.static final RefType
Reference type assigned when data is being written. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
getName()
Returns name of ref-typebyte
getValue()
Get the int value for this RefType objectboolean
Returns true if this flow type can fall throughint
hashCode()
boolean
isCall()
Returns true if the flow is callboolean
Returns true if the flow is a computed call or compute jumpboolean
Returns true if the flow is a conditional call or jumpboolean
isData()
Returns true if the reference is to datafinal boolean
Return true if this flow type is one that does not cause a break in control flowboolean
isFlow()
Returns true if the reference is an instruction flow referenceboolean
Returns true if the reference is indirectboolean
isJump()
Returns true if the flow is jumpboolean
True if this is an override referenceboolean
isRead()
Returns true if the reference is a readboolean
Returns true if this instruction terminatesboolean
Returns true if the flow is an unconditional call or jumpboolean
isWrite()
Returns true if the reference is a writetoString()
-
Field Details
-
INVALID
-
FLOW
-
FALL_THROUGH
-
UNCONDITIONAL_JUMP
-
CONDITIONAL_JUMP
-
UNCONDITIONAL_CALL
-
CONDITIONAL_CALL
-
TERMINATOR
-
COMPUTED_JUMP
-
CONDITIONAL_TERMINATOR
-
COMPUTED_CALL
-
CALL_TERMINATOR
-
COMPUTED_CALL_TERMINATOR
-
CONDITIONAL_CALL_TERMINATOR
-
CONDITIONAL_COMPUTED_CALL
-
CONDITIONAL_COMPUTED_JUMP
-
JUMP_TERMINATOR
-
INDIRECTION
-
CALL_OVERRIDE_UNCONDITIONAL
-
JUMP_OVERRIDE_UNCONDITIONAL
-
CALLOTHER_OVERRIDE_CALL
-
CALLOTHER_OVERRIDE_JUMP
-
THUNK
Reference type is unknown. -
DATA
Reference type assigned when data access is unknown. -
PARAM
Reference type assigned when data (constant or pointer) is passed to a function -
DATA_IND
-
READ
Reference type assigned when data is being read. -
WRITE
Reference type assigned when data is being written. -
READ_WRITE
Reference type assigned when data is read and written. -
READ_IND
Reference type assigned when data is being read. -
WRITE_IND
Reference type assigned when data is being written. -
READ_WRITE_IND
Reference type assigned when data is read and written. -
EXTERNAL_REF
Reference type used internally to identify external entry points. The use of this RefType for references to external library data or functions is deprecated and should not be used for that purpose.
-
-
Constructor Details
-
RefType
-
-
Method Details
-
getValue
public byte getValue()Get the int value for this RefType object- Returns:
- the value
-
isData
public boolean isData()Returns true if the reference is to data- Returns:
- true if the reference is to data
-
isRead
public boolean isRead()Returns true if the reference is a read- Returns:
- true if the reference is a read
-
isWrite
public boolean isWrite()Returns true if the reference is a write- Returns:
- true if the reference is a write
-
isIndirect
public boolean isIndirect()Returns true if the reference is indirect- Returns:
- true if the reference is indirect
-
isFlow
public boolean isFlow()Returns true if the reference is an instruction flow reference- Returns:
- true if the reference is an instruction flow reference
-
isFallthrough
public final boolean isFallthrough()Return true if this flow type is one that does not cause a break in control flow- Returns:
- if this flow type is one that does not cause a break in control flow
-
hasFallthrough
public boolean hasFallthrough()Returns true if this flow type can fall through- Returns:
- true if can fall through
-
isCall
public boolean isCall()Returns true if the flow is call- Returns:
- true if is a call
-
isJump
public boolean isJump()Returns true if the flow is jump- Returns:
- true if is a jump
-
isUnConditional
public boolean isUnConditional()Returns true if the flow is an unconditional call or jump- Returns:
- true if unconditional
-
isConditional
public boolean isConditional()Returns true if the flow is a conditional call or jump- Returns:
- true if is conditional
-
isComputed
public boolean isComputed()Returns true if the flow is a computed call or compute jump- Returns:
- true if is computed
-
isTerminal
public boolean isTerminal()Returns true if this instruction terminates- Returns:
- true if terminal
-
isOverride
public boolean isOverride()True if this is an override reference- Returns:
- true if this is an override reference
-
getName
Returns name of ref-type- Returns:
- the name
-
equals
-
hashCode
public int hashCode() -
toString
-