Interface InjectionPointConstraint

  • All Known Implementing Classes:
    DescSelector, StringSelector

    @AvailableSince("0.7.0-a20241008")
    public interface InjectionPointConstraint
    A constraint that is applied on every injection point before it can be considered a valid injection point. Corresponds to the @At(target = [...]) or @At(desc = [...]) values, as well as other similar discriminating filters. As such, this constraint is blind to the ordinal position of the injection point.
    Since:
    0.7.0-a20241008
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean isValid​(org.objectweb.asm.tree.AbstractInsnNode insn, SimpleRemapper remapper, java.lang.StringBuilder sharedBuilder)
      Check whether the specified instruction is applicable to this constraint.
    • Method Detail

      • isValid

        @AvailableSince("0.7.0-a20241008")
        boolean isValid​(@NotNull
                        org.objectweb.asm.tree.AbstractInsnNode insn,
                        @NotNull
                        SimpleRemapper remapper,
                        @NotNull
                        java.lang.StringBuilder sharedBuilder)
        Check whether the specified instruction is applicable to this constraint.
        Parameters:
        insn - The instruction to check.
        remapper - The remapper instance to make use of. This is used to remap any references of the mixin class to the target class when applying injection point constraints.
        sharedBuilder - Shared StringBuilder instance to reduce StringBuilder allocations.
        Returns:
        True if valid, false otherwise
        Since:
        0.7.0-a20241008