Package ghidra.app.plugin.processors.sleigh.pattern

# Class InstructionPattern

java.lang.Object
ghidra.app.plugin.processors.sleigh.pattern.Pattern
ghidra.app.plugin.processors.sleigh.pattern.DisjointPattern
ghidra.app.plugin.processors.sleigh.pattern.InstructionPattern

public class InstructionPattern extends DisjointPattern
Matches against the actual instruction bit stream

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `InstructionPattern()`
  `InstructionPattern(boolean tf)`
  `InstructionPattern(PatternBlock mv)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `alwaysFalse()`
  `boolean`
  `alwaysInstructionTrue()`
  `boolean`
  `alwaysTrue()`
  `Pattern`
  `doAnd(Pattern b, int sa)`
  `Pattern`
  `doOr(Pattern b, int sa)`
  `PatternBlock`
  `getBlock()`
  `PatternBlock`
  `getBlock(boolean context)`
  `boolean`
  `isMatch(ParserWalker walker, SleighDebugLogger debug)`
  `void`
  `restoreXml(XmlPullParser parser)`
  `void`
  `shiftInstruction(int sa)`
  `Pattern`
  `simplifyClone()`
  `String`
  `toString()`

  ### Methods inherited from class ghidra.app.plugin.processors.sleigh.pattern.DisjointPattern

  `getContextBlock, getDisjoint, getInstructionBlock, getLength, getMask, getValue, getWholeInstructionBytes, identical, numDisjoint, restoreDisjoint, specializes`

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

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

- ## Constructor Details

  - ### InstructionPattern

    public InstructionPattern()

  - ### InstructionPattern

    public InstructionPattern(PatternBlock mv)

  - ### InstructionPattern

    public InstructionPattern(boolean tf)

- ## Method Details

  - ### getBlock

    public PatternBlock getBlock(boolean context)
    Specified by:
      `getBlock` in class `DisjointPattern`

  - ### getBlock

    public PatternBlock getBlock()

  - ### simplifyClone

    public Pattern simplifyClone()
    Specified by:
      `simplifyClone` in class `Pattern`

  - ### shiftInstruction

    public void shiftInstruction(int sa)
    Specified by:
      `shiftInstruction` in class `Pattern`

  - ### doOr

    public Pattern doOr(Pattern b, int sa)
    Specified by:
      `doOr` in class `Pattern`

  - ### doAnd

    public Pattern doAnd(Pattern b, int sa)
    Specified by:
      `doAnd` in class `Pattern`

  - ### isMatch

    public boolean isMatch(ParserWalker walker, SleighDebugLogger debug) throws MemoryAccessException
    Specified by:
      `isMatch` in class `Pattern`
    Throws:
      `MemoryAccessException`

  - ### alwaysTrue

    public boolean alwaysTrue()
    Specified by:
      `alwaysTrue` in class `Pattern`

  - ### alwaysFalse

    public boolean alwaysFalse()
    Specified by:
      `alwaysFalse` in class `Pattern`

  - ### alwaysInstructionTrue

    public boolean alwaysInstructionTrue()
    Specified by:
      `alwaysInstructionTrue` in class `Pattern`

  - ### restoreXml

    public void restoreXml(XmlPullParser parser)
    Specified by:
      `restoreXml` in class `Pattern`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`