package com.coderising.jvm.print;
import java.io.IOException;
import com.coderising.jvm.clz.ClassFile;
import com.coderising.jvm.loader.ClassFileLoader;
public class ClassFilePrinter {
ClassFile clzFile = null;
public ClassFilePrinter(ClassFile clzFile){
this.clzFile = clzFile;
}
public void print(){
/*System.out.println("Class Name:"+ clzFile.getClassName());
System.out.println("Super Class Name:"+ clzFile.getSuperClassName());*/
//System.out.println("public class " + clzFile.getConstantPool().getConstantInfo(clzFile.getClzIndex().getThisClassIndex()));
System.out.println("minor version:" + clzFile.getMinorVersion());
System.out.println("major version:" + clzFile.getMajorVersion());
if(clzFile.getAccessFlag().isPublicClass()){
System.out.println("flags: public ");
}
ConstantPoolPrinter cnstPoolPrinter = new ConstantPoolPrinter(clzFile.getConstantPool());
cnstPoolPrinter.print();
}
public static void main(String[] args) throws IOException{
String path = "D:/ProgramWorld/Java/Practice/LangSi/2017������Ⱥ/bin/com/coderising/jvm/loader/EmployeeV1.class";
ClassFileLoader loader = new ClassFileLoader();
loader.addClassPath(path);
String className = "com.coderising.jvm.test.EmployeeV1";
ClassFile clzFile = loader.loadClass(path);
ClassFilePrinter printer = new ClassFilePrinter(clzFile);
printer.print();
}
}