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

Author:
  Alex Tkachman

### Field Summary

Fields
`protected CallSiteArray` `array`
`protected int` `index`
`protected java.lang.String` `name`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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`