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

  Modifier and Type
  Method
  Description
  `boolean`
  `hasFallthrough()`
  Returns true if this flow type can fall through
  `boolean`
  `isCall()`
  Returns true if the flow is call
  `boolean`
  `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 jump
  `boolean`
  `isOverride()`
  True if this is an override reference
  `boolean`
  `isTerminal()`
  Returns true if this instruction terminates
  `boolean`
  `isUnConditional()`
  Returns true if the flow is an unconditional call or jump

  ### Methods inherited from class ghidra.program.model.symbol.RefType

  `equals, getDisplayString, getName, getValue, hashCode, isData, isFallthrough, isIndirect, isRead, isWrite, toString`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Method Details

  - ### hasFallthrough

    public boolean hasFallthrough()
    Description copied from class: `RefType`
    Returns true if this flow type can fall through
    Overrides:
      `hasFallthrough` in class `RefType`
    Returns:
      true if can fall through

  - ### isCall

    public boolean isCall()
    Description copied from class: `RefType`
    Returns true if the flow is call
    Overrides:
      `isCall` in class `RefType`
    Returns:
      true if is a 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 class `RefType`
    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 class `RefType`
    Returns:
      true if is conditional

  - ### isFlow

    public boolean isFlow()
    Description copied from class: `RefType`
    Returns true if the reference is an instruction flow reference
    Overrides:
      `isFlow` in 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
    Overrides:
      `isJump` in class `RefType`
    Returns:
      true if is a jump

  - ### isTerminal

    public boolean isTerminal()
    Description copied from class: `RefType`
    Returns true if this instruction terminates
    Overrides:
      `isTerminal` in class `RefType`
    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 class `RefType`
    Returns:
      true if unconditional

  - ### isOverride

    public boolean isOverride()
    Description copied from class: `RefType`
    True if this is an override reference
    Overrides:
      `isOverride` in class `RefType`
    Returns:
      true if this is an override reference