Package org.codehaus.groovy.vmplugin.v8

## Class Selector

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

-     public abstract class Selector
      extends Object

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `Object[]` | `args` |
    `boolean` | `cache` |
    `MutableCallSite` | `callSite` |
    `IndyInterface.CallType` | `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 | Description
    --- | ---
    `Selector()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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.CallType 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.