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 Object
      implements CallSite

  Base class for all call sites
  Author:
    Alex Tkachman

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected CallSiteArray` | `array`
    `protected int` | `index`
    `protected String` | `name`
    `protected AtomicInteger` | `usage`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractCallSite(CallSite prev)`
    `AbstractCallSite(CallSiteArray array, int index, String name)`

  - ### Method Summary

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

    - ### 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 String name

    - #### array

          protected final CallSiteArray array

    - #### usage

          protected final AtomicInteger usage

  - ### Constructor Detail

    - #### AbstractCallSite

          public AbstractCallSite(CallSiteArray array,
                          int index,
                          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 String getName()

      Specified by:
        `getName` in interface `CallSite`

    - #### getUsage

          public AtomicInteger getUsage()

      Specified by:
        `getUsage` in interface `CallSite`

    - #### callSafe

          public final Object callSafe(Object receiver,
                        Object[] args)
                                throws Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callSafe

          public final Object callSafe(Object receiver)
                                throws Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callSafe

          public final Object callSafe(Object receiver,
                        Object arg1)
                                throws Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callSafe

          public final Object callSafe(Object receiver,
                        Object arg1,
                        Object arg2)
                                throws Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callSafe

          public final Object callSafe(Object receiver,
                        Object arg1,
                        Object arg2,
                        Object arg3)
                                throws Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callSafe

          public Object callSafe(Object receiver,
                        Object arg1,
                        Object arg2,
                        Object arg3,
                        Object arg4)
                          throws Throwable

      Specified by:
        `callSafe` in interface `CallSite`
      Throws:
        `Throwable`

    - #### call

          public Object call(Object receiver,
                    Object[] args)
                      throws Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `Throwable`

    - #### call

          public Object call(Object receiver)
                      throws Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `Throwable`

    - #### call

          public Object call(Object receiver,
                    Object arg1)
                      throws Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `Throwable`

    - #### call

          public Object call(Object receiver,
                    Object arg1,
                    Object arg2)
                      throws Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `Throwable`

    - #### call

          public Object call(Object receiver,
                    Object arg1,
                    Object arg2,
                    Object arg3)
                      throws Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `Throwable`

    - #### call

          public Object call(Object receiver,
                    Object arg1,
                    Object arg2,
                    Object arg3,
                    Object arg4)
                      throws Throwable

      Specified by:
        `call` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callCurrent

          public Object callCurrent(GroovyObject receiver,
                           Object[] args)
                             throws Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callCurrent

          public Object callCurrent(GroovyObject receiver)
                             throws Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callCurrent

          public Object callCurrent(GroovyObject receiver,
                           Object arg1)
                             throws Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callCurrent

          public Object callCurrent(GroovyObject receiver,
                           Object arg1,
                           Object arg2)
                             throws Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callCurrent

          public Object callCurrent(GroovyObject receiver,
                           Object arg1,
                           Object arg2,
                           Object arg3)
                             throws Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callCurrent

          public Object callCurrent(GroovyObject receiver,
                           Object arg1,
                           Object arg2,
                           Object arg3,
                           Object arg4)
                             throws Throwable

      Specified by:
        `callCurrent` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callStatic

          public Object callStatic(Class receiver,
                          Object[] args)
                            throws Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callStatic

          public Object callStatic(Class receiver)
                            throws Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callStatic

          public Object callStatic(Class receiver,
                          Object arg1)
                            throws Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callStatic

          public Object callStatic(Class receiver,
                          Object arg1,
                          Object arg2)
                            throws Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callStatic

          public Object callStatic(Class receiver,
                          Object arg1,
                          Object arg2,
                          Object arg3)
                            throws Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callStatic

          public Object callStatic(Class receiver,
                          Object arg1,
                          Object arg2,
                          Object arg3,
                          Object arg4)
                            throws Throwable

      Specified by:
        `callStatic` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callConstructor

          public Object callConstructor(Object receiver,
                               Object[] args)
                                 throws Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callConstructor

          public Object callConstructor(Object receiver)
                                 throws Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callConstructor

          public Object callConstructor(Object receiver,
                               Object arg1)
                                 throws Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callConstructor

          public Object callConstructor(Object receiver,
                               Object arg1,
                               Object arg2)
                                 throws Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callConstructor

          public Object callConstructor(Object receiver,
                               Object arg1,
                               Object arg2,
                               Object arg3)
                                 throws Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callConstructor

          public Object callConstructor(Object receiver,
                               Object arg1,
                               Object arg2,
                               Object arg3,
                               Object arg4)
                                 throws Throwable

      Specified by:
        `callConstructor` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callGetProperty

          public Object callGetProperty(Object receiver)
                                 throws Throwable

      Specified by:
        `callGetProperty` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callGroovyObjectGetProperty

          public Object callGroovyObjectGetProperty(Object receiver)
                                             throws Throwable

      Specified by:
        `callGroovyObjectGetProperty` in interface `CallSite`
      Throws:
        `Throwable`

    - #### acceptGetProperty

          public CallSite acceptGetProperty(Object receiver)

    - #### acceptGroovyObjectGetProperty

          public CallSite acceptGroovyObjectGetProperty(Object receiver)

    - #### createGetPropertySite

          protected final CallSite createGetPropertySite(Object receiver)

    - #### createGroovyObjectGetPropertySite

          protected final CallSite createGroovyObjectGetPropertySite(Object receiver)

    - #### getProperty

          public Object getProperty(Object receiver)
                             throws Throwable

      Specified by:
        `getProperty` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callGetPropertySafe

          public final Object callGetPropertySafe(Object receiver)
                                           throws Throwable

      Specified by:
        `callGetPropertySafe` in interface `CallSite`
      Throws:
        `Throwable`

    - #### callGroovyObjectGetPropertySafe

          public final Object callGroovyObjectGetPropertySafe(Object receiver)
                                                       throws Throwable

      Specified by:
        `callGroovyObjectGetPropertySafe` in interface `CallSite`
      Throws:
        `Throwable`