|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object soot.coffi.ClassFile
public class 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. |
soot.coffi.attribute_info[] |
attributes
Array of attribute_info objects for this class. |
int |
attributes_count
Count of attributes this class contains. |
soot.coffi.BootstrapMethods_attribute |
bootstrap_methods_attribute
bootstrap-methods attribute (if any) |
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(String nfn)
Creates a new ClassFile object given the name of the file. |
Method Summary | |
---|---|
boolean |
loadClassFile(InputStream is)
|
void |
parse()
For every method, this calls parseMethod, storing the list of Instructions in the method_info object, and also constructs the corresponding CFG. |
soot.coffi.Instruction |
parseMethod(method_info m)
Parses the given method, converting its bytecode array into a list of Instruction objects. |
protected boolean |
readAttributes(DataInputStream d,
int attributes_count,
soot.coffi.attribute_info[] ai)
Reads in the given number of attributes from the given stream. |
boolean |
readClass(DataInputStream d)
Builds the internal representation of this Class by reading in the given class file. |
protected boolean |
readConstantPool(DataInputStream d)
Reads in the constant pool from the given stream. |
protected boolean |
readFields(DataInputStream d)
Reads in the fields from the given stream. |
protected boolean |
readMethods(DataInputStream d)
Reads in the methods from the given stream. |
String |
toString()
Returns the name of this Class. |
protected boolean |
writeAttributes(DataOutputStream dd,
int attributes_count,
soot.coffi.attribute_info[] ai)
Writes the given array of attributes to the given stream. |
protected boolean |
writeConstantPool(DataOutputStream dd)
Writes the current constant pool to the given stream. |
protected boolean |
writeFields(DataOutputStream dd)
Writes the fields to the given stream. |
protected boolean |
writeMethods(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
public soot.coffi.attribute_info[] attributes
attribute_info
public soot.coffi.BootstrapMethods_attribute bootstrap_methods_attribute
Constructor Detail |
---|
public ClassFile(String nfn)
nfn
- file name which this ClassFile will represent.Method Detail |
---|
public String toString()
toString
in class Object
public boolean loadClassFile(InputStream is)
public boolean readClass(DataInputStream d)
d
- Stream forming the .class file.
protected boolean readConstantPool(DataInputStream d) throws IOException
d
- Stream forming the .class file.
IOException
- on error.protected boolean readAttributes(DataInputStream d, int attributes_count, soot.coffi.attribute_info[] ai) throws 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.
IOException
- on error.protected boolean readFields(DataInputStream d) throws IOException
d
- Stream forming the .class file.
IOException
- on error.protected boolean readMethods(DataInputStream d) throws IOException
d
- Stream forming the .class file.
IOException
- on error.protected boolean writeConstantPool(DataOutputStream dd) throws IOException
dd
- output stream.
IOException
- on error.protected boolean writeAttributes(DataOutputStream dd, int attributes_count, soot.coffi.attribute_info[] ai) throws IOException
dd
- output stream.attributes_count
- number of attributes to write.ai
- array of attributes to write.
IOException
- on error.protected boolean writeFields(DataOutputStream dd) throws IOException
dd
- output stream.
IOException
- on error.protected boolean writeMethods(DataOutputStream dd) throws IOException
dd
- output stream.
IOException
- on error.public soot.coffi.Instruction parseMethod(method_info m)
m
- method to parse.
Instruction
,
ByteCode
,
ByteCode.disassemble_bytecode(byte[], int)
public void parse()
parseMethod(soot.coffi.method_info)
,
CFG
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |