|
|||||||||
| Home >> All >> org >> apache >> bcel >> [ classfile overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.bcel.classfile
Class ClassParser

java.lang.Objectorg.apache.bcel.classfile.ClassParser
- public final class ClassParser
- extends java.lang.Object
Wrapper class that parses a given Java .class file. The method parse returns a JavaClass object on success. When an I/O error or an inconsistency occurs an appropiate exception is propagated back to the caller. The structure and the names comply, except for a few conveniences, exactly with the JVM specification 1.0. See this paper for further details about the structure of a bytecode file.
- Version:
- $Id: ClassParser.java 386056 2006-03-15 11:31:56Z tcurdt $
| Field Summary | |
private int |
access_flags
|
private Attribute[] |
attributes
|
private static int |
BUFSIZE
|
private int |
class_name_index
|
private ConstantPool |
constant_pool
|
private Field[] |
fields
|
private java.io.DataInputStream |
file
|
private java.lang.String |
file_name
|
private boolean |
fileOwned
|
private int[] |
interfaces
|
private boolean |
is_zip
|
private int |
major
|
private Method[] |
methods
|
private int |
minor
|
private int |
superclass_name_index
|
private java.lang.String |
zip_file
|
| Constructor Summary | |
ClassParser(java.io.InputStream file,
java.lang.String file_name)
Parse class from the given stream. |
|
ClassParser(java.lang.String file_name)
Parse class from given .class file. |
|
ClassParser(java.lang.String zip_file,
java.lang.String file_name)
Parse class from given .class file in a ZIP-archive |
|
| Method Summary | |
JavaClass |
parse()
Parse the given Java class file and return an object that represents the contained data, i.e., constants, methods, fields and commands. |
private void |
readAttributes()
Read information about the attributes of the class. |
private void |
readClassInfo()
Read information about the class and its super class. |
private void |
readConstantPool()
Read constant pool entries. |
private void |
readFields()
Read information about the fields of the class, i.e., its variables. |
private void |
readID()
Check whether the header of the file is ok. |
private void |
readInterfaces()
Read information about the interfaces implemented by this class. |
private void |
readMethods()
Read information about the methods of the class. |
private void |
readVersion()
Read major and minor version of compiler which created the file. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
file
private java.io.DataInputStream file
fileOwned
private boolean fileOwned
file_name
private java.lang.String file_name
zip_file
private java.lang.String zip_file
class_name_index
private int class_name_index
superclass_name_index
private int superclass_name_index
major
private int major
minor
private int minor
access_flags
private int access_flags
interfaces
private int[] interfaces
constant_pool
private ConstantPool constant_pool
fields
private Field[] fields
methods
private Method[] methods
attributes
private Attribute[] attributes
is_zip
private boolean is_zip
BUFSIZE
private static final int BUFSIZE
- See Also:
- Constant Field Values
| Constructor Detail |
ClassParser
public ClassParser(java.io.InputStream file, java.lang.String file_name)
- Parse class from the given stream.
ClassParser
public ClassParser(java.lang.String file_name) throws java.io.IOException
- Parse class from given .class file.
ClassParser
public ClassParser(java.lang.String zip_file, java.lang.String file_name)
- Parse class from given .class file in a ZIP-archive
| Method Detail |
parse
public JavaClass parse() throws java.io.IOException, ClassFormatException
- Parse the given Java class file and return an object that represents
the contained data, i.e., constants, methods, fields and commands.
A ClassFormatException is raised, if the file is not a valid
.class file. (This does not include verification of the byte code as it
is performed by the java interpreter).
readAttributes
private final void readAttributes()
throws java.io.IOException,
ClassFormatException
- Read information about the attributes of the class.
readClassInfo
private final void readClassInfo()
throws java.io.IOException,
ClassFormatException
- Read information about the class and its super class.
readConstantPool
private final void readConstantPool()
throws java.io.IOException,
ClassFormatException
- Read constant pool entries.
readFields
private final void readFields()
throws java.io.IOException,
ClassFormatException
- Read information about the fields of the class, i.e., its variables.
readID
private final void readID()
throws java.io.IOException,
ClassFormatException
- Check whether the header of the file is ok.
Of course, this has to be the first action on successive file reads.
readInterfaces
private final void readInterfaces()
throws java.io.IOException,
ClassFormatException
- Read information about the interfaces implemented by this class.
readMethods
private final void readMethods()
throws java.io.IOException,
ClassFormatException
- Read information about the methods of the class.
readVersion
private final void readVersion()
throws java.io.IOException,
ClassFormatException
- Read major and minor version of compiler which created the file.
|
|||||||||
| Home >> All >> org >> apache >> bcel >> [ classfile overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
org.apache.bcel.classfile.ClassParser