Package org.stianloader.micromixin.transform.internal.selectors

## Class DescSelector

- java.lang.Object
- - org.stianloader.micromixin.transform.internal.selectors.DescSelector

- All Implemented Interfaces:
    `InjectionPointConstraint`, `MixinTargetSelector`

      public class DescSelector
      extends java.lang.Object
      implements MixinTargetSelector, InjectionPointConstraint

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DescSelector​(MixinDescAnnotation desc)` |

  - ### Method Summary

    All Methods Instance Methods Concrete 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.
    `org.objectweb.asm.tree.MethodNode` | `selectMethod​(org.objectweb.asm.tree.ClassNode within, MixinStub source)` |
    `java.lang.String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### DescSelector

          public DescSelector​(@NotNull
                              MixinDescAnnotation desc)

  - ### Method Detail

    - #### selectMethod

          @Nullable
          public org.objectweb.asm.tree.MethodNode selectMethod​(@NotNull
                                                                org.objectweb.asm.tree.ClassNode within,
                                                                @NotNull
                                                                MixinStub source)

      Specified by:
        `selectMethod` in interface `MixinTargetSelector`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### isValid

          public boolean isValid​(@NotNull
                                 org.objectweb.asm.tree.AbstractInsnNode insn,
                                 @NotNull
                                 SimpleRemapper remapper,
                                 @NotNull
                                 java.lang.StringBuilder sharedBuilder)

      Description copied from interface: `InjectionPointConstraint`
      Check whether the specified instruction is applicable to this constraint.
      Specified by:
        `isValid` in interface `InjectionPointConstraint`
      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