Package org.stianloader.micromixin.transform.api

## 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
`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