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

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `MethodCallExpression` | `getCurrentCall()`
    `protected static boolean` | `isPrivateBridgeMethodsCallAllowed(ClassNode receiver, ClassNode caller)`
    `protected void` | `loadArguments(java.util.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(java.util.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`