Package ghidra.program.model.symbol
Class FlowType
- java.lang.Object
-
- ghidra.program.model.symbol.RefType
-
- ghidra.program.model.symbol.FlowType
-
public final class FlowType extends RefType
Class to define flow types for instruction (how it flows from one instruction to the next)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
FlowType.Builder
-
Field Summary
-
Fields inherited from class ghidra.program.model.symbol.RefType
CALL_OVERRIDE_UNCONDITIONAL, CALL_TERMINATOR, CALLOTHER_OVERRIDE_CALL, CALLOTHER_OVERRIDE_JUMP, COMPUTED_CALL, COMPUTED_CALL_TERMINATOR, COMPUTED_JUMP, CONDITIONAL_CALL, CONDITIONAL_CALL_TERMINATOR, CONDITIONAL_COMPUTED_CALL, CONDITIONAL_COMPUTED_JUMP, CONDITIONAL_JUMP, CONDITIONAL_TERMINATOR, DATA, DATA_IND, EXTERNAL_REF, FALL_THROUGH, FLOW, INDIRECTION, INVALID, JUMP_OVERRIDE_UNCONDITIONAL, JUMP_TERMINATOR, PARAM, READ, READ_IND, READ_WRITE, READ_WRITE_IND, TERMINATOR, THUNK, UNCONDITIONAL_CALL, UNCONDITIONAL_JUMP, WRITE, WRITE_IND
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
hasFallthrough()
Returns true if this flow type can fall throughboolean
isCall()
Returns true if the flow is callboolean
isComputed()
Returns true if the flow is a computed call or compute jumpboolean
isConditional()
Returns true if the flow is a conditional call or jumpboolean
isFlow()
Returns true if the reference is an instruction flow referenceboolean
isJump()
Returns true if the flow is jumpboolean
isOverride()
True if this is an override referenceboolean
isTerminal()
Returns true if this instruction terminatesboolean
isUnConditional()
Returns true if the flow is an unconditional call or jump
-
-
-
Method Detail
-
hasFallthrough
public boolean hasFallthrough()
Description copied from class:RefType
Returns true if this flow type can fall through- Overrides:
hasFallthrough
in classRefType
- Returns:
- true if can fall through
-
isCall
public boolean isCall()
Description copied from class:RefType
Returns true if the flow is call
-
isComputed
public boolean isComputed()
Description copied from class:RefType
Returns true if the flow is a computed call or compute jump- Overrides:
isComputed
in classRefType
- Returns:
- true if is computed
-
isConditional
public boolean isConditional()
Description copied from class:RefType
Returns true if the flow is a conditional call or jump- Overrides:
isConditional
in classRefType
- Returns:
- true if is conditional
-
isFlow
public boolean isFlow()
Description copied from class:RefType
Returns true if the reference is an instruction flow reference
-
isJump
public boolean isJump()
Description copied from class:RefType
Returns true if the flow is jump
-
isTerminal
public boolean isTerminal()
Description copied from class:RefType
Returns true if this instruction terminates- Overrides:
isTerminal
in classRefType
- Returns:
- true if terminal
-
isUnConditional
public boolean isUnConditional()
Description copied from class:RefType
Returns true if the flow is an unconditional call or jump- Overrides:
isUnConditional
in classRefType
- Returns:
- true if unconditional
-
isOverride
public boolean isOverride()
Description copied from class:RefType
True if this is an override reference- Overrides:
isOverride
in classRefType
- Returns:
- true if this is an override reference
-
-