Class AbstractInstructionManager<T extends IInstruction>
java.lang.Object
com.pnfsoftware.jeb.core.units.code.asm.processor.AbstractInstructionManager<T>
- All Implemented Interfaces:
CFBytesTrie.IKeyExtractor<T>
public abstract class AbstractInstructionManager<T extends IInstruction>
extends Object
implements CFBytesTrie.IKeyExtractor<T>
A skeleton class used to create instruction managers.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected byte[]
buildKey
(BytesBlock block) void
byte[]
protected abstract T
findInstruction
(BytesBlock block) getInstruction
(BytesBlock block) protected static String
getUndefinedMessage
(byte[] code) protected static String
getUnpredictableMessage
(byte[] code, String mnemonic) protected static void
raiseUndefined
(byte[] code) protected T
retrieveInstructionFromCache
(T instruction) protected boolean
useCache
(BytesBlock block)
-
Constructor Details
-
AbstractInstructionManager
public AbstractInstructionManager()
-
-
Method Details
-
getInstruction
- Throws:
ProcessorException
-
retrieveInstructionFromCache
-
findInstruction
- Throws:
ProcessorException
-
useCache
-
buildKey
-
raiseUndefined
- Throws:
ProcessorException
-
getUndefinedMessage
-
getUnpredictableMessage
-
extract
- Specified by:
extract
in interfaceCFBytesTrie.IKeyExtractor<T extends IInstruction>
-
clearCache
public void clearCache()
-