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

Modifier and Type
Method
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 Details

### StaticInvocationWriter

public StaticInvocationWriter(WriterController wc)

## Method Details

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