Package: org.codehaus.groovy.vmplugin.v8

## [Java] Class Selector

- org.codehaus.groovy.vmplugin.v8.Selector

-     public abstract class Selector
      extends Object

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `Object[]` | `args` |
    `CacheableCallSite` | `callSite` |
    `CallType` | `callType` |
    `boolean` | `catchException` |
    `MethodHandle` | `handle` |
    `boolean` | `isVargs` |
    `MetaMethod` | `method` |
    `String` | `name` |
    `boolean` | `safeNavigation` |
    `Class<?>` | `selectionBase` |
    `Class<?>` | `sender` |
    `boolean` | `skipSpreadCollector` |
    `MethodType` | `targetType` |
    `boolean` | `thisCall` |
    `boolean` | `useMetaClass` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public Object` | `getCorrectedReceiver()` Returns NullObject.getNullObject if the receiver (args[0]) is null.
    `` | `public static Selector` | `getSelector(CacheableCallSite callSite, Class<?> sender, String methodName, int callID, boolean safeNavigation, boolean thisCall, boolean spreadCall, Object[] arguments)` Returns the Selector

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### public Object[] args

    - #### public CacheableCallSite callSite

    - #### public CallType callType

    - #### public boolean catchException

    - #### public MethodHandle handle

    - #### public boolean isVargs

    - #### public MetaMethod method

    - #### public String name

    - #### public boolean safeNavigation

    - #### public Class<?> selectionBase

    - #### public Class<?> sender

    - #### public boolean skipSpreadCollector

    - #### public MethodType targetType

    - #### public boolean thisCall

    - #### public boolean useMetaClass

  - ### Method Detail

    - #### public Object getCorrectedReceiver()

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

    - #### public static Selector getSelector(CacheableCallSite callSite, Class<?> sender, String methodName, int callID, boolean safeNavigation, boolean thisCall, boolean spreadCall, Object[] arguments)

      Returns the Selector