Package 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 | Description
    --- | ---
    `StaticInvocationWriter​(WriterController wc)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | 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)` | Deprecated.
    `protected boolean` | `tryBridgeMethod​(MethodNode target, Expression receiver, boolean implicitThis, TupleExpression args, ClassNode thisClass)` | 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

    - #### getCurrentCall

          public MethodCallExpression getCurrentCall()

    - #### 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

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

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

    - #### tryBridgeMethod

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

      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`

    - #### 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`