Package ghidra.pcode.exec
Class AnnotatedPcodeUseropLibrary.VariadicAnnotatedPcodeUseropDefinition<T>
java.lang.Object
ghidra.pcode.exec.AnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
ghidra.pcode.exec.AnnotatedPcodeUseropLibrary.VariadicAnnotatedPcodeUseropDefinition<T>
- Type Parameters:
T
- the type of data processed by the userop
- All Implemented Interfaces:
PcodeUseropLibrary.PcodeUseropDefinition<T>
- Enclosing class:
AnnotatedPcodeUseropLibrary<T>
protected static class AnnotatedPcodeUseropLibrary.VariadicAnnotatedPcodeUseropDefinition<T>
extends AnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
An annotated userop with a variable number of arguments
-
Field Summary
Fields inherited from class ghidra.pcode.exec.AnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition
method
-
Constructor Summary
ConstructorsConstructorDescriptionVariadicAnnotatedPcodeUseropDefinition
(AnnotatedPcodeUseropLibrary<T> library, Type opType, MethodHandles.Lookup lookup, Method method, AnnotatedPcodeUseropLibrary.PcodeUserop annot) -
Method Summary
Modifier and TypeMethodDescriptionint
Get the number of input operands accepted by the userop.protected void
protected void
protected void
placeInputs
(PcodeExecutor<T> executor, List<Object> args, List<Varnode> inVars) protected void
processNonAnnotatedParameter
(Type declClsOpType, Type opType, int i, Parameter p) protected Object[]
readVars
(PcodeExecutorState<T> state, List<Varnode> vars, PcodeExecutorStatePiece.Reason reason) Methods inherited from class ghidra.pcode.exec.AnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition
canInlinePcode, create, execute, fromPrimitive, getDefiningLibrary, getJavaMethod, getName, hasSideEffects, isFunctional, isPrimitive, validateInputs
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ghidra.pcode.exec.PcodeUseropLibrary.PcodeUseropDefinition
execute
-
Constructor Details
-
VariadicAnnotatedPcodeUseropDefinition
public VariadicAnnotatedPcodeUseropDefinition(AnnotatedPcodeUseropLibrary<T> library, Type opType, MethodHandles.Lookup lookup, Method method, AnnotatedPcodeUseropLibrary.PcodeUserop annot)
-
-
Method Details
-
initStarting
protected void initStarting()- Overrides:
initStarting
in classAnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
-
processNonAnnotatedParameter
- Specified by:
processNonAnnotatedParameter
in classAnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
-
initFinished
protected void initFinished()- Overrides:
initFinished
in classAnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
-
readVars
protected Object[] readVars(PcodeExecutorState<T> state, List<Varnode> vars, PcodeExecutorStatePiece.Reason reason) -
placeInputs
- Specified by:
placeInputs
in classAnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
-
getInputCount
public int getInputCount()Description copied from interface:PcodeUseropLibrary.PcodeUseropDefinition
Get the number of input operands accepted by the userop.- Returns:
- the count or -1 if the userop is variadic
-