Class IRMethodCallExpressionCompiler

    • Field Detail

      • STRUCTURAL_PROXY

        public static final java.lang.String STRUCTURAL_PROXY
        See Also:
        Constant Field Values
      • PROXY_CACHE

        private static java.util.Map<java.lang.Class,​java.util.Map<java.lang.Class,​java.lang.reflect.Constructor>> PROXY_CACHE
    • Constructor Detail

      • IRMethodCallExpressionCompiler

        public IRMethodCallExpressionCompiler()
    • Method Detail

      • constructProxy

        public static java.lang.Object constructProxy​(java.lang.Object root,
                                                      java.lang.Class iface)
      • createNewProxy

        private static java.lang.Object createNewProxy​(java.lang.Object root,
                                                       java.lang.Class iface)
      • createProxy

        private static java.lang.Class createProxy​(java.lang.Class iface,
                                                   java.lang.Class rootClass,
                                                   boolean bStaticImpl)
      • isObjectMethod

        private static boolean isObjectMethod​(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.