Class ClassWeaver

java.lang.Object
kilim.analysis.ClassWeaver

public class ClassWeaver extends Object
This class is the main entry point for the Weave tool. It uses ClassFlow to parse and analyze a class file, and writes out a CPS transformed file if needed
  • Field Details

  • Constructor Details

  • Method Details

    • reset

      public static void reset()
    • weave

      public void weave() throws KilimException
      Throws:
      KilimException
    • accept

      private void accept(org.objectweb.asm.ClassVisitor cv)
    • toStringArray

      static String[] toStringArray(List list)
    • addClassInfo

      void addClassInfo(ClassInfo ci)
    • getClassInfos

      public List<ClassInfo> getClassInfos()
    • needsWeaving

      boolean needsWeaving(MethodFlow mf)
    • needsWeaving

      boolean needsWeaving()
    • createStateClass

      String createStateClass(ValInfoList valInfoList)
      Create a custom class (structure) to hold the state. The name of the state reflects the numbers of the various VMtypes in valInfoList. class kilim.SO2IJ3 reflects a class that stores two Objects one Integer and 3 longs.
                  class kilim.SO2IJ3 extends kilim.State {
                     public Object f1, f2;
                     public int f3;
                     public long f4, f5, f6;
                  } 
       
      If there's no data to store, we use the kilim.State class directly to store the basic amount of data necessary to restore the stack.
    • makeClassName

      private String makeClassName(int[] numByType)
    • isInterface

      boolean isInterface()
    • getSAMWeaver

      SAMweaver getSAMWeaver(String owner, String methodName, String desc, boolean itf)
    • getName

      String getName()