Class AnnotatedPcodeUseropLibrary<T>

java.lang.Object
ghidra.pcode.exec.DefaultPcodeUseropLibrary<T>
ghidra.pcode.exec.AnnotatedPcodeUseropLibrary<T>
Type Parameters:
T - the type of data processed by the library
All Implemented Interfaces:
PcodeUseropLibrary<T>
Direct Known Subclasses:
AdaptedEmulator.AdaptedPcodeUseropLibrary, AnnotatedEmuSyscallUseropLibrary, DecoderUseropLibrary, DefaultPcodeThread.PcodeEmulationLibrary, PcodeExpression.ValueCapturingPcodeUseropLibrary, TaintPcodeUseropLibrary, TrigPcodeUseropLibraryFactory.TrigPcodeUseropLibrary

public abstract class AnnotatedPcodeUseropLibrary<T> extends DefaultPcodeUseropLibrary<T>
A userop library wherein Java methods are exported via a special annotation

See StandAloneEmuExampleScript for an example of implementing a userop library.

  • Constructor Details

    • AnnotatedPcodeUseropLibrary

      public AnnotatedPcodeUseropLibrary()
      Default constructor, usually invoked implicitly
  • Method Details

    • getOperandType

      protected Type getOperandType()
      Determine the operand type by examining the type substituted for T
      Returns:
      the type of data processed by the userop
    • getMethodLookup

      protected MethodHandles.Lookup getMethodLookup()
      An override to provide method access, if any non-public method is exported as a userop.
      Returns:
      a lookup that can access all AnnotatedPcodeUseropLibrary.PcodeUserop-annotated methods.