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, java.lang.String message, Expression arguments, boolean safe)protected voidwriteGetProperty(Expression receiver, java.lang.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, writeSpecialConstructorCallMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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, java.lang.String message, Expression arguments, boolean safe)- Overrides:
makeSingleArgumentCallin classInvocationWriter
-
writeGetProperty
protected void writeGetProperty(Expression receiver, java.lang.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
-