Package org.codehaus.groovy.vmplugin.v7

## Class Selector

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

-     public abstract class Selector
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `java.lang.Object[]` | `args` |
    `boolean` | `cache` |
    `java.lang.invoke.MutableCallSite` | `callSite` |
    `IndyInterface.CALL_TYPES` | `callType` |
    `boolean` | `catchException` |
    `java.lang.invoke.MethodType` | `currentType` |
    `java.lang.invoke.MethodHandle` | `handle` |
    `boolean` | `isVargs` |
    `MetaMethod` | `method` |
    `java.lang.String` | `name` |
    `java.lang.Object[]` | `originalArguments` |
    `boolean` | `safeNavigation` |
    `boolean` | `safeNavigationOrig` |
    `java.lang.Class` | `selectionBase` |
    `java.lang.Class` | `sender` |
    `boolean` | `skipSpreadCollector` |
    `boolean` | `spread` |
    `java.lang.invoke.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
    --- | --- | ---
    `java.lang.Object` | `getCorrectedReceiver()` | Returns `NullObject.getNullObject()` if the receiver (args[0]) is null.
    `static Selector` | `getSelector​(java.lang.invoke.MutableCallSite callSite, java.lang.Class sender, java.lang.String methodName, int callID, boolean safeNavigation, boolean thisCall, boolean spreadCall, java.lang.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 java.lang.Object[] args

    - #### originalArguments

          public java.lang.Object[] originalArguments

    - #### method

          public MetaMethod method

    - #### targetType

          public java.lang.invoke.MethodType targetType

    - #### currentType

          public java.lang.invoke.MethodType currentType

    - #### name

          public java.lang.String name

    - #### handle

          public java.lang.invoke.MethodHandle handle

    - #### useMetaClass

          public boolean useMetaClass

    - #### cache

          public boolean cache

    - #### callSite

          public java.lang.invoke.MutableCallSite callSite

    - #### sender

          public java.lang.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 java.lang.Class selectionBase

    - #### catchException

          public boolean catchException

    - #### callType

          public IndyInterface.CALL_TYPES callType

  - ### Constructor Detail

    - #### Selector

          public Selector()

  - ### Method Detail

    - #### getSelector

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

      Returns the Selector

    - #### getCorrectedReceiver

          public java.lang.Object getCorrectedReceiver()

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