StaticInvocationWriter (Groovy 2.4.7)
Date: 2016-06-03

org.codehaus.groovy.classgen.asm.sc

## Class StaticInvocationWriter

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

-     public class StaticInvocationWriter
      extends InvocationWriter

- - ### Field Summary

    - ### Fields inherited from class org.codehaus.groovy.classgen.asm.InvocationWriter

      `castToVargsArray, invokeClosureMethod, invokeMethod, invokeMethodOnCurrent, invokeMethodOnSuper, invokeStaticMethod`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StaticInvocationWriter(WriterController wc)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `MethodCallExpression` | `getCurrentCall()`
    `protected static boolean` | `isPrivateBridgeMethodsCallAllowed(ClassNode receiver, ClassNode caller)`
    `protected void` | `loadArguments(List<Expression> argumentList, Parameter[] para)`
    `protected boolean` | `makeCachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression)`
    `void` | `makeCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis)`
    `protected boolean` | `makeDirectCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean implicitThis, boolean containsSpreadExpression)`
    `protected boolean` | `tryBridgeMethod(MethodNode target, Expression receiver, boolean implicitThis, TupleExpression args)` Attempts to make a direct method call on a bridge method, if it exists.
    `protected boolean` | `writeDirectMethodCall(MethodNode target, boolean implicitThis, Expression receiver, TupleExpression args)`
    `void` | `writeInvokeConstructor(ConstructorCallExpression call)`
    `void` | `writeInvokeMethod(MethodCallExpression call)`
    `void` | `writeSpecialConstructorCall(ConstructorCallExpression call)`

    - ### Methods inherited from class org.codehaus.groovy.classgen.asm.InvocationWriter

      `castNonPrimitiveToBool, castToNonPrimitiveIfNecessary, coerce, finnishConstructorCall, getMethodName, makeArgumentList, makeCall, makeClassForNameCall, makeSingleArgumentCall, makeUncachedCall, prepareConstructorCall, writeAICCall, writeInvokeStaticMethod, writeNormalConstructorCall`

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

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

- - ### Constructor Detail

    - #### StaticInvocationWriter

          public StaticInvocationWriter(WriterController wc)

  - ### Method Detail

    - #### makeDirectCall

          protected boolean makeDirectCall(Expression origin,
                               Expression receiver,
                               Expression message,
                               Expression arguments,
                               MethodCallerMultiAdapter adapter,
                               boolean implicitThis,
                               boolean containsSpreadExpression)

      Overrides:
        `makeDirectCall` in class `InvocationWriter`

    - #### writeInvokeMethod

          public void writeInvokeMethod(MethodCallExpression call)

      Overrides:
        `writeInvokeMethod` in class `InvocationWriter`

    - #### writeInvokeConstructor

          public void writeInvokeConstructor(ConstructorCallExpression call)

      Overrides:
        `writeInvokeConstructor` in class `InvocationWriter`

    - #### writeSpecialConstructorCall

          public void writeSpecialConstructorCall(ConstructorCallExpression call)

      Overrides:
        `writeSpecialConstructorCall` in class `InvocationWriter`

    - #### tryBridgeMethod

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

      Attempts to make a direct method call on a bridge method, if it exists.

    - #### writeDirectMethodCall

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

      Overrides:
        `writeDirectMethodCall` in class `InvocationWriter`

    - #### isPrivateBridgeMethodsCallAllowed

          protected static boolean isPrivateBridgeMethodsCallAllowed(ClassNode receiver,
                                                  ClassNode caller)

    - #### loadArguments

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

      Overrides:
        `loadArguments` in class `InvocationWriter`

    - #### makeCall

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

      Overrides:
        `makeCall` in class `InvocationWriter`

    - #### getCurrentCall

          public MethodCallExpression getCurrentCall()

    - #### makeCachedCall

          protected boolean makeCachedCall(Expression origin,
                               ClassExpression sender,
                               Expression receiver,
                               Expression message,
                               Expression arguments,
                               MethodCallerMultiAdapter adapter,
                               boolean safe,
                               boolean spreadSafe,
                               boolean implicitThis,
                               boolean containsSpreadExpression)

      Overrides:
        `makeCachedCall` in class `InvocationWriter`