Package | Description |
---|---|
gov.nasa.jpf.jvm | |
gov.nasa.jpf.vm |
Modifier and Type | Method and Description |
---|---|
AnnotationInfo |
JVMClassFileContainer.createAnnotationInfo(String typeName,
ClassLoaderInfo classLoader,
byte[] data) |
ClassInfo |
JVMClassFileContainer.createClassInfo(String typeName,
ClassLoaderInfo classLoader,
String url,
byte[] data) |
ClassInfo |
DefaultJVMClassFactory.createClassInfo(String typeName,
ClassLoaderInfo classLoader,
String url,
byte[] data,
int offset,
int length) |
protected void |
ClassFile.error(String msg) |
byte[] |
DirClassFileContainer.getClassData(String clsName) |
byte[] |
JarClassFileContainer.getClassData(String clsName) |
void |
JVMAnnotationParser.parse(AnnotationInfo ai) |
void |
ClassFile.parse(ClassFileReader reader)
this is the main parsing routine that uses the ClassFileReader interface
to tell clients about the classfile contents
ClassFile structure: http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#74353
u4 magic; // 0xcafebabe
u2 minor_version;
u2 major_version;
u2 constant_pool_count;
cp_entry constant_pool[constant_pool_count-1];
u2 access_flags;
u2 this_class;
u2 super_class;
u2 interfaces_count;
u2 interfaces[interfaces_count];
u2 fields_count;
field_info fields[fields_count];
u2 methods_count;
method_info methods[methods_count];
u2 attributes_count;
attribute_info attributes[attributes_count];
|
void |
ClassFileParser.parse(ClassInfo ci) |
protected void |
ClassFile.parseCp(int cpCount) |
protected void |
ClassFile.readData(InputStream is) |
static String |
ClassFile.readModifiedUTF8String(byte[] data,
int pos,
int len) |
void |
JVMAnnotationParser.setClass(ClassFile cf,
String clsName,
String superClsName,
int flags,
int cpCount) |
void |
ClassFileParser.setClass(ClassFile cf,
String clsName,
String superClsName,
int flags,
int cpCount) |
void |
ClassFileReaderAdapter.setClass(ClassFile cf,
String clsName,
String superClsName,
int flags,
int cpCount) |
void |
ClassFileReader.setClass(ClassFile cf,
String clsName,
String superClsName,
int flags,
int cpCount) |
Constructor and Description |
---|
ClassFile(File file) |
ClassFile(String pathName) |
JVMClassInfo(ClassParser parser) |
JVMClassInfo(String name,
ClassLoaderInfo classLoader,
ClassParser parser,
String classFileUrl) |
Modifier and Type | Method and Description |
---|---|
AnnotationInfo |
ClassFileMatch.createAnnotationInfo(ClassLoaderInfo classLoader) |
abstract AnnotationInfo |
ClassFileContainer.createAnnotationInfo(String typeName,
ClassLoaderInfo classLoader,
byte[] data) |
ClassInfo |
ClassFileMatch.createClassInfo(ClassLoaderInfo classLoader) |
abstract ClassInfo |
ClassFileContainer.createClassInfo(String typeName,
ClassLoaderInfo classLoader,
String url,
byte[] data) |
ClassInfo |
ClassFactory.createClassInfo(String typeName,
ClassLoaderInfo classLoader,
String url,
byte[] buffer,
int offset,
int length)
create a ClassInfo from raw data
|
protected static void |
ClassPath.error(String msg) |
protected static void |
ClassFileContainer.error(String msg) |
ClassFileMatch |
ClassPath.findMatch(String clsName) |
byte[] |
ClassPath.getClassData(String clsName) |
abstract byte[] |
ClassFileContainer.getClassData(String clsName) |
void |
AnnotationParser.parse(AnnotationInfo ai) |
void |
ClassParser.parse(ClassInfo ci) |
protected void |
ClassFileContainer.readFully(InputStream is,
byte[] buf) |
void |
ClassInfo.setClass(String clsName,
String superClsName,
int flags,
int cpCount) |
void |
AnnotationInfo.setName(String name) |
Constructor and Description |
---|
AnnotationInfo(String name,
ClassLoaderInfo classLoader,
AnnotationParser parser) |
ClassInfo(ClassParser parser) |
ClassInfo(String name,
ClassLoaderInfo classLoader,
ClassParser parser,
String classFileUrl) |