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 TypeMethodDescriptionintGet the number of input operands accepted by the userop.protected voidprotected voidprotected voidplaceInputs(PcodeExecutor<T> executor, List<Object> args, List<Varnode> inVars) protected voidprocessNonAnnotatedParameter(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, modifiesContext, validateInputsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
initStartingin classAnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
-
processNonAnnotatedParameter
- Specified by:
processNonAnnotatedParameterin classAnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
-
initFinished
protected void initFinished()- Overrides:
initFinishedin classAnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
-
readVars
protected Object[] readVars(PcodeExecutorState<T> state, List<Varnode> vars, PcodeExecutorStatePiece.Reason reason) -
placeInputs
- Specified by:
placeInputsin classAnnotatedPcodeUseropLibrary.AnnotatedPcodeUseropDefinition<T>
-
getInputCount
public int getInputCount()Description copied from interface:PcodeUseropLibrary.PcodeUseropDefinitionGet the number of input operands accepted by the userop.- Returns:
- the count or -1 if the userop is variadic
-