Package ghidra.pcode.exec
Class ComposedPcodeUseropLibrary<T>
java.lang.Object
ghidra.pcode.exec.ComposedPcodeUseropLibrary<T>
- Type Parameters:
T- the type of values processed by the library
- All Implemented Interfaces:
PcodeUseropLibrary<T>
A p-code userop library composed of other libraries
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.pcode.exec.PcodeUseropLibrary
PcodeUseropLibrary.EmptyPcodeUseropLibrary, PcodeUseropLibrary.PcodeUseropDefinition<T> -
Field Summary
Fields inherited from interface ghidra.pcode.exec.PcodeUseropLibrary
NIL -
Constructor Summary
ConstructorsChangeConstructorDescriptionComposedPcodeUseropLibrary(Collection<PcodeUseropLibrary<T>> libraries, boolean override) Construct a composed userop library from the given libraries -
Method Summary
ChangeModifier and TypeMethodDescriptionstatic <T> Map<String, PcodeUseropLibrary.PcodeUseropDefinition<T>> composeUserops(Collection<PcodeUseropLibrary<T>> libraries, boolean override) Obtain a map representing the composition of userops from all the given librariesGet all the userops defined in this library, keyed by (symbol) name.Methods 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
-
ComposedPcodeUseropLibrary
Construct a composed userop library from the given librariesThis uses
composeUserops(Collection, boolean), so its restrictions apply here, too.- Parameters:
libraries- the librariesoverride- allow libraries to the right to override userops from libraries to the left
-
-
Method Details
-
composeUserops
public static <T> Map<String,PcodeUseropLibrary.PcodeUseropDefinition<T>> composeUserops(Collection<PcodeUseropLibrary<T>> libraries, boolean override) Obtain a map representing the composition of userops from all the given librariesName collisions are not allowed. If any two libraries export the same symbol, even if the definitions happen to do the same thing, it is an error.
- Type Parameters:
T- the type of values processed by the libraries- Parameters:
libraries- the libraries whose userops to collectoverride- allow libraries to the right to override userops from libraries to the left- Returns:
- the resulting map
-
getUserops
Description copied from interface:PcodeUseropLibraryGet all the userops defined in this library, keyed by (symbol) name.- Specified by:
getUseropsin interfacePcodeUseropLibrary<T>- Returns:
- the map of names to defined userops
-