org.codehaus.groovy.classgen.asm

## Class InvocationWriter

- java.lang.Object
- - org.codehaus.groovy.classgen.asm.InvocationWriter

Direct Known Subclasses:
  StaticInvocationWriter

    public class InvocationWriter
    extends java.lang.Object

### Field Summary

Fields
`protected static MethodCaller` `invokeClosureMethod`
`protected static MethodCallerMultiAdapter` `invokeMethod`
`protected static MethodCallerMultiAdapter` `invokeMethodOnCurrent`
`protected static MethodCallerMultiAdapter` `invokeMethodOnSuper`
`protected static MethodCallerMultiAdapter` `invokeStaticMethod`

### Constructor Summary

Constructors
Constructor and Description
`InvocationWriter(WriterController wc)`

### Method Summary

Methods
`protected void` `finnishConstructorCall(ConstructorNode cn, java.lang.String ownerDescriptor, int argsToRemove)`
`protected java.lang.String` `getMethodName(Expression message)`
`protected void` `loadArguments(java.util.List<Expression> argumentList, Parameter[] para)`
`static ArgumentListExpression` `makeArgumentList(Expression arguments)`
`void` `makeCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis)`
`void` `makeSingleArgumentCall(Expression receiver, java.lang.String message, Expression arguments)`
`protected java.lang.String` `prepareConstructorCall(ConstructorNode cn)`
`protected boolean` `writeDirectMethodCall(MethodNode target, boolean implicitThis, Expression receiver, TupleExpression args)`
`void` `writeInvokeConstructor(ConstructorCallExpression call)`
`void` `writeInvokeMethod(MethodCallExpression call)`
`void` `writeInvokeStaticMethod(StaticMethodCallExpression call)`

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

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

### Field Detail

#### invokeMethodOnCurrent

    protected static final MethodCallerMultiAdapter invokeMethodOnCurrent

#### invokeMethodOnSuper

    protected static final MethodCallerMultiAdapter invokeMethodOnSuper

#### invokeMethod

    protected static final MethodCallerMultiAdapter invokeMethod

#### invokeStaticMethod

    protected static final MethodCallerMultiAdapter invokeStaticMethod

#### invokeClosureMethod

    protected static final MethodCaller invokeClosureMethod

### Constructor Detail

#### InvocationWriter

    public InvocationWriter(WriterController wc)

### Method Detail

#### makeCall

    public void makeCall(Expression origin,
                Expression receiver,
                Expression message,
                Expression arguments,
                MethodCallerMultiAdapter adapter,
                boolean safe,
                boolean spreadSafe,
                boolean implicitThis)

#### writeDirectMethodCall

    protected boolean writeDirectMethodCall(MethodNode target,
                                boolean implicitThis,
                                Expression receiver,
                                TupleExpression args)

#### loadArguments

    protected void loadArguments(java.util.List<Expression> argumentList,
                     Parameter[] para)

#### makeArgumentList

    public static ArgumentListExpression makeArgumentList(Expression arguments)

#### getMethodName

    protected java.lang.String getMethodName(Expression message)

#### writeInvokeMethod

    public void writeInvokeMethod(MethodCallExpression call)

#### writeInvokeStaticMethod

    public void writeInvokeStaticMethod(StaticMethodCallExpression call)

#### prepareConstructorCall

    protected java.lang.String prepareConstructorCall(ConstructorNode cn)

#### finnishConstructorCall

    protected void finnishConstructorCall(ConstructorNode cn,
                              java.lang.String ownerDescriptor,
                              int argsToRemove)

#### writeInvokeConstructor

    public void writeInvokeConstructor(ConstructorCallExpression call)

#### makeSingleArgumentCall

    public void makeSingleArgumentCall(Expression receiver,
                              java.lang.String message,
                              Expression arguments)