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
All Methods Instance Methods Concrete Methods 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 Detail
-
InvokeDynamicWriter
public InvokeDynamicWriter(WriterController wc)
-
-
Method Detail
-
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
protected void writeNormalConstructorCall(ConstructorCallExpression call)
- Overrides:
writeNormalConstructorCall
in classInvocationWriter
-
coerce
public void coerce(ClassNode from, ClassNode target)
- Overrides:
coerce
in classInvocationWriter
-
castToNonPrimitiveIfNecessary
public void castToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType)
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
public void castNonPrimitiveToBool(ClassNode sourceType)
- Overrides:
castNonPrimitiveToBool
in classInvocationWriter
-
-