Class AssemblyHiddenConstructStateGenerator
java.lang.Object
ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyStateGenerator<AssemblyParseBranch>
ghidra.app.plugin.assembler.sleigh.sem.AssemblyConstructStateGenerator
ghidra.app.plugin.assembler.sleigh.sem.AssemblyHiddenConstructStateGenerator
The generator of
AssemblyConstructState for a hidden sub-table operand
In short, this exhausts all possible constructors in the given sub-table. For well-designed languages, such exhaustion produces a very small set of possibilities. In general, hidden sub-table operands are a bad idea.
-
Nested Class Summary
Nested classes/interfaces inherited from class ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyStateGenerator
AbstractAssemblyStateGenerator.GeneratorContext -
Field Summary
FieldsFields inherited from class ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyStateGenerator
DBG, fromLeft, node, resolver -
Constructor Summary
ConstructorsConstructorDescriptionAssemblyHiddenConstructStateGenerator(AbstractAssemblyTreeResolver<?> resolver, SubtableSymbol subtableSym, AssemblyResolvedPatterns fromLeft) Construct the hidden sub-table operand state generator -
Method Summary
Modifier and TypeMethodDescriptionGenerate statesprotected AssemblyParseTreeNodeprotected List<AssemblyParseTreeNode> Arrange the branch's (mnemonic) children according to the machine-code productionMethods inherited from class ghidra.app.plugin.assembler.sleigh.sem.AssemblyConstructStateGenerator
applyConstructor, applyOperands, applyRemainingOperands
-
Field Details
-
subtableSym
-
-
Constructor Details
-
AssemblyHiddenConstructStateGenerator
public AssemblyHiddenConstructStateGenerator(AbstractAssemblyTreeResolver<?> resolver, SubtableSymbol subtableSym, AssemblyResolvedPatterns fromLeft) Construct the hidden sub-table operand state generator- Parameters:
resolver- the resolversubtableSym-fromLeft- the accumulated patterns from the left sibling or the parent
-
-
Method Details
-
generate
public Stream<AssemblyGeneratedPrototype> generate(AbstractAssemblyStateGenerator.GeneratorContext gc) Description copied from class:AbstractAssemblyStateGeneratorGenerate states- Overrides:
generatein classAssemblyConstructStateGenerator- Parameters:
gc- the generator context for this node- Returns:
- the stream of prototypes, each including accumulated patterns
-
getFiller
-
orderOpNodes
Description copied from class:AssemblyConstructStateGeneratorArrange the branch's (mnemonic) children according to the machine-code productionThis orders the parsed children so that each is readily paired to its operand as given by
Constructor.getOperand(int).- Overrides:
orderOpNodesin classAssemblyConstructStateGenerator- Parameters:
sem- the SLEIGH constructor whose machine-code production to consider- Returns:
- the children arranged in constructor operand order
-