|
|
@ -32,6 +32,8 @@ public class BinaryInfo { |
|
|
|
public static final int METHODS = 0x04; |
|
|
|
public static final int METHODS = 0x04; |
|
|
|
public static final int CONSTANTS = 0x08; |
|
|
|
public static final int CONSTANTS = 0x08; |
|
|
|
public static final int ALL_ATTRIBUTES = 0x10; |
|
|
|
public static final int ALL_ATTRIBUTES = 0x10; |
|
|
|
|
|
|
|
public static final int INNERCLASSES = 0x20; |
|
|
|
|
|
|
|
public static final int OUTERCLASSES = 0x40; |
|
|
|
public static final int FULLINFO = 0xff; |
|
|
|
public static final int FULLINFO = 0xff; |
|
|
|
|
|
|
|
|
|
|
|
protected SimpleDictionary unknownAttributes; |
|
|
|
protected SimpleDictionary unknownAttributes; |
|
|
@ -60,6 +62,7 @@ public class BinaryInfo { |
|
|
|
int howMuch) throws IOException { |
|
|
|
int howMuch) throws IOException { |
|
|
|
byte[] data = new byte[length]; |
|
|
|
byte[] data = new byte[length]; |
|
|
|
input.readFully(data); |
|
|
|
input.readFully(data); |
|
|
|
|
|
|
|
if ((howMuch & ALL_ATTRIBUTES) != 0) |
|
|
|
unknownAttributes.put(name, data); |
|
|
|
unknownAttributes.put(name, data); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -117,7 +120,6 @@ public class BinaryInfo { |
|
|
|
protected void readAttributes(ConstantPool constantPool, |
|
|
|
protected void readAttributes(ConstantPool constantPool, |
|
|
|
DataInputStream input, |
|
|
|
DataInputStream input, |
|
|
|
int howMuch) throws IOException { |
|
|
|
int howMuch) throws IOException { |
|
|
|
if ((howMuch & ALL_ATTRIBUTES) != 0) { |
|
|
|
|
|
|
|
int count = input.readUnsignedShort(); |
|
|
|
int count = input.readUnsignedShort(); |
|
|
|
unknownAttributes = new SimpleDictionary(); |
|
|
|
unknownAttributes = new SimpleDictionary(); |
|
|
|
for (int i=0; i< count; i++) { |
|
|
|
for (int i=0; i< count; i++) { |
|
|
@ -131,8 +133,6 @@ public class BinaryInfo { |
|
|
|
howMuch); |
|
|
|
howMuch); |
|
|
|
constrInput.skipRemaining(); |
|
|
|
constrInput.skipRemaining(); |
|
|
|
} |
|
|
|
} |
|
|
|
} else |
|
|
|
|
|
|
|
skipAttributes(input); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
protected void prepareAttributes(GrowableConstantPool gcp) { |
|
|
|
protected void prepareAttributes(GrowableConstantPool gcp) { |
|
|
|