[Java] Class InvocationWriter
- org.codehaus.groovy.classgen.asm.InvocationWriter
public class InvocationWriter extends Object
Field Summary
Modifiers | Name | Description |
---|---|---|
static MethodCaller | castToVargsArray | |
static MethodCaller | invokeClosureMethod | |
static MethodCallerMultiAdapter | invokeMethod | |
static MethodCallerMultiAdapter | invokeMethodOnCurrent | |
static MethodCallerMultiAdapter | invokeMethodOnSuper | |
static MethodCallerMultiAdapter | invokeStaticMethod |
Constructor Summary
Constructor and description |
---|
InvocationWriter
(WriterController controller) |
Methods Summary
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
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