Class IRMethodCallExpressionCompiler
java.lang.Object
gw.internal.gosu.ir.compiler.bytecode.AbstractBytecodeCompiler
gw.internal.gosu.ir.compiler.bytecode.expression.IRMethodCallExpressionCompiler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static Map<Class,Map<Class, Constructor>> static final StringFields inherited from class gw.internal.gosu.ir.compiler.bytecode.AbstractBytecodeCompiler
OBJECT_TYPE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcompile(IRMethodCallExpression expression, IRBytecodeContext context) static ObjectconstructProxy(Object root, Class iface) private static ObjectcreateNewProxy(Object root, Class iface) private static ClasscreateProxy(Class iface, Class rootClass, boolean bStaticImpl) private static booleanisObjectMethod(IRMethodCallExpression expression) Determines whether or not the method in question is a method directly on Object, which thus needs to be invoked using INVOKEVIRTUAL regardless of the expression's root type.private static IRTypemaybeProxyStructuralCallRoot(IRMethodCallExpression expression, IRBytecodeContext context) Methods inherited from class gw.internal.gosu.ir.compiler.bytecode.AbstractBytecodeCompiler
compileConditionAssignment, getIns, isNotPartOfBooleanExpr, isWide, negateOpcode
-
Field Details
-
STRUCTURAL_PROXY
- See Also:
-
PROXY_CACHE
-
-
Constructor Details
-
IRMethodCallExpressionCompiler
public IRMethodCallExpressionCompiler()
-
-
Method Details
-
compile
-
maybeProxyStructuralCallRoot
private static IRType maybeProxyStructuralCallRoot(IRMethodCallExpression expression, IRBytecodeContext context) -
constructProxy
-
createNewProxy
-
createProxy
-
isObjectMethod
Determines whether or not the method in question is a method directly on Object, which thus needs to be invoked using INVOKEVIRTUAL regardless of the expression's root type.
-