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 FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final RefTypeReference type assigned when data access is unknown.static final RefTypestatic final RefTypeReference type used internally to identify external entry points.static final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final FlowTypestatic final RefTypeReference type assigned when data (constant or pointer) is passed to a functionstatic final RefTypeReference type assigned when data is being read.static final RefTypeReference type assigned when data is being read.static final RefTypeReference type assigned when data is read and written.static final RefTypeReference type assigned when data is read and written.static final FlowTypestatic final RefTypeReference type is unknown.static final FlowTypestatic final FlowTypestatic final RefTypeReference type assigned when data is being written.static final RefTypeReference type assigned when data is being written. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns an easy to read display string for this ref type.getName()Returns name of ref-typebytegetValue()Get the int value for this RefType objectbooleanReturns true if this flow type can fall throughinthashCode()booleanisCall()Returns true if the flow is callbooleanReturns true if the flow is a computed call or compute jumpbooleanReturns true if the flow is a conditional call or jumpbooleanisData()Returns true if the reference is to datafinal booleanReturn true if this flow type is one that does not cause a break in control flowbooleanisFlow()Returns true if the reference is an instruction flow referencebooleanReturns true if the reference is indirectbooleanisJump()Returns true if the flow is jumpbooleanTrue if this is an override referencebooleanisRead()Returns true if the reference is a readbooleanReturns true if this instruction terminatesbooleanReturns true if the flow is an unconditional call or jumpbooleanisWrite()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
-
getDisplayString
Returns an easy to read display string for this ref type.- Returns:
- the string
-
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
-