Class AssemblyResolvedConstructor

  • All Implemented Interfaces:
    java.lang.Comparable<AssemblyResolution>

    public class AssemblyResolvedConstructor
    extends AssemblyResolution
    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.

Method Detail

  • bitsEqual NEW

    protected boolean bitsEqual​(AssemblyResolvedConstructor that)
    Check if this and another resolution have equal encodings This is like equals(Object), but it ignores backfills records and forbidden patterns.
    Parameters:
    that - the other resolution
    Returns:
    true if both have equal encodings
  • combineLessBackfill NEW

    protected AssemblyResolvedConstructor combineLessBackfill​(AssemblyResolvedConstructor that,
                                                              AssemblyResolvedBackfill bf)
    Combine a backfill result
    Parameters:
    that - the result from backfilling
    bf - the resolved backfilled record
    Returns:
    the result if successful, or null When a backfill is successful, the result should be combined with the owning resolution. In addition, for bookkeeping's sake, the resolved record should be removed from the list of backfills.