Interface Summary Interface Description CompilerSpecInterface for classes that hold compiler option information CompilerSpecDescription DataTypeProviderContextInterface for objects that can provide new instances of dataTypes DisassemblerContext InjectPayload
InjectPayloadencapsulates a semantic (p-code) override which can be injected into analyses that work with p-code (Decompiler, SymbolicPropagator) The payload typically replaces either a subroutine call or a userop
InstructionContextis utilized by a shared instruction prototype to access all relevant instruction data and context-register storage needed during instruction parse and semantic pcode generation.
InstructionPrototypeInstructionPrototype is designed to describe one machine level instruction. Language LanguageDescription LanguageProviderNOTE: ALL LanguageProvider CLASSES MUST END IN "LanguageProvider". LanguageServiceService that provides a Language given a name, and information about the language. MaskThe Mask class is used to perform some basic bit tests on an array of bits. ParallelInstructionLanguageHelper
ParallelInstructionLanguageHelperprovides the ability via a language specified property to identify certain parallel instruction attributes.
ParamListA group of ParamEntry that form a complete set for passing parameters (in one direction) ParserContext
ParserContextrepresents a language provider specific parser context which may be cached.
ProcessorContextDefines the interface for an object containing the state of all processor registers relative to a specific address. ProcessorContextViewDefines the interface for an object containing the state of all processor registers relative to a specific address. VersionedLanguageServiceService that provides a Language given a name, and information about the language.
Class Summary Class Description BasicCompilerSpec BasicCompilerSpecDescription BasicLanguageDescription CompilerSpecIDRepresents an opinion's compiler (gcc, borlandcpp, etc). ConstantPoolClass for manipulating "deferred" constant systems like the java virtual machine constant pool ConstantPool.Record ContextSettingClass for context configuration information as part of the compiler configuration (CompilerSpec) DynamicVariableStorage ExternalLanguageCompilerSpecQueryAnalog to LanguageCompilerSpecQuery, for use with querying External Languages. GhidraLanguagePropertyKeys InjectContext InjectPayload.InjectParameter InjectPayloadCallfixup InjectPayloadCallother InjectPayloadSleigh
InjectPayloadSleighdefines an InjectPayload of p-code which is defined via a String passed to the sleigh compiler
InstructionBlockRepresents a block of instructions. InstructionBlockFlow InstructionError InstructionSetA set of instructions organized as a graph of basic blocks. InvalidPrototypeClass to represent an invalid instruction prototype. LanguageCompilerSpecPairRepresents an opinion's processor language and compiler. LanguageCompilerSpecQuery LanguageIDRepresents an opinion's processor language (x86:LE:32:default, 8051:BE:16:default, etc). MaskImplImplements the Mask interface as a byte array. OldLanguageMappingService OperandTypeHelper class for testing operand related flags in an integer. PackedBytesA class for dynamically collecting a stream of bytes and then later dumping those bytes to a stream It allows the bytes to be edited in the middle of collection ParamEntry ParamList.WithSlotRec ParamListStandardStandard analysis for parameter lists ParamListStandardOut PcodeInjectLibrary Processor ProcessorContextImplAn implementation of processor context which contains the state of all processor registers. ProgramProcessorContextImplementation for the program processor context interface PrototypeModelA function calling convention model. PrototypeModelMergedThis model serves as a placeholder for multiple model Currently all the models being selected between must share the same output model ReadOnlyProcessorContext RegisterClass to represent a processor register. RegisterBuilder RegisterManager RegisterTranslator RegisterTreeThe RegisterTree class builds and represents relationships between registers. RegisterValueClass for representing register values that keep track of which bits are actually set. SleighLanguageDescriptionClass for holding Language identifiers UnknownRegister
UnknownRegisteris used when a register is requested in the register space for an undefined location.
Enum Summary Enum Description DecompilerLanguageSources languages that can be output by the decompiler Endian InputListTypeCspec prototype model input listtype InstructionBlockFlow.Type InstructionError.InstructionErrorType
Exception Summary Exception Description CompilerSpecNotFoundExceptionException class used when the named compiler spec cannot be found. IncompatibleMaskExceptionAn IncompatibleMaskException is thrown when operations are attempting involving two masks of different lengths. InsufficientBytesExceptionAn InsufficientBytesException indicates that there were not enough consecutive bytes available to fully parse an instruction. LanguageNotFoundExceptionException class used when the named language cannot be found. NestedDelaySlotException ProcessorNotFoundException UndefinedValueExceptionAn UndefinedValueException is thrown when a value for a register is looked up that is undefined. UnknownContextExceptionAn UnknownContextException indicates a processor state context must be known before the bytes at the parse address can form a legal known instruction. UnknownDataExceptionAn UnknownDataException indicates that the bytes at the parse address did not form a legal known data item. UnknownInstructionExceptionAn UnknownInstructionException indicates that the bytes at the parse address did not form a legal known instruction.