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
`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
`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`