Package ghidra.program.model.lang
-
Interface Summary Interface Description CompilerSpec Interface for requesting specific information about the compiler used to build a Program being analyzed.CompilerSpecDescription DataTypeProviderContext Interface for objects that can provide new instances of dataTypesDisassemblerContext InjectPayload InjectPayload
encapsulates 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 useropInstructionContext InstructionContext
is utilized by a shared instruction prototype to access all relevant instruction data and context-register storage needed during instruction parse and semantic pcode generation.InstructionPrototype InstructionPrototype is designed to describe one machine level instruction.Language LanguageDescription LanguageProvider NOTE: ALL LanguageProvider CLASSES MUST END IN "LanguageProvider".LanguageService Service that provides a Language given a name, and information about the language.Mask The Mask class is used to perform some basic bit tests on an array of bits.ParallelInstructionLanguageHelper ParallelInstructionLanguageHelper
provides the ability via a language specified property to identify certain parallel instruction attributes.ParamList A group of ParamEntry that form a complete set for passing parameters (in one direction)ParserContext ParserContext
represents a language provider specific parser context which may be cached.ProcessorContext Defines the interface for an object containing the state of all processor registers relative to a specific address.ProcessorContextView Defines the interface for an object containing the state of all processor registers relative to a specific address.VersionedLanguageService Service that provides a Language given a name, and information about the language. -
Class Summary Class Description BasicCompilerSpec BasicCompilerSpec implements the CompilerSpec interface based on static information from a particular .cspec file.BasicCompilerSpecDescription BasicLanguageDescription CompilerSpecID Represents an opinion's compiler (gcc, borlandcpp, etc).ConstantPool Class for manipulating "deferred" constant systems like the java virtual machine constant poolConstantPool.Record ContextSetting Class for context configuration information as part of the compiler configuration (CompilerSpec)DynamicVariableStorage ExternalLanguageCompilerSpecQuery Analog to LanguageCompilerSpecQuery, for use with querying External Languages.GhidraLanguagePropertyKeys InjectContext InjectPayload.InjectParameter InjectPayloadCallfixup InjectPayloadCallfixupError A substitute for a callfixup that did not successfully parse.InjectPayloadCallother InjectPayloadCallotherError A substitute for a callother fixup that did not fully parseInjectPayloadJumpAssist InjectPayloadSegment InjectPayloadSleigh InjectPayloadSleigh
defines an InjectPayload of p-code which is defined via a String passed to the sleigh compilerInstructionBlock Represents a block of instructions.InstructionBlockFlow InstructionError InstructionSet A set of instructions organized as a graph of basic blocks.InvalidPrototype Class to represent an invalid instruction prototype.LanguageCompilerSpecPair Represents an opinion's processor language and compiler.LanguageCompilerSpecQuery LanguageID Represents an opinion's processor language (x86:LE:32:default, 8051:BE:16:default, etc).MaskImpl Implements the Mask interface as a byte array.OldLanguageMappingService OperandType Helper class for testing operand related flags in an integer.PackedBytes A 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 collectionParamEntry ParamList.WithSlotRec ParamListRegisterOut A list of resources describing possible storage locations for a function's return value, and a strategy for selecting a storage location based on data-types in a function signature.ParamListStandard Standard analysis for parameter listsParamListStandardOut A list of resources describing possible storage locations for a function's return value, and a strategy for selecting a storage location based on data-types in a function signature.PcodeInjectLibrary Processor ProcessorContextImpl An implementation of processor context which contains the state of all processor registers.ProgramProcessorContext Implementation for the program processor context interfacePrototypeModel A function calling convention model.PrototypeModelError A PrototypeModel cloned from another, but marked as an error placeholderPrototypeModelMerged This model serves as a placeholder for multiple model Currently all the models being selected between must share the same output modelReadOnlyProcessorContext Register Class to represent a processor register.RegisterBuilder RegisterManager RegisterTranslator RegisterTree The RegisterTree class builds and represents relationships between registers.RegisterValue Class for representing register values that keep track of which bits are actually set.SleighLanguageDescription Class for holding Language identifiersUnknownRegister UnknownRegister
is used when a register is requested in the register space for an undefined location. -
Enum Summary Enum Description CompilerSpec.EvaluationModelType Labels for PrototypeModels that are used by default for various analysis/evaluation use-cases, when the true model isn't known.DecompilerLanguage Sources languages that can be output by the decompilerEndian InputListType Cspec prototype model input listtypeInstructionBlockFlow.Type InstructionError.InstructionErrorType -
Exception Summary Exception Description CompilerSpecNotFoundException Exception class used when the named compiler spec cannot be found.IncompatibleMaskException An IncompatibleMaskException is thrown when operations are attempting involving two masks of different lengths.InsufficientBytesException An InsufficientBytesException indicates that there were not enough consecutive bytes available to fully parse an instruction.LanguageNotFoundException Exception class used when the named language cannot be found.NestedDelaySlotException ProcessorNotFoundException UndefinedValueException An UndefinedValueException is thrown when a value for a register is looked up that is undefined.UnknownContextException An UnknownContextException indicates a processor state context must be known before the bytes at the parse address can form a legal known instruction.UnknownDataException An UnknownDataException indicates that the bytes at the parse address did not form a legal known data item.UnknownInstructionException An UnknownInstructionException indicates that the bytes at the parse address did not form a legal known instruction.