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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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)