Class InvokeDynamicWriter
java.lang.Object
org.codehaus.groovy.classgen.asm.InvocationWriter
org.codehaus.groovy.classgen.asm.indy.InvokeDynamicWriter
public class InvokeDynamicWriter extends InvocationWriter
This Writer is used to generate the call invocation byte codes
for usage by invokedynamic.
-
Field Summary
Fields inherited from class org.codehaus.groovy.classgen.asm.InvocationWriter
castToVargsArray, invokeClosureMethod, invokeMethod, invokeMethodOnCurrent, invokeMethodOnSuper, invokeStaticMethod
-
Constructor Summary
Constructors Constructor Description InvokeDynamicWriter(WriterController wc)
-
Method Summary
Modifier and Type Method Description void
castNonPrimitiveToBool(ClassNode sourceType)
void
castToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType)
Converts sourceType to a non primitive by using Groovy casting.void
coerce(ClassNode from, ClassNode target)
protected boolean
makeCachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression)
void
makeSingleArgumentCall(Expression receiver, String message, Expression arguments, boolean safe)
protected void
writeGetProperty(Expression receiver, String propertyName, boolean safe, boolean implicitThis, boolean groovyObject)
protected void
writeNormalConstructorCall(ConstructorCallExpression call)
Methods inherited from class org.codehaus.groovy.classgen.asm.InvocationWriter
finnishConstructorCall, getMethodName, loadArguments, makeArgumentList, makeCall, makeCall, makeClassForNameCall, makeDirectCall, makeSingleArgumentCall, makeUncachedCall, prepareConstructorCall, writeAICCall, writeDirectMethodCall, writeInvokeConstructor, writeInvokeMethod, writeInvokeStaticMethod, writeSpecialConstructorCall
-
Constructor Details
-
InvokeDynamicWriter
-
-
Method Details
-
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 classInvocationWriter
-
makeSingleArgumentCall
public void makeSingleArgumentCall(Expression receiver, String message, Expression arguments, boolean safe)- Overrides:
makeSingleArgumentCall
in classInvocationWriter
-
writeGetProperty
protected void writeGetProperty(Expression receiver, String propertyName, boolean safe, boolean implicitThis, boolean groovyObject) -
writeNormalConstructorCall
- Overrides:
writeNormalConstructorCall
in classInvocationWriter
-
coerce
- Overrides:
coerce
in classInvocationWriter
-
castToNonPrimitiveIfNecessary
Description copied from class:InvocationWriter
Converts sourceType to a non primitive by using Groovy casting. sourceType might be a primitive This might be done using SBA#castToType- Overrides:
castToNonPrimitiveIfNecessary
in classInvocationWriter
-
castNonPrimitiveToBool
- Overrides:
castNonPrimitiveToBool
in classInvocationWriter
-