Package objot.bytecode

Examples of objot.bytecode.Constants


  private byte[] make(Class<?> target, Bytes ab, String name, Class<?> sup,
    ArrayList<Constructor<?>> ts, ArrayList<Method> ms)
  {
    Bytecode y = new Bytecode(ab);
    Constants cs = y.cons;
    y.head.setModifier(Mod2.PUBLIC | Mod2.SYNTHETIC);
    int classCi = cs.addClass(name);
    y.head.setSuperCi(cs.addClass(sup));

    Bytes n = cs.getUtf(cs.getClass(y.head.getClassCi()));
    for (int i = 1; i < cs.getConN(); i++)
      if (cs.getTag(i) == Constants.TAG_CLASS && cs.equalsUtf(cs.getClass(i), n))
        cs.setClass(i, cs.getClass(classCi));

    Field f = new Field(cs);
    f.setModifier(Mod2.PUBLIC | Mod2.STATIC);
    f.setNameCi(cs.addUcs(DATAS_NAME));
    f.setDescCi(cs.addUcs(Class2.descript(Object[].class)));
    y.getFields().addField(f);
    int datasCi = cs.addField(y.head.getClassCi(), cs.addNameDesc(f.getNameCi(),
      f.getDescCi()));

    Code ato = y.getProcs().removeProc(y.getProcs().searchProc(CTOR_NAME, null)).getCode();
    for (Constructor<?> t: ts)
      new WeaveProc(target, y, ato).ctor(t);
View Full Code Here

TOP

Related Classes of objot.bytecode.Constants

Copyright © 2018 www.massapicom. 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.