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 voidcastNonPrimitiveToBool(ClassNode sourceType)voidcastToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType)This 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)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, 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:
makeCachedCallin classInvocationWriter
-
makeSingleArgumentCall
public void makeSingleArgumentCall(Expression receiver, java.lang.String message, Expression arguments)
- Overrides:
makeSingleArgumentCallin classInvocationWriter
-
writeGetProperty
protected void writeGetProperty(Expression receiver, java.lang.String propertyName, boolean safe, boolean implicitThis, boolean groovyObject)
-
writeNormalConstructorCall
protected void writeNormalConstructorCall(ConstructorCallExpression call)
- Overrides:
writeNormalConstructorCallin classInvocationWriter
-
coerce
public void coerce(ClassNode from, ClassNode target)
- Overrides:
coercein classInvocationWriter
-
castToNonPrimitiveIfNecessary
public void castToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType)
Description copied from class:InvocationWriterThis converts 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
public void castNonPrimitiveToBool(ClassNode sourceType)
- Overrides:
castNonPrimitiveToBoolin classInvocationWriter
-
-