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