public class StaticInvocationWriter extends InvocationWriter
invokeClosureMethod, invokeMethod, invokeMethodOnCurrent, invokeMethodOnSuper, invokeStaticMethod
Constructor and Description |
---|
StaticInvocationWriter(WriterController wc) |
Modifier and Type | Method and Description |
---|---|
MethodCallExpression |
getCurrentCall() |
protected static boolean |
isPrivateBridgeMethodsCallAllowed(ClassNode receiver,
ClassNode caller) |
protected void |
loadArguments(List<Expression> argumentList,
Parameter[] para) |
protected boolean |
makeCachedCall(Expression origin,
ClassExpression sender,
Expression receiver,
Expression message,
Expression arguments,
MethodCallerMultiAdapter adapter,
boolean safe,
boolean spreadSafe,
boolean implicitThis,
boolean containsSpreadExpression) |
void |
makeCall(Expression origin,
Expression receiver,
Expression message,
Expression arguments,
MethodCallerMultiAdapter adapter,
boolean safe,
boolean spreadSafe,
boolean implicitThis) |
protected boolean |
tryBridgeMethod(MethodNode target,
Expression receiver,
boolean implicitThis,
TupleExpression args)
Attempts to make a direct method call on a bridge method, if it exists.
|
protected boolean |
writeDirectMethodCall(MethodNode target,
boolean implicitThis,
Expression receiver,
TupleExpression args) |
void |
writeInvokeConstructor(ConstructorCallExpression call) |
void |
writeInvokeMethod(MethodCallExpression call) |
void |
writeSpecialConstructorCall(ConstructorCallExpression call) |
castNonPrimitiveToBool, castToNonPrimitiveIfNecessary, coerce, finnishConstructorCall, getMethodName, makeArgumentList, makeCall, makeClassForNameCall, makeDirectCall, makeSingleArgumentCall, makeUncachedCall, prepareConstructorCall, writeAICCall, writeInvokeStaticMethod, writeNormalConstructorCall
public StaticInvocationWriter(WriterController wc)
public void writeInvokeMethod(MethodCallExpression call)
writeInvokeMethod
in class InvocationWriter
public void writeInvokeConstructor(ConstructorCallExpression call)
writeInvokeConstructor
in class InvocationWriter
public void writeSpecialConstructorCall(ConstructorCallExpression call)
writeSpecialConstructorCall
in class InvocationWriter
protected boolean tryBridgeMethod(MethodNode target, Expression receiver, boolean implicitThis, TupleExpression args)
protected boolean writeDirectMethodCall(MethodNode target, boolean implicitThis, Expression receiver, TupleExpression args)
writeDirectMethodCall
in class InvocationWriter
protected static boolean isPrivateBridgeMethodsCallAllowed(ClassNode receiver, ClassNode caller)
protected void loadArguments(List<Expression> argumentList, Parameter[] para)
loadArguments
in class InvocationWriter
public void makeCall(Expression origin, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis)
makeCall
in class InvocationWriter
public MethodCallExpression getCurrentCall()
protected boolean makeCachedCall(Expression origin, ClassExpression sender, Expression receiver, Expression message, Expression arguments, MethodCallerMultiAdapter adapter, boolean safe, boolean spreadSafe, boolean implicitThis, boolean containsSpreadExpression)
makeCachedCall
in class InvocationWriter