Package 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
Modifier and Type
Class
Description
`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
Description
`PogoMetaMethodSite(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, Class[] params)`

## Method Summary

Modifier and Type
Method
Description
`Object`
`call(Object receiver, Object[] args)`
`Object`
`callCurrent(GroovyObject receiver, Object[] args)`
`protected boolean`
`checkCall(Object receiver)`
`protected boolean`
`checkCall(Object receiver, Object arg1)`
`protected boolean`
`checkCall(Object receiver, Object[] args)`
`protected boolean`
`checkCall(Object receiver, Object arg1, Object arg2)`
`protected boolean`
`checkCall(Object receiver, Object arg1, Object arg2, Object arg3)`
`protected boolean`
`checkCall(Object receiver, Object arg1, Object arg2, Object arg3, Object arg4)`
`static CallSite`
`createCachedMethodSite(CallSite site, MetaClassImpl metaClass, CachedMethod metaMethod, Class[] params, Object[] args)`
`static CallSite`
`createPogoMetaMethodSite(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, Class[] params, Object[] args)`
`Object`
`invoke(Object receiver, 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 Details

### PogoMetaMethodSite

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

## Method Details

### invoke

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

Throws:
  `Throwable`

### callCurrent

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

Specified by:
  `callCurrent` in interface `CallSite`
Overrides:
  `callCurrent` in class `AbstractCallSite`
Throws:
  `Throwable`

### call

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

Specified by:
  `call` in interface `CallSite`
Overrides:
  `call` in class `AbstractCallSite`
Throws:
  `Throwable`

### checkCall

protected boolean checkCall(Object receiver, Object[] args)

### checkCall

protected boolean checkCall(Object receiver)

### checkCall

protected boolean checkCall(Object receiver, Object arg1)

### checkCall

protected boolean checkCall(Object receiver, Object arg1, Object arg2)

### checkCall

protected boolean checkCall(Object receiver, Object arg1, Object arg2, Object arg3)

### checkCall

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

### createPogoMetaMethodSite

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

### createCachedMethodSite

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