Package anvil.codec

Examples of anvil.codec.ConstantPool.addFieldRef()


        break;
     
      case Type.MEMBER_VARIABLE:
        {
          Type parent = _type.getParent();
          int field = pool.addFieldRef(parent.getTypeRef(pool), "_class",
            "Lanvil/script/compiler/CompiledClassType;");
          code.getstatic(field);
          code.aload_first();
          code.astring(_type.getName());
          code.invokevirtual(pool.addMethodRef(
View Full Code Here


       
      case Type.INTERFACE_METHOD:
      case Type.METHOD:
      case Type.CONSTRUCTOR:
        {
          int field = pool.addFieldRef(_type.getParent().getTypeRef(pool),
            (get_type ? "m_" : "M_") + _type.getName(),
             get_type ? "Lanvil/script/Function;" : "Lanvil/core/Any;");
          code.getstatic(field);
        }
        break;
View Full Code Here

        break;

      case Type.CLASS:
        {
          if (get_type) {
            int field = pool.addFieldRef(_type.getTypeRef(pool), "_class",
              "Lanvil/script/compiler/CompiledClassType;");
            code.getstatic(field);
          } else {
            int field = pool.addFieldRef(_type.getTypeRef(pool),
              "_type", "Lanvil/core/Any;");
View Full Code Here

          if (get_type) {
            int field = pool.addFieldRef(_type.getTypeRef(pool), "_class",
              "Lanvil/script/compiler/CompiledClassType;");
            code.getstatic(field);
          } else {
            int field = pool.addFieldRef(_type.getTypeRef(pool),
              "_type", "Lanvil/core/Any;");
            code.getstatic(field);           
          }
        }
        break;
View Full Code Here

        }
        break;

      case Type.INTERFACE:
        {
          int field = pool.addFieldRef(_type.getTypeRef(pool),
            get_type ? "_class" : "_type",
            get_type ? "Lanvil/script/compiler/CompiledInterfaceType;" : "Lanvil/core/Any;");
          code.getstatic(field);
        }
        break;
View Full Code Here

        }
        break;

      case Type.NAMESPACE:
        {
          int field = pool.addFieldRef(_type.getTypeRef(pool),
            get_type ? "_class" : "_type",
            get_type ? "Lanvil/script/compiler/CompiledNamespace;" : "Lanvil/core/Any;");
          code.getstatic(field);
        }
        break;
View Full Code Here

    Field bases = clazz.createField("_bases", "[Ljava/lang/String;", Code.ACC_PUBLIC|Code.ACC_STATIC);
    Code code = clazz.getStatic().getCode();
    context.pushCode(code);
   
    code.getstatic(pool.addFieldRef(_parent.getDescriptor(), "_members", "[Ljava/lang/Object;"));
    code.pop();

    compileConstructors(context, typefield1);

    compileMembers(context, _types.size(), _types.elements());
View Full Code Here

    Enumeration e = _types.elements();
    while(e.hasMoreElements()) {
      Type type = (Type)e.nextElement();
      if (type.getType() == CLASS) {
        code.getstatic(pool.addFieldRef(type.getTypeRef(pool),
          "_members", "[Ljava/lang/Object;"));
        code.pop();
      }
    }
View Full Code Here

    Method method = clazz.createMethod("getAllMembers", "()Lanvil/java/util/BindingEnumeration;", Code.ACC_PUBLIC);
    Code code = method.getCode();
    int cge = pool.addClass("anvil/script/ClassGraphEnumeration");
    code.anew(cge);
    code.dup();
    code.getstatic(pool.addFieldRef(clazz.getIndex(), "_class", "Lanvil/script/compiler/CompiledClassType;"));
    code.self();
    code.invokespecial(pool.addMethodRef(cge, "<init>", "(Lanvil/script/ClassType;Lanvil/core/AnyClass;)V"));
    code.areturn();

    method = clazz.createMethod("classOf", "()Lanvil/script/ClassType;", Code.ACC_PUBLIC);
View Full Code Here

    code.invokespecial(pool.addMethodRef(cge, "<init>", "(Lanvil/script/ClassType;Lanvil/core/AnyClass;)V"));
    code.areturn();

    method = clazz.createMethod("classOf", "()Lanvil/script/ClassType;", Code.ACC_PUBLIC);
    code = method.getCode();
    code.getstatic(pool.addFieldRef(clazz.getIndex(), "_class", "Lanvil/script/compiler/CompiledClassType;"));
    code.areturn();
  }

 
  protected void addTypeEntry(Hashlist names, Type type)
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.