|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--soot.coffi.ClassFile
A ClassFile object represents the contents of a .class file.
A ClassFile contains code for manipulation of its constituents.
Field Summary | |
int |
access_flags
Access flags for this Class. |
int |
attributes_count
Count of attributes this class contains. |
soot.coffi.cp_info[] |
constant_pool
Array of constant pool items. |
int |
constant_pool_count
Number of items in the constant pool. |
field_info[] |
fields
Array of field_info objects describing each field. |
int |
fields_count
Count of fields this Class contains. |
int[] |
interfaces
Array of constant pool indices of Class constants describing each interace implemented by this class, as given in the source for this class. |
int |
interfaces_count
Count of interfaces implemented. |
method_info[] |
methods
Array of method_info objects describing each field. |
int |
methods_count
Count of methods this Class contains. |
int |
super_class
Constant pool index of the Class constant describing super. |
int |
this_class
Constant pool index of the Class constant describing this. |
Constructor Summary | |
ClassFile(java.lang.String nfn)
Creates a new ClassFile object given the name of the file. |
Method Summary | |
boolean |
loadClassFile()
Main entry point for reading in a class file. |
boolean |
loadClassFile(java.io.InputStream is)
|
soot.coffi.Instruction |
parseMethod(method_info m)
Parses the given method, converting its bytecode array into a list of Instruction objects. |
protected boolean |
readAttributes(java.io.DataInputStream d,
int attributes_count,
soot.coffi.attribute_info[] ai)
Reads in the given number of attributes from the given stream. |
boolean |
readClass(java.io.DataInputStream d)
Builds the internal representation of this Class by reading in the given class file. |
protected boolean |
readConstantPool(java.io.DataInputStream d)
Reads in the constant pool from the given stream. |
protected boolean |
readFields(java.io.DataInputStream d)
Reads in the fields from the given stream. |
protected boolean |
readMethods(java.io.DataInputStream d)
Reads in the methods from the given stream. |
java.lang.String |
toString()
Returns the name of this Class. |
protected boolean |
writeAttributes(java.io.DataOutputStream dd,
int attributes_count,
soot.coffi.attribute_info[] ai)
Writes the given array of attributes to the given stream. |
protected boolean |
writeConstantPool(java.io.DataOutputStream dd)
Writes the current constant pool to the given stream. |
protected boolean |
writeFields(java.io.DataOutputStream dd)
Writes the fields to the given stream. |
protected boolean |
writeMethods(java.io.DataOutputStream dd)
Writes the methods to the given stream. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
public int constant_pool_count
public soot.coffi.cp_info[] constant_pool
cp_info
public int access_flags
public int this_class
CONSTANT_Class_info
public int super_class
CONSTANT_Class_info
public int interfaces_count
public int[] interfaces
CONSTANT_Class_info
public int fields_count
public field_info[] fields
field_info
public int methods_count
public method_info[] methods
method_info
public int attributes_count
Constructor Detail |
public ClassFile(java.lang.String nfn)
nfn
- file name which this ClassFile will represent.Method Detail |
public java.lang.String toString()
public boolean loadClassFile()
public boolean loadClassFile(java.io.InputStream is)
public boolean readClass(java.io.DataInputStream d)
d
- Stream forming the .class file.protected boolean readConstantPool(java.io.DataInputStream d) throws java.io.IOException
d
- Stream forming the .class file.protected boolean readAttributes(java.io.DataInputStream d, int attributes_count, soot.coffi.attribute_info[] ai) throws java.io.IOException
d
- Stream forming the .class file.attributes_count
- number of attributes to read in.ai
- pre-allocated array of attributes to be filled in.protected boolean readFields(java.io.DataInputStream d) throws java.io.IOException
d
- Stream forming the .class file.protected boolean readMethods(java.io.DataInputStream d) throws java.io.IOException
d
- Stream forming the .class file.protected boolean writeConstantPool(java.io.DataOutputStream dd) throws java.io.IOException
dd
- output stream.protected boolean writeAttributes(java.io.DataOutputStream dd, int attributes_count, soot.coffi.attribute_info[] ai) throws java.io.IOException
dd
- output stream.attributes_count
- number of attributes to write.ai
- array of attributes to write.protected boolean writeFields(java.io.DataOutputStream dd) throws java.io.IOException
dd
- output stream.protected boolean writeMethods(java.io.DataOutputStream dd) throws java.io.IOException
dd
- output stream.public soot.coffi.Instruction parseMethod(method_info m)
m
- method to parse.Instruction
,
ByteCode
,
ByteCode.disassemble_bytecode(byte[], int)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |