Package org.spongepowered.asm.mixin.injection.selectors

## Class TargetSelectors

- java.lang.Object
- - org.spongepowered.asm.mixin.injection.selectors.TargetSelectors

- All Implemented Interfaces:
    `java.lang.Iterable<TargetSelectors.SelectedMethod>`

      public class TargetSelectors
      extends java.lang.Object
      implements java.lang.Iterable<TargetSelectors.SelectedMethod>

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `TargetSelectors.SelectedMethod` | Selected target method, paired with the selector which identified it

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TargetSelectors​(ISelectorContext context, org.objectweb.asm.tree.ClassNode classNode)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TargetSelectors` | `addSelector​(ITargetSelector selector)` |
    `void` | `clear()` |
    `void` | `find()` | Find methods in the target class which match the parsed selectors
    `protected void` | `findNestedTargets()` | For each root target, resolve the nested targets from the target descriptor
    `boolean` | `isPermissivePassEnabled()` |
    `java.util.Iterator<TargetSelectors.SelectedMethod>` | `iterator()` |
    `void` | `parse​(java.util.Set<ITargetSelector> selectors)` |
    `void` | `remove​(TargetSelectors.SelectedMethod target)` |
    `TargetSelectors` | `setPermissivePass​(boolean enabled)` |
    `int` | `size()` |
    `void` | `validate​(int expectedCallbackCount, int requiredCallbackCount)` | Post-search validation that some targets were found, we can fail-fast if no targets were actually identified or if the specified limits are exceeded.

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

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

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### TargetSelectors

          public TargetSelectors​(ISelectorContext context,
                                 org.objectweb.asm.tree.ClassNode classNode)

  - ### Method Detail

    - #### parse

          public void parse​(java.util.Set<ITargetSelector> selectors)

    - #### addSelector

          public TargetSelectors addSelector​(ITargetSelector selector)

    - #### size

          public int size()

    - #### clear

          public void clear()

    - #### iterator

          public java.util.Iterator<TargetSelectors.SelectedMethod> iterator()

      Specified by:
        `iterator` in interface `java.lang.Iterable<TargetSelectors.SelectedMethod>`

    - #### remove

          public void remove​(TargetSelectors.SelectedMethod target)

    - #### isPermissivePassEnabled

          public boolean isPermissivePassEnabled()

    - #### setPermissivePass

          public TargetSelectors setPermissivePass​(boolean enabled)

    - #### find

          public void find()

      Find methods in the target class which match the parsed selectors

    - #### findNestedTargets

          protected void findNestedTargets()

      For each root target, resolve the nested targets from the target descriptor

    - #### validate

          public void validate​(int expectedCallbackCount,
                               int requiredCallbackCount)

      Post-search validation that some targets were found, we can fail-fast if no targets were actually identified or if the specified limits are exceeded.
      Parameters:
        `expectedCallbackCount` - Number of callbacks specified by expect
        `requiredCallbackCount` - Number of callbacks specified by require