Class DefaultAssemblyResolvedPatterns

java.lang.Object
ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyResolution
ghidra.app.plugin.assembler.sleigh.sem.DefaultAssemblyResolvedPatterns
All Implemented Interfaces:
AssemblyResolution, AssemblyResolvedPatterns, Comparable<AssemblyResolution>

public class DefaultAssemblyResolvedPatterns extends AbstractAssemblyResolution implements AssemblyResolvedPatterns
A AssemblyResolution indicating successful application of a constructor

This is almost analogous to DisjointPattern, in that is joins an instruction AssemblyPatternBlock with a corresponding context AssemblyPatternBlock. However, this object is mutable, and it collects backfill records, as well as forbidden patterns.

When the applied constructor is from the "instruction" subtable, this represents a fully- constructed instruction with required context. All backfill records ought to be resolved and applied before the final result is given to the user, i.e., passed into the AssemblySelector. If at any time during the resolution or backfill process, the result becomes confined to one of the forbidden patterns, it must be dropped, since the encoding will actually invoke a more specific SLEIGH constructor.