Package kilim.analysis

Examples of kilim.analysis.ClassWeaver


     // to emit pre-kilim code [for debugging] 
    repo.store("raw/"+cv.getInternalClassName(), byteArray);

    boolean written = false;
    ClassWeaver cwe = new ClassWeaver(byteArray, new ErjangDetector(
        cv.getInternalClassName(), cv.non_pausable_methods));
    cwe.weave();
    for (ClassInfo ci : cwe.getClassInfos()) {
      String name = ci.className;
      byte[] bytes = ci.bytes;

      String iname = name.replace('.', '/');
      if (iname.equals(cv.getInternalClassName())) {
View Full Code Here


            mv.visitLdcInsn(new Integer(i));
        }
    }

    public static byte[] weave(byte[] data) {
        ClassWeaver w = new ClassWeaver(data, new erjang.beam.Compiler.ErjangDetector("/xx/", (Set<String>) Collections.EMPTY_SET));
        w.weave();
        for (ClassInfo ci : w.getClassInfos()) {
            // ETuple.dump(ci.className, ci.bytes);

            if (!ci.className.startsWith("kilim"))
                data = ci.bytes;
        }
View Full Code Here

            module_name.getName(), fun_name.getName(), self_type,
            mname, mname, arity, true, is_exported, false, lambda,
            EOBJECT_TYPE, funInfo.may_return_tail_marker,
            funInfo.is_pausable | funInfo.call_is_pausable);

        ClassWeaver w = new ClassWeaver(data,
            new Compiler.ErjangDetector(
                self_type.getInternalName(),
                non_pausable_methods));
        w.weave();
        if (w.getClassInfos().size() == 0) { // Class did not need
                            // weaving
          try {
            classRepo.store(full_inner_name, data);
          } catch (IOException e) {
            e.printStackTrace();
          }
        } else {
          for (ClassInfo ci : w.getClassInfos()) {
            try {
              // System.out.println("> storing "+ci.className);
              String iname = ci.className.replace('.', '/');
              classRepo.store(iname, ci.bytes);
            } catch (IOException e) {
View Full Code Here

        return excludePattern == null ? false : excludePattern.matcher(name).find();
    }

    static void weaveFile(String name, InputStream is, Detector detector) throws IOException {
        try {
            ClassWeaver cw = new ClassWeaver(is, detector);
            cw.weave();
            writeClasses(cw);
        } catch (KilimException ke) {
            System.err.println("***** Error weaving " + name + ". " + ke.getMessage());
            // ke.printStackTrace();
            err = 1;
View Full Code Here

        }
    }

    static void weaveClass(String name, Detector detector) {
        try {
            ClassWeaver cw = new ClassWeaver(name, detector);
            writeClasses(cw);
        } catch (KilimException ke) {
            err = 1;
            System.err.println("***** Error weaving " + name + ". " + ke.getMessage());
            // ke.printStackTrace();
View Full Code Here

    }

    /** public only for testing purposes */
    public static void weaveClass2(String name, Detector detector) throws IOException {
        try {
            ClassWeaver cw = new ClassWeaver(name, detector);
            cw.weave();
            writeClasses(cw);
        } catch (KilimException ke) {
            err = 1;
            System.err.println("***** Error weaving " + name + ". " + ke.getMessage());
            // ke.printStackTrace();
View Full Code Here

                detector.mirrors.mirror(cl.className, cl.bytes);
            }

            // Now weave them individually
            for (ClassInfo cl : classes) {
                ClassWeaver cw = new ClassWeaver(cl.bytes, detector);
                cw.weave();
                ret.addAll(cw.getClassInfos()); // one class file can result in multiple classes
            }
            return ret;
        } finally {
            Detector.setDetector(origDetector);
        }
View Full Code Here

                .find();
    }

    static void weaveFile(String name, InputStream is, Detector detector) throws IOException {
        try {
            ClassWeaver cw = new ClassWeaver(is, detector);
            writeClasses(cw);
        } catch (KilimException ke) {
            System.err.println("***** Error weaving " + name + ". " + ke.getMessage());
//          ke.printStackTrace();
            err = 1;
View Full Code Here

        }
    }

    public static void weaveClass(String name, Detector detector)  {
        try {
            ClassWeaver cw = new ClassWeaver(name, detector);
            writeClasses(cw);
        } catch (KilimException ke) {
            err = 1;
            System.err.println("***** Error weaving " + name + ". " + ke.getMessage());
//          ke.printStackTrace();
View Full Code Here

        }
    }

    public static void weaveClass2(String name, Detector detector) throws IOException {
        try {
            ClassWeaver cw = new ClassWeaver(name, detector);
            writeClasses(cw);
        } catch (KilimException ke) {
            err = 1;
            System.err.println("***** Error weaving " + name + ". " + ke.getMessage());
//          ke.printStackTrace();
View Full Code Here

TOP

Related Classes of kilim.analysis.ClassWeaver

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.