Package org.codehaus.groovy.classgen.asm
Class InvocationWriter
- java.lang.Object
- 
- org.codehaus.groovy.classgen.asm.InvocationWriter
 
- 
- Direct Known Subclasses:
- InvokeDynamicWriter,- StaticInvocationWriter
 
 public class InvocationWriter extends Object 
- 
- 
Field SummaryFields Modifier and Type Field Description static MethodCallercastToVargsArrayprotected WriterControllercontrollerstatic MethodCallerinvokeClosureMethodstatic MethodCallerMultiAdapterinvokeMethodstatic MethodCallerMultiAdapterinvokeMethodOnCurrentstatic MethodCallerMultiAdapterinvokeMethodOnSuperstatic MethodCallerMultiAdapterinvokeStaticMethod
 - 
Constructor SummaryConstructors Constructor Description InvocationWriter(WriterController controller)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcastNonPrimitiveToBool(ClassNode last)voidcastToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType)Converts sourceType to a non primitive by using Groovy casting.voidcoerce(ClassNode from, ClassNode target)protected voidfinnishConstructorCall(ConstructorNode cn, String ownerDescriptor, int argsToRemove)protected StringgetMethodName(Expression message)protected voidloadArguments(List<Expression> argumentList, Parameter[] para)static ArgumentListExpressionmakeArgumentList(Expression arguments)protected booleanmakeCachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression)protected voidmakeCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis)voidmakeCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis)protected booleanmakeClassForNameCall(Expression origin, Expression receiver, Expression message, Expression arguments)if Class.forName(x) is recognized, make a direct method callprotected booleanmakeDirectCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean implicitThis, boolean containsSpreadExpression)voidmakeSingleArgumentCall(Expression receiver, String message, Expression arguments)voidmakeSingleArgumentCall(Expression receiver, String message, Expression arguments, boolean safe)protected voidmakeUncachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression)protected StringprepareConstructorCall(ConstructorNode cn)protected booleanwriteAICCall(ConstructorCallExpression call)protected booleanwriteDirectMethodCall(MethodNode target, boolean implicitThis, Expression receiver, TupleExpression args)voidwriteInvokeConstructor(ConstructorCallExpression call)voidwriteInvokeMethod(MethodCallExpression call)voidwriteInvokeStaticMethod(StaticMethodCallExpression call)protected voidwriteNormalConstructorCall(ConstructorCallExpression call)voidwriteSpecialConstructorCall(ConstructorCallExpression call)
 
- 
- 
- 
Field Detail- 
invokeMethodOnCurrentpublic static final MethodCallerMultiAdapter invokeMethodOnCurrent 
 - 
invokeMethodOnSuperpublic static final MethodCallerMultiAdapter invokeMethodOnSuper 
 - 
invokeMethodpublic static final MethodCallerMultiAdapter invokeMethod 
 - 
invokeStaticMethodpublic static final MethodCallerMultiAdapter invokeStaticMethod 
 - 
invokeClosureMethodpublic static final MethodCaller invokeClosureMethod 
 - 
castToVargsArraypublic static final MethodCaller castToVargsArray 
 - 
controllerprotected final WriterController controller 
 
- 
 - 
Constructor Detail- 
InvocationWriterpublic InvocationWriter(WriterController controller) 
 
- 
 - 
Method Detail- 
makeCallpublic void makeCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis) 
 - 
writeDirectMethodCallprotected boolean writeDirectMethodCall(MethodNode target, boolean implicitThis, Expression receiver, TupleExpression args) 
 - 
loadArgumentsprotected void loadArguments(List<Expression> argumentList, Parameter[] para) 
 - 
makeDirectCallprotected boolean makeDirectCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean implicitThis, boolean containsSpreadExpression) 
 - 
makeCachedCallprotected boolean makeCachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression) 
 - 
makeUncachedCallprotected void makeUncachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression) 
 - 
makeCallprotected void makeCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis) 
 - 
makeClassForNameCallprotected boolean makeClassForNameCall(Expression origin, Expression receiver, Expression message, Expression arguments) if Class.forName(x) is recognized, make a direct method call
 - 
makeArgumentListpublic static ArgumentListExpression makeArgumentList(Expression arguments) 
 - 
getMethodNameprotected String getMethodName(Expression message) 
 - 
writeInvokeMethodpublic void writeInvokeMethod(MethodCallExpression call) 
 - 
writeInvokeStaticMethodpublic void writeInvokeStaticMethod(StaticMethodCallExpression call) 
 - 
prepareConstructorCallprotected String prepareConstructorCall(ConstructorNode cn) 
 - 
finnishConstructorCallprotected void finnishConstructorCall(ConstructorNode cn, String ownerDescriptor, int argsToRemove) 
 - 
writeNormalConstructorCallprotected void writeNormalConstructorCall(ConstructorCallExpression call) 
 - 
writeInvokeConstructorpublic void writeInvokeConstructor(ConstructorCallExpression call) 
 - 
writeAICCallprotected boolean writeAICCall(ConstructorCallExpression call) 
 - 
makeSingleArgumentCallpublic final void makeSingleArgumentCall(Expression receiver, String message, Expression arguments) 
 - 
makeSingleArgumentCallpublic void makeSingleArgumentCall(Expression receiver, String message, Expression arguments, boolean safe) 
 - 
writeSpecialConstructorCallpublic void writeSpecialConstructorCall(ConstructorCallExpression call) 
 - 
castToNonPrimitiveIfNecessarypublic void castToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType) Converts sourceType to a non primitive by using Groovy casting. sourceType might be a primitive This might be done using SBA#castToType
 - 
castNonPrimitiveToBoolpublic void castNonPrimitiveToBool(ClassNode last) 
 
- 
 
-