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
A userop library wherein Java methods are exported via a special annotation
See StandAloneEmuExampleScript for an example of implementing a userop library.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classA wrapped, annotated Java method, exported as a userop definitionprotected static classAn annotated userop with a fixed number of argumentsstatic @interfaceAn annotation to receive the executor itself into a parameterstatic @interfaceAn annotation to receive the complete library into a parameterstatic @interfaceAn annotation to receive the CALLOTHER p-code op into a parameterstatic @interfaceAn annotation to receive the output varnode into a parameterstatic @interfaceAn annotation to receive the executor's state into a parameterstatic @interfaceAn annotation to export a Java method as a userop in the library.protected static classAn annotated userop with a variable number of argumentsNested classes/interfaces inherited from interface PcodeUseropLibrary
PcodeUseropLibrary.EmptyPcodeUseropLibrary, PcodeUseropLibrary.PcodeUseropDefinition<T> -
Field Summary
Fields inherited from class DefaultPcodeUseropLibrary
opsFields inherited from interface PcodeUseropLibrary
NIL -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor, usually invoked implicitly -
Method Summary
Modifier and TypeMethodDescriptionprotected MethodHandles.LookupAn override to provide method access, if any non-public method is exported as a userop.protected TypeDetermine the operand type by examining the type substituted forTMethods inherited from class DefaultPcodeUseropLibrary
getUserops, putOpMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface PcodeUseropLibrary
compose, compose, getSymbols
-
Constructor Details
-
AnnotatedPcodeUseropLibrary
public AnnotatedPcodeUseropLibrary()Default constructor, usually invoked implicitly
-
-
Method Details
-
getOperandType
Determine the operand type by examining the type substituted forT- Returns:
- the type of data processed by the userop
-
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.
-