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, STACK_READ, STACK_WRITE, 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 through.boolean
isCall()
Returns true if the flow is callboolean
isComputed()
Returns true if the flow is a computed call or compute jump.boolean
isConditional()
Returns true if the flow is a conditional call or jump.boolean
isFlow()
Returns true if the reference is an instruction flow reference.boolean
isJump()
Returns true if the flow is jumpboolean
isOverride()
boolean
isTerminal()
returns true if this instruction terminates.boolean
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
-
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
-
isConditional
public boolean isConditional()
Description copied from class:RefType
Returns true if the flow is a conditional call or jump.- Overrides:
isConditional
in classRefType
-
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
-
isUnConditional
public boolean isUnConditional()
Description copied from class:RefType
Returns true if the flow is an unconditional call or jump.- Overrides:
isUnConditional
in classRefType
-
isOverride
public boolean isOverride()
- Overrides:
isOverride
in classRefType
- Returns:
- true precisely when the reference is an overriding reference
-
-