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 voidcastNonPrimitiveToBool(ClassNode sourceType)voidcastToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType)Converts sourceType to a non primitive by using Groovy casting.voidcoerce(ClassNode from, ClassNode target)protected booleanmakeCachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression)voidmakeSingleArgumentCall(Expression receiver, String message, Expression arguments, boolean safe)protected voidwriteGetProperty(Expression receiver, String propertyName, boolean safe, boolean implicitThis, boolean groovyObject)protected voidwriteNormalConstructorCall(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:
makeCachedCallin classInvocationWriter
-
makeSingleArgumentCall
public void makeSingleArgumentCall(Expression receiver, String message, Expression arguments, boolean safe)- Overrides:
makeSingleArgumentCallin classInvocationWriter
-
writeGetProperty
protected void writeGetProperty(Expression receiver, String propertyName, boolean safe, boolean implicitThis, boolean groovyObject) -
writeNormalConstructorCall
- Overrides:
writeNormalConstructorCallin classInvocationWriter
-
coerce
- Overrides:
coercein classInvocationWriter
-
castToNonPrimitiveIfNecessary
Description copied from class:InvocationWriterConverts sourceType to a non primitive by using Groovy casting. sourceType might be a primitive This might be done using SBA#castToType- Overrides:
castToNonPrimitiveIfNecessaryin classInvocationWriter
-
castNonPrimitiveToBool
- Overrides:
castNonPrimitiveToBoolin classInvocationWriter
-