home *** CD-ROM | disk | FTP | other *** search
- package com.sfs.hardcore;
-
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
-
- public class FieldInfo {
- short accessFlags;
- ConstantPoolInfo name;
- ConstantPoolInfo signature;
- AttributeInfo[] attributes;
-
- public String toString() {
- StringBuffer var1 = new StringBuffer();
- var1.append(ClassFile.accessString(this.accessFlags));
- var1.append(ClassFile.typeString(this.signature.toString(), this.name.toString()));
- if (this.attributes != null) {
- var1.append(" = " + this.attributes[0].toString());
- }
-
- return var1.toString();
- }
-
- public String toString(ConstantPoolInfo[] var1) {
- StringBuffer var2 = new StringBuffer();
- var2.append(ClassFile.accessString(this.accessFlags));
- String var3 = ClassFile.typeString(this.signature.toString(), this.name.toString());
- var2.append(var3);
- if (this.attributes != null) {
- if (var3.startsWith("boolean")) {
- var2.append(" " + this.attributes[0].toBoolean(var1));
- } else {
- var2.append(" " + this.attributes[0].toString(var1));
- }
- }
-
- return var2.toString();
- }
-
- public boolean read(DataInputStream var1, ConstantPoolInfo[] var2) throws IOException {
- this.accessFlags = var1.readShort();
- this.name = var2[var1.readShort()];
- this.signature = var2[var1.readShort()];
- short var3 = var1.readShort();
- if (var3 != 0) {
- this.attributes = new AttributeInfo[var3];
-
- for(int var4 = 0; var4 < var3; ++var4) {
- this.attributes[var4] = new AttributeInfo();
- if (!this.attributes[var4].read(var1, var2)) {
- return false;
- }
- }
- }
-
- return true;
- }
-
- public void write(DataOutputStream var1, ConstantPoolInfo[] var2) throws IOException, Exception {
- var1.writeShort(this.accessFlags);
- var1.writeShort(ConstantPoolInfo.indexOf(this.name, var2));
- var1.writeShort(ConstantPoolInfo.indexOf(this.signature, var2));
- if (this.attributes == null) {
- var1.writeShort(0);
- } else {
- var1.writeShort(this.attributes.length);
-
- for(int var3 = 0; var3 < this.attributes.length; ++var3) {
- this.attributes[var3].write(var1, var2);
- }
-
- }
- }
- }
-