public class InvocationWriter extends Object
| Modifiers | Name | Description | 
|---|---|---|
static MethodCaller  | 
                            castToVargsArray | 
                            |
protected WriterController  | 
                            controller | 
                            |
static MethodCaller  | 
                            invokeClosureMethod | 
                            |
static MethodCallerMultiAdapter  | 
                            invokeMethod | 
                            |
static MethodCallerMultiAdapter  | 
                            invokeMethodOnCurrent | 
                            |
static MethodCallerMultiAdapter  | 
                            invokeMethodOnSuper | 
                            |
static MethodCallerMultiAdapter  | 
                            invokeStaticMethod | 
                            
| Constructor and description | 
|---|
                                InvocationWriter(WriterController controller) | 
                        
| Type Params | Return Type | Name and description | 
|---|---|---|
 | 
                            public void | 
                            castNonPrimitiveToBool(ClassNode last) | 
                        
 | 
                            public void | 
                            castToNonPrimitiveIfNecessary(ClassNode sourceType, ClassNode targetType)Converts sourceType to a non-primitive by using Groovy casting.  | 
                        
 | 
                            public void | 
                            coerce(ClassNode from, ClassNode target) | 
                        
 | 
                            protected void | 
                            finnishConstructorCall(ConstructorNode cn, String ownerDescriptor, int argsToRemove) | 
                        
 | 
                            protected String | 
                            getMethodName(Expression message) | 
                        
 | 
                            protected void | 
                            loadArguments(List<Expression> arguments, Parameter[] parameters) | 
                        
 | 
                            public static ArgumentListExpression | 
                            makeArgumentList(Expression arguments) | 
                        
 | 
                            protected boolean | 
                            makeCachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression) | 
                        
 | 
                            public void | 
                            makeCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis) | 
                        
 | 
                            protected void | 
                            makeCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis) | 
                        
 | 
                            protected boolean | 
                            makeClassForNameCall(Expression origin, Expression receiver, Expression message, Expression arguments)if Class.forName(x) is recognized, make a direct method call  | 
                        
 | 
                            protected boolean | 
                            makeDirectCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean implicitThis, boolean containsSpreadExpression) | 
                        
 | 
                            public final void | 
                            makeSingleArgumentCall(Expression receiver, String message, Expression arguments) | 
                        
 | 
                            public void | 
                            makeSingleArgumentCall(Expression receiver, String message, Expression arguments, boolean safe) | 
                        
 | 
                            protected void | 
                            makeUncachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression) | 
                        
 | 
                            protected String | 
                            prepareConstructorCall(ConstructorNode cn) | 
                        
 | 
                            public void | 
                            visitVariableExpression(VariableExpression vexp) | 
                        
 | 
                            protected boolean | 
                            writeAICCall(ConstructorCallExpression call) | 
                        
 | 
                            protected boolean | 
                            writeDirectMethodCall(MethodNode target, boolean implicitThis, Expression receiver, TupleExpression args) | 
                        
 | 
                            public void | 
                            writeInvokeConstructor(ConstructorCallExpression call) | 
                        
 | 
                            public void | 
                            writeInvokeMethod(MethodCallExpression call) | 
                        
 | 
                            public void | 
                            writeInvokeStaticMethod(StaticMethodCallExpression call) | 
                        
 | 
                            protected void | 
                            writeNormalConstructorCall(ConstructorCallExpression call) | 
                        
 | 
                            public void | 
                            writeSpecialConstructorCall(ConstructorCallExpression call) | 
                        
Converts sourceType to a non-primitive by using Groovy casting. sourceType might be a primitive This might be done using SBA#castToType
if Class.forName(x) is recognized, make a direct method call
Copyright © 2003-2024 The Apache Software Foundation. All rights reserved.