org.codehaus.groovy.vmplugin.v7

## Class Selector

- java.lang.Object
- - org.codehaus.groovy.vmplugin.v7.Selector

-     public abstract class Selector
      extends Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `Object[]` | `args`
    `boolean` | `cache`
    `MutableCallSite` | `callSite`
    `IndyInterface.CALL_TYPES` | `callType`
    `boolean` | `catchException`
    `MethodType` | `currentType`
    `MethodHandle` | `handle`
    `boolean` | `isVargs`
    `MetaMethod` | `method`
    `String` | `name`
    `Object[]` | `originalArguments`
    `boolean` | `safeNavigation`
    `boolean` | `safeNavigationOrig`
    `Class` | `selectionBase`
    `Class` | `sender`
    `boolean` | `skipSpreadCollector`
    `boolean` | `spread`
    `MethodType` | `targetType`
    `boolean` | `thisCall`
    `boolean` | `useMetaClass`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Selector()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `getCorrectedReceiver()` Returns `NullObject.getNullObject()` if the receiver (args[0]) is null.
    `static Selector` | `getSelector(MutableCallSite callSite, Class sender, String methodName, int callID, boolean safeNavigation, boolean thisCall, boolean spreadCall, Object[] arguments)` Returns the Selector

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

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

- - ### Field Detail

    - #### args

          public Object[] args

    - #### originalArguments

          public Object[] originalArguments

    - #### method

          public MetaMethod method

    - #### targetType

          public MethodType targetType

    - #### currentType

          public MethodType currentType

    - #### name

          public String name

    - #### handle

          public MethodHandle handle

    - #### useMetaClass

          public boolean useMetaClass

    - #### cache

          public boolean cache

    - #### callSite

          public MutableCallSite callSite

    - #### sender

          public Class sender

    - #### isVargs

          public boolean isVargs

    - #### safeNavigation

          public boolean safeNavigation

    - #### safeNavigationOrig

          public boolean safeNavigationOrig

    - #### spread

          public boolean spread

    - #### skipSpreadCollector

          public boolean skipSpreadCollector

    - #### thisCall

          public boolean thisCall

    - #### selectionBase

          public Class selectionBase

    - #### catchException

          public boolean catchException

    - #### callType

          public IndyInterface.CALL_TYPES callType

  - ### Constructor Detail

    - #### Selector

          public Selector()

  - ### Method Detail

    - #### getSelector

          public static Selector getSelector(MutableCallSite callSite,
                                             Class sender,
                                             String methodName,
                                             int callID,
                                             boolean safeNavigation,
                                             boolean thisCall,
                                             boolean spreadCall,
                                             Object[] arguments)

      Returns the Selector

    - #### getCorrectedReceiver

          public Object getCorrectedReceiver()

      Returns `NullObject.getNullObject()` if the receiver (args[0]) is null. If it is not null, the recevier itself is returned.