Package ghidra.pcode.exec
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 ClassesChangeModifier 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 ghidra.pcode.exec.PcodeUseropLibrary
PcodeUseropLibrary.EmptyPcodeUseropLibrary, PcodeUseropLibrary.PcodeUseropDefinition<T> -
Field Summary
Fields inherited from class ghidra.pcode.exec.DefaultPcodeUseropLibrary
opsFields inherited from interface ghidra.pcode.exec.PcodeUseropLibrary
NIL -
Constructor Summary
ConstructorsChangeConstructorDescriptionDefault constructor, usually invoked implicitlyREMOVEDops() Removed -
Method Summary
ChangeModifier 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 forTREMOVEDMap<String, PcodeUseropDefinition<T>>RemovedMethods inherited from class ghidra.pcode.exec.DefaultPcodeUseropLibrary
getUserops, putOpMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.pcode.exec.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.
-