org.codehaus.groovy.runtime.callsite

## Class PogoMetaMethodSite

- java.lang.Object
- - org.codehaus.groovy.runtime.callsite.AbstractCallSite
  - - org.codehaus.groovy.runtime.callsite.MetaClassSite
    - - org.codehaus.groovy.runtime.callsite.MetaMethodSite
      - - org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite

All Implemented Interfaces:
  CallSite

Direct Known Subclasses:
  PogoMetaMethodSite.PogoCachedMethodSite, PogoMetaMethodSite.PogoMetaMethodSiteNoUnwrap, PogoMetaMethodSite.PogoMetaMethodSiteNoUnwrapNoCoerce

    public class PogoMetaMethodSite
    extends MetaMethodSite

POGO call site meta class - cached method - cached

### Nested Class Summary

Nested Classes
`static class` `PogoMetaMethodSite.PogoCachedMethodSite`
`static class` `PogoMetaMethodSite.PogoCachedMethodSiteNoUnwrap`
`static class` `PogoMetaMethodSite.PogoCachedMethodSiteNoUnwrapNoCoerce`
`static class` `PogoMetaMethodSite.PogoMetaMethodSiteNoUnwrap` Call site where we know there is no need to unwrap arguments
`static class` `PogoMetaMethodSite.PogoMetaMethodSiteNoUnwrapNoCoerce` Call site where we know there is no need neither unwrap nor coerce arguments

### Field Summary

### Fields inherited from class org.codehaus.groovy.runtime.callsite.MetaMethodSite

`params`

### Fields inherited from class org.codehaus.groovy.runtime.callsite.MetaClassSite

`metaClass`

### Fields inherited from class org.codehaus.groovy.runtime.callsite.AbstractCallSite

`array, index, name`

### Constructor Summary

Constructors
Constructor and Description
`PogoMetaMethodSite(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`java.lang.Object` `call(java.lang.Object receiver, java.lang.Object[] args)`
`java.lang.Object` `callCurrent(GroovyObject receiver, java.lang.Object[] args)`
`protected boolean` `checkCall(java.lang.Object receiver)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object arg1)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object[] args)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)`
`protected boolean` `checkCall(java.lang.Object receiver, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)`
`static CallSite` `createCachedMethodSite(CallSite site, MetaClassImpl metaClass, CachedMethod metaMethod, java.lang.Class[] params, java.lang.Object[] args)`
`static CallSite` `createPogoMetaMethodSite(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object[] args)`
`java.lang.Object` `invoke(java.lang.Object receiver, java.lang.Object[] args)`

### Methods inherited from class org.codehaus.groovy.runtime.callsite.AbstractCallSite

`acceptGetProperty, acceptGroovyObjectGetProperty, call, call, call, call, call, callConstructor, callConstructor, callConstructor, callConstructor, callConstructor, callConstructor, callCurrent, callCurrent, callCurrent, callCurrent, callCurrent, callGetProperty, callGetPropertySafe, callGroovyObjectGetProperty, callGroovyObjectGetPropertySafe, callSafe, callSafe, callSafe, callSafe, callSafe, callSafe, callStatic, callStatic, callStatic, callStatic, callStatic, callStatic, createGetPropertySite, createGroovyObjectGetPropertySite, getArray, getIndex, getName, getProperty`

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

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

### Constructor Detail

#### PogoMetaMethodSite

    public PogoMetaMethodSite(CallSite site,
                              MetaClassImpl metaClass,
                              MetaMethod metaMethod,
                              java.lang.Class[] params)

### Method Detail

#### invoke

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

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`
Overrides:
  `callCurrent` in class `AbstractCallSite`
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`
Overrides:
  `call` in class `AbstractCallSite`
Throws:
  `java.lang.Throwable`

#### checkCall

    protected boolean checkCall(java.lang.Object receiver,
                                java.lang.Object[] args)

#### checkCall

    protected boolean checkCall(java.lang.Object receiver)

#### checkCall

    protected boolean checkCall(java.lang.Object receiver,
                                java.lang.Object arg1)

#### checkCall

    protected boolean checkCall(java.lang.Object receiver,
                                java.lang.Object arg1,
                                java.lang.Object arg2)

#### checkCall

    protected boolean checkCall(java.lang.Object receiver,
                                java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3)

#### checkCall

    protected boolean checkCall(java.lang.Object receiver,
                                java.lang.Object arg1,
                                java.lang.Object arg2,
                                java.lang.Object arg3,
                                java.lang.Object arg4)

#### createPogoMetaMethodSite

    public static CallSite createPogoMetaMethodSite(CallSite site,
                                                    MetaClassImpl metaClass,
                                                    MetaMethod metaMethod,
                                                    java.lang.Class[] params,
                                                    java.lang.Object[] args)

#### createCachedMethodSite

    public static CallSite createCachedMethodSite(CallSite site,
                                                  MetaClassImpl metaClass,
                                                  CachedMethod metaMethod,
                                                  java.lang.Class[] params,
                                                  java.lang.Object[] args)