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
`static class` `TargetSelectors.SelectedMethod` Selected target method, paired with the selector which identified it

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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