Package anvil.codec

Examples of anvil.codec.ConstantPool.addMethodRef()


          code.invokevirtual(splicemethod);
        } else {
          code.invokevirtual(addmethod);
        }
      }
      code.invokevirtual(pool.addMethodRef(clazz, "toArray",
        "()[Lanvil/core/Any;"));
    } else {
      code.iconst(n);
      code.anewarray(TYPE_ANY);
      for(int i=0; i<n; i++) {
View Full Code Here


      code.dup();
      code.iconst(i);
      getChild(i).compile(context, GET);
      code.aastore();
    }
    code.invokespecial(pool.addMethodRef(clazz, "<init>",
      "([Lanvil/core/Any;)V"));
    if (operation == context.GET_BOOLEAN) {
      context.any2boolean();
    }   
  }
View Full Code Here

      {
        AttributeNode attr = (AttributeNode)child;
        attr.getChild().compile(context, GET);
        code.astring(attr.getAttribute());
        code.aload_first();
        code.invokestatic(pool.addMethodRef(context.TYPE_CONTEXT, "postdec",
          "(Lanvil/core/Any;Ljava/lang/String;Lanvil/script/Context;)Lanvil/core/Any;"));
      }
      break;
   
    case Node.EXPR_REFERENCE:
View Full Code Here

      {
        ReferenceNode ref = (ReferenceNode)child;
        ref.getLeft().compile(context, GET);
        ref.getRight().compile(context, GET);
        code.aload_first();
        code.invokestatic(pool.addMethodRef(context.TYPE_CONTEXT, "postdec",
          "(Lanvil/core/Any;Lanvil/core/Any;Lanvil/script/Context;)Lanvil/core/Any;"));
      }
      break;

    default:
View Full Code Here

        code.getstatic(pool.addFieldRef(_function.getParent().getTypeRef(pool),
          "__module__", "Lanvil/script/compiler/NativeNamespace;"));
        code.aload_first();
        code.astring(_function.getName())
        context.compileArgumentList(getChilds(0));
        code.invokevirtual(pool.addMethodRef(
          "anvil/script/compiler/NativeNamespace", "execute",
          "(Lanvil/script/Context;Ljava/lang/String;[Lanvil/core/Any;)Lanvil/core/Any;"));
         
      } else {
        context.compileCall(_function, getChilds(0));
View Full Code Here

    clazz.setAccessFlags(ACC_PUBLIC|ACC_FINAL);

    Method method = clazz.createMethod("<init>", "()V", ACC_PUBLIC);
    Code code = method.getCode();
    code.self();
    code.invokespecial(pool.addMethodRef(clazz.getSuperClassIndex(), "<init>", "()V"));
    code.vreturn();

    method = clazz.createMethod("execute",
      "(Lanvil/script/Context;Lanvil/core/AnyClass;Lanvil/script/Generator;)Lanvil/core/Any;",
      ACC_PUBLIC|ACC_FINAL);
View Full Code Here

      code.aload(2);
      code.checkcast(parent_ref);
    }
    code.aload(1);
    code.aload(3);
    int method_ref = pool.addMethodRef(
        parent_ref, "h_"+function.getName(), "(Lanvil/script/Context;Lanvil/script/Generator;)Lanvil/core/Any;");
    if (ismethod) {
      code.invokevirtual(method_ref);
    } else {
      code.invokestatic(method_ref);
View Full Code Here

      int clazz2 = pool.addClass("anvil/java/util/BindingEnumeration");
      int clazz3 = pool.addClass("anvil/core/AnyBindingEnumeration");
      code.anew(clazz3);
      code.dup();
      _expression.compile(context, Expression.GET);
      code.invokevirtual(pool.addMethodRef(context.TYPE_ANY, "enumeration", "()Lanvil/java/util/BindingEnumeration;"));
      code.invokespecial(pool.addMethodRef(clazz3, "<init>", "(Lanvil/java/util/BindingEnumeration;)V"));
      final int tmp = code.addLocal();
      code.astore(tmp);
      _enumvar.compile(context, new Node()
      {
View Full Code Here

      int clazz3 = pool.addClass("anvil/core/AnyBindingEnumeration");
      code.anew(clazz3);
      code.dup();
      _expression.compile(context, Expression.GET);
      code.invokevirtual(pool.addMethodRef(context.TYPE_ANY, "enumeration", "()Lanvil/java/util/BindingEnumeration;"));
      code.invokespecial(pool.addMethodRef(clazz3, "<init>", "(Lanvil/java/util/BindingEnumeration;)V"));
      final int tmp = code.addLocal();
      code.astore(tmp);
      _enumvar.compile(context, new Node()
      {
        public void compile(ByteCompiler context, int operation)
View Full Code Here

            {
              Code code_ = context.getCode();
              ConstantPool pool_ = code_.getPool();
              _enumvar.compile(context, Node.GET);
              code_.invokeinterface(pool_.addInterfaceMethodRef("anvil/java/util/BindingEnumeration", "nextKey", "()Ljava/lang/Object;"));
              code_.invokestatic(pool_.addMethodRef(context.TYPE_ANY, "create", "(Ljava/lang/Object;)Lanvil/core/Any;"));
            }
          })).compile(context, Node.GET);
        code.pop();
      }
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.