[Java] Class InvocationWriter

  • org.codehaus.groovy.classgen.asm.InvocationWriter
public class InvocationWriter
extends Object

Field Summary

Fields
Modifiers Name Description
static MethodCaller castToVargsArray
static MethodCaller invokeClosureMethod
static MethodCallerMultiAdapter invokeMethod
static MethodCallerMultiAdapter invokeMethodOnCurrent
static MethodCallerMultiAdapter invokeMethodOnSuper
static MethodCallerMultiAdapter invokeStaticMethod

Constructor Summary

Constructors
Constructor and description
InvocationWriter (WriterController controller)

Methods Summary

Methods
Type Params Return Type Name and description
public void castNonPrimitiveToBool(ClassNode last)
public void castToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType)
Converts sourceType to a non primitive by using Groovy casting.
public void coerce(ClassNode from, ClassNode target)
protected void finnishConstructorCall(ConstructorNode cn, String ownerDescriptor, int argsToRemove)
protected String getMethodName(Expression message)
protected void loadArguments(List<Expression> argumentList, Parameter[] para)
public static ArgumentListExpression makeArgumentList(Expression arguments)
protected boolean makeCachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression)
public void makeCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis)
protected void makeCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis)
protected boolean makeClassForNameCall(Expression origin, Expression receiver, Expression message, Expression arguments)
if Class.forName(x) is recognized, make a direct method call
protected boolean makeDirectCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean implicitThis, boolean containsSpreadExpression)
public final void makeSingleArgumentCall(Expression receiver, String message, Expression arguments)
public void makeSingleArgumentCall(Expression receiver, String message, Expression arguments, boolean safe)
protected void makeUncachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression)
protected String prepareConstructorCall(ConstructorNode cn)
protected boolean writeAICCall(ConstructorCallExpression call)
protected boolean writeDirectMethodCall(MethodNode target, boolean implicitThis, Expression receiver, TupleExpression args)
public void writeInvokeConstructor(ConstructorCallExpression call)
public void writeInvokeMethod(MethodCallExpression call)
public void writeInvokeStaticMethod(StaticMethodCallExpression call)
protected void writeNormalConstructorCall(ConstructorCallExpression call)
public void writeSpecialConstructorCall(ConstructorCallExpression call)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class Object wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Field Detail

public static final MethodCaller castToVargsArray

public static final MethodCaller invokeClosureMethod

public static final MethodCallerMultiAdapter invokeMethod

public static final MethodCallerMultiAdapter invokeMethodOnCurrent

public static final MethodCallerMultiAdapter invokeMethodOnSuper

public static final MethodCallerMultiAdapter invokeStaticMethod

Constructor Detail

public InvocationWriter(WriterController controller)

Method Detail

public void castNonPrimitiveToBool(ClassNode last)

public void castToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType)

Converts sourceType to a non primitive by using Groovy casting. sourceType might be a primitive This might be done using SBA#castToType

public void coerce(ClassNode from, ClassNode target)

protected void finnishConstructorCall(ConstructorNode cn, String ownerDescriptor, int argsToRemove)

protected String getMethodName(Expression message)

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

public static ArgumentListExpression makeArgumentList(Expression arguments)

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

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

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

protected boolean makeClassForNameCall(Expression origin, Expression receiver, Expression message, Expression arguments)

if Class.forName(x) is recognized, make a direct method call

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

public final void makeSingleArgumentCall(Expression receiver, String message, Expression arguments)

public void makeSingleArgumentCall(Expression receiver, String message, Expression arguments, boolean safe)

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

protected String prepareConstructorCall(ConstructorNode cn)

protected boolean writeAICCall(ConstructorCallExpression call)

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

public void writeInvokeConstructor(ConstructorCallExpression call)

public void writeInvokeMethod(MethodCallExpression call)

public void writeInvokeStaticMethod(StaticMethodCallExpression call)

protected void writeNormalConstructorCall(ConstructorCallExpression call)

public void writeSpecialConstructorCall(ConstructorCallExpression call)

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/classgen/asm/InvocationWriter.html