Package org.codehaus.groovy.runtime.callsite

## Class AbstractCallSite

- java.lang.Object
- - org.codehaus.groovy.runtime.callsite.AbstractCallSite

- All Implemented Interfaces:
    `CallSite`
  Direct Known Subclasses:
    `DummyCallSite`, `GetEffectivePogoFieldSite`, `GetEffectivePojoPropertySite`, `MetaClassSite`, `NullCallSite`, `PerInstancePojoMetaClassSite`, `PogoGetPropertySite`, `PogoInterceptableSite`, `PogoMetaClassGetPropertySite`, `PojoMetaClassGetPropertySite`

      public class AbstractCallSite
      extends java.lang.Object
      implements CallSite

  Base class for all call sites

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected CallSiteArray` | `array` |
    `protected int` | `index` |
    `protected java.lang.String` | `name` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractCallSite​(CallSite prev)` |
    `AbstractCallSite​(CallSiteArray array, int index, java.lang.String name)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CallSite` | `acceptGetProperty​(java.lang.Object receiver)` |
    `CallSite` | `acceptGroovyObjectGetProperty​(java.lang.Object receiver)` |
    `java.lang.Object` | `call​(java.lang.Object receiver)` |
    `java.lang.Object` | `call​(java.lang.Object receiver, java.lang.Object arg1)` |
    `java.lang.Object` | `call​(java.lang.Object receiver, java.lang.Object[] args)` |
    `java.lang.Object` | `call​(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2)` |
    `java.lang.Object` | `call​(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)` |
    `java.lang.Object` | `call​(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)` |
    `java.lang.Object` | `callConstructor​(java.lang.Object receiver)` |
    `java.lang.Object` | `callConstructor​(java.lang.Object receiver, java.lang.Object arg1)` |
    `java.lang.Object` | `callConstructor​(java.lang.Object receiver, java.lang.Object[] args)` |
    `java.lang.Object` | `callConstructor​(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2)` |
    `java.lang.Object` | `callConstructor​(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)` |
    `java.lang.Object` | `callConstructor​(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)` |
    `java.lang.Object` | `callCurrent​(GroovyObject receiver)` |
    `java.lang.Object` | `callCurrent​(GroovyObject receiver, java.lang.Object arg1)` |
    `java.lang.Object` | `callCurrent​(GroovyObject receiver, java.lang.Object[] args)` |
    `java.lang.Object` | `callCurrent​(GroovyObject receiver, java.lang.Object arg1, java.lang.Object arg2)` |
    `java.lang.Object` | `callCurrent​(GroovyObject receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)` |
    `java.lang.Object` | `callCurrent​(GroovyObject receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)` |
    `java.lang.Object` | `callGetProperty​(java.lang.Object receiver)` |
    `java.lang.Object` | `callGetPropertySafe​(java.lang.Object receiver)` |
    `java.lang.Object` | `callGroovyObjectGetProperty​(java.lang.Object receiver)` |
    `java.lang.Object` | `callGroovyObjectGetPropertySafe​(java.lang.Object receiver)` |
    `java.lang.Object` | `callSafe​(java.lang.Object receiver)` |
    `java.lang.Object` | `callSafe​(java.lang.Object receiver, java.lang.Object arg1)` |
    `java.lang.Object` | `callSafe​(java.lang.Object receiver, java.lang.Object[] args)` |
    `java.lang.Object` | `callSafe​(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2)` |
    `java.lang.Object` | `callSafe​(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)` |
    `java.lang.Object` | `callSafe​(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)` |
    `java.lang.Object` | `callStatic​(java.lang.Class receiver)` |
    `java.lang.Object` | `callStatic​(java.lang.Class receiver, java.lang.Object arg1)` |
    `java.lang.Object` | `callStatic​(java.lang.Class receiver, java.lang.Object[] args)` |
    `java.lang.Object` | `callStatic​(java.lang.Class receiver, java.lang.Object arg1, java.lang.Object arg2)` |
    `java.lang.Object` | `callStatic​(java.lang.Class receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)` |
    `java.lang.Object` | `callStatic​(java.lang.Class receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)` |
    `protected CallSite` | `createGetPropertySite​(java.lang.Object receiver)` |
    `protected CallSite` | `createGroovyObjectGetPropertySite​(java.lang.Object receiver)` |
    `CallSiteArray` | `getArray()` |
    `int` | `getIndex()` |
    `java.lang.String` | `getName()` |
    `java.lang.Object` | `getProperty​(java.lang.Object receiver)` |

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

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

- - ### Field Detail

    - #### index

          protected final int index

    - #### name

          protected final java.lang.String name

    - #### array

          protected final CallSiteArray array

  - ### Constructor Detail

    - #### AbstractCallSite

          public AbstractCallSite​(CallSiteArray array,
                                  int index,
                                  java.lang.String name)

    - #### AbstractCallSite

          public AbstractCallSite​(CallSite prev)

  - ### Method Detail

    - #### getIndex

          public int getIndex()

      Specified by:
        `getIndex` in interface `CallSite`

    - #### getArray

          public CallSiteArray getArray()

      Specified by:
        `getArray` in interface `CallSite`

    - #### getName

          public java.lang.String getName()

      Specified by:
        `getName` in interface `CallSite`

    - #### callSafe

          public final java.lang.Object callSafe​(java.lang.Object receiver,
                                                 java.lang.Object[] args)
                                          throws java.lang.Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callSafe

          public final java.lang.Object callSafe​(java.lang.Object receiver)
                                          throws java.lang.Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callSafe

          public final java.lang.Object callSafe​(java.lang.Object receiver,
                                                 java.lang.Object arg1)
                                          throws java.lang.Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callSafe

          public final java.lang.Object callSafe​(java.lang.Object receiver,
                                                 java.lang.Object arg1,
                                                 java.lang.Object arg2)
                                          throws java.lang.Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callSafe

          public final java.lang.Object callSafe​(java.lang.Object receiver,
                                                 java.lang.Object arg1,
                                                 java.lang.Object arg2,
                                                 java.lang.Object arg3)
                                          throws java.lang.Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callSafe

          public java.lang.Object callSafe​(java.lang.Object receiver,
                                           java.lang.Object arg1,
                                           java.lang.Object arg2,
                                           java.lang.Object arg3,
                                           java.lang.Object arg4)
                                    throws java.lang.Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### call

          public java.lang.Object call​(java.lang.Object receiver,
                                       java.lang.Object[] args)
                                throws java.lang.Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### call

          public java.lang.Object call​(java.lang.Object receiver)
                                throws java.lang.Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### call

          public java.lang.Object call​(java.lang.Object receiver,
                                       java.lang.Object arg1)
                                throws java.lang.Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### call

          public java.lang.Object call​(java.lang.Object receiver,
                                       java.lang.Object arg1,
                                       java.lang.Object arg2)
                                throws java.lang.Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### call

          public java.lang.Object call​(java.lang.Object receiver,
                                       java.lang.Object arg1,
                                       java.lang.Object arg2,
                                       java.lang.Object arg3)
                                throws java.lang.Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### call

          public java.lang.Object call​(java.lang.Object receiver,
                                       java.lang.Object arg1,
                                       java.lang.Object arg2,
                                       java.lang.Object arg3,
                                       java.lang.Object arg4)
                                throws java.lang.Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callCurrent

          public java.lang.Object callCurrent​(GroovyObject receiver,
                                              java.lang.Object[] args)
                                       throws java.lang.Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callCurrent

          public java.lang.Object callCurrent​(GroovyObject receiver)
                                       throws java.lang.Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callCurrent

          public java.lang.Object callCurrent​(GroovyObject receiver,
                                              java.lang.Object arg1)
                                       throws java.lang.Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callCurrent

          public java.lang.Object callCurrent​(GroovyObject receiver,
                                              java.lang.Object arg1,
                                              java.lang.Object arg2)
                                       throws java.lang.Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callCurrent

          public java.lang.Object callCurrent​(GroovyObject receiver,
                                              java.lang.Object arg1,
                                              java.lang.Object arg2,
                                              java.lang.Object arg3)
                                       throws java.lang.Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callCurrent

          public java.lang.Object callCurrent​(GroovyObject receiver,
                                              java.lang.Object arg1,
                                              java.lang.Object arg2,
                                              java.lang.Object arg3,
                                              java.lang.Object arg4)
                                       throws java.lang.Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callStatic

          public java.lang.Object callStatic​(java.lang.Class receiver,
                                             java.lang.Object[] args)
                                      throws java.lang.Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callStatic

          public java.lang.Object callStatic​(java.lang.Class receiver)
                                      throws java.lang.Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callStatic

          public java.lang.Object callStatic​(java.lang.Class receiver,
                                             java.lang.Object arg1)
                                      throws java.lang.Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callStatic

          public java.lang.Object callStatic​(java.lang.Class receiver,
                                             java.lang.Object arg1,
                                             java.lang.Object arg2)
                                      throws java.lang.Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callStatic

          public java.lang.Object callStatic​(java.lang.Class receiver,
                                             java.lang.Object arg1,
                                             java.lang.Object arg2,
                                             java.lang.Object arg3)
                                      throws java.lang.Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callStatic

          public java.lang.Object callStatic​(java.lang.Class receiver,
                                             java.lang.Object arg1,
                                             java.lang.Object arg2,
                                             java.lang.Object arg3,
                                             java.lang.Object arg4)
                                      throws java.lang.Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callConstructor

          public java.lang.Object callConstructor​(java.lang.Object receiver,
                                                  java.lang.Object[] args)
                                           throws java.lang.Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callConstructor

          public java.lang.Object callConstructor​(java.lang.Object receiver)
                                           throws java.lang.Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callConstructor

          public java.lang.Object callConstructor​(java.lang.Object receiver,
                                                  java.lang.Object arg1)
                                           throws java.lang.Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callConstructor

          public java.lang.Object callConstructor​(java.lang.Object receiver,
                                                  java.lang.Object arg1,
                                                  java.lang.Object arg2)
                                           throws java.lang.Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callConstructor

          public java.lang.Object callConstructor​(java.lang.Object receiver,
                                                  java.lang.Object arg1,
                                                  java.lang.Object arg2,
                                                  java.lang.Object arg3)
                                           throws java.lang.Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callConstructor

          public java.lang.Object callConstructor​(java.lang.Object receiver,
                                                  java.lang.Object arg1,
                                                  java.lang.Object arg2,
                                                  java.lang.Object arg3,
                                                  java.lang.Object arg4)
                                           throws java.lang.Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callGetProperty

          public java.lang.Object callGetProperty​(java.lang.Object receiver)
                                           throws java.lang.Throwable

      Specified by:
        `callGetProperty` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callGroovyObjectGetProperty

          public java.lang.Object callGroovyObjectGetProperty​(java.lang.Object receiver)
                                                       throws java.lang.Throwable

      Specified by:
        `callGroovyObjectGetProperty` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### acceptGetProperty

          public CallSite acceptGetProperty​(java.lang.Object receiver)

    - #### acceptGroovyObjectGetProperty

          public CallSite acceptGroovyObjectGetProperty​(java.lang.Object receiver)

    - #### createGetPropertySite

          protected final CallSite createGetPropertySite​(java.lang.Object receiver)

    - #### createGroovyObjectGetPropertySite

          protected final CallSite createGroovyObjectGetPropertySite​(java.lang.Object receiver)

    - #### getProperty

          public java.lang.Object getProperty​(java.lang.Object receiver)
                                       throws java.lang.Throwable

      Specified by:
        `getProperty` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callGetPropertySafe

          public final java.lang.Object callGetPropertySafe​(java.lang.Object receiver)
                                                     throws java.lang.Throwable

      Specified by:
        `callGetPropertySafe` in interface `CallSite`
      Throws:
        `java.lang.Throwable`

    - #### callGroovyObjectGetPropertySafe

          public final java.lang.Object callGroovyObjectGetPropertySafe​(java.lang.Object receiver)
                                                                 throws java.lang.Throwable

      Specified by:
        `callGroovyObjectGetPropertySafe` in interface `CallSite`
      Throws:
        `java.lang.Throwable`