package codechicken.lib.asm; import org.objectweb.asm.ClassWriter; public class CC_ClassWriter extends ClassWriter { private final boolean runtime; public CC_ClassWriter(int flags) { this(flags, false); } public CC_ClassWriter(int flags, boolean runtime) { super(flags); this.runtime = runtime; } @Override protected String getCommonSuperClass(String type1, String type2) { String c = type1.replace('/', '.'); String d = type2.replace('/', '.'); if(ClassHeirachyManager.classExtends(d, c)) return type1; if(ClassHeirachyManager.classExtends(c, d)) return type2; do { c = ClassHeirachyManager.getSuperClass(c, runtime); } while(!ClassHeirachyManager.classExtends(d, c)); return c.replace('.', '/'); } }