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