Bläddra i källkod

formatted

tags/V1_6_6
aclement 14 år sedan
förälder
incheckning
136fe84334
1 ändrade filer med 52 tillägg och 28 borttagningar
  1. 52
    28
      bcel-builder/src/org/aspectj/apache/bcel/classfile/Utility.java

+ 52
- 28
bcel-builder/src/org/aspectj/apache/bcel/classfile/Utility.java Visa fil

@@ -75,7 +75,7 @@ import org.aspectj.apache.bcel.util.ByteSequence;
/**
* Utility functions that do not really belong to any class in particular.
*
* @version $Id: Utility.java,v 1.12 2009/09/15 19:40:13 aclement Exp $
* @version $Id: Utility.java,v 1.13 2009/09/28 16:35:18 aclement Exp $
* @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
*
* modified: Andy Clement 2-mar-05 Removed unnecessary static and optimized
@@ -117,8 +117,9 @@ public abstract class Utility {
p = pow2(i);
if ((access_flags & p) != 0) {
// Special case: see comment at top of class...
if (for_class && ((p == Constants.ACC_SUPER) || (p == Constants.ACC_INTERFACE)))
if (for_class && ((p == Constants.ACC_SUPER) || (p == Constants.ACC_INTERFACE))) {
continue;
}
buf.append(Constants.ACCESS_NAMES[i]).append(" ");
}
}
@@ -148,9 +149,10 @@ public abstract class Utility {
ByteSequence stream = new ByteSequence(code);

try {
for (int i = 0; i < index; i++)
for (int i = 0; i < index; i++) {
// Skip `index' lines of code
codeToString(stream, constant_pool, verbose);
}

for (int i = 0; stream.available() > 0; i++) {
if ((length < 0) || (i < length)) {
@@ -246,8 +248,9 @@ public abstract class Utility {
int var_index = (access.indexOf("static") >= 0) ? 0 : 1;

try { // Read all declarations between for `(' and `)'
if (signature.charAt(0) != '(')
if (signature.charAt(0) != '(') {
throw new ClassFormatException("Invalid method signature: " + signature);
}

index = 1; // current string position

@@ -259,15 +262,18 @@ public abstract class Utility {
if (vars != null) {
LocalVariable l = vars.getLocalVariable(var_index);

if (l != null)
if (l != null) {
buf.append(" " + l.getName());
} else
}
} else {
buf.append(" arg" + var_index);
}

if ("double".equals(param_type) || "long".equals(param_type))
if ("double".equals(param_type) || "long".equals(param_type)) {
var_index += 2;
else
} else {
var_index++;
}

buf.append(", ");
index += rh.getConsumedChars();
@@ -282,8 +288,9 @@ public abstract class Utility {
throw new ClassFormatException("Invalid method signature: " + signature);
}

if (buf.length() > 1) // Tack off the extra ", "
if (buf.length() > 1) {
buf.setLength(buf.length() - 2);
}

buf.append(")");

@@ -367,8 +374,9 @@ public abstract class Utility {
index = index + 2;
}

if (index < 0)
if (index < 0) {
throw new ClassFormatException("Invalid signature: " + signature);
}

int genericStart = signature.indexOf('<');
int genericEnd = signature.indexOf('>');
@@ -457,13 +465,15 @@ public abstract class Utility {
String hex = Integer.toString(b, 0x10);

// Just one digit, so prepend 0
if (b < 0x10)
if (b < 0x10) {
buf.append('0');
}

buf.append(hex);

if (i < bytes.length - 1)
if (i < bytes.length - 1) {
buf.append(' ');
}
}

return buf.toString();
@@ -495,13 +505,15 @@ public abstract class Utility {
int len = length - str.length();
char[] buf = new char[(len < 0) ? 0 : len];

for (int j = 0; j < buf.length; j++)
for (int j = 0; j < buf.length; j++) {
buf[j] = fill;
}

if (left_justify)
if (left_justify) {
return str + new String(buf);
else
} else {
return new String(buf) + str;
}
}

/**
@@ -545,8 +557,9 @@ public abstract class Utility {
*/
public static Collection<RuntimeAnnos> getAnnotationAttributes(ConstantPool cp, List<AnnotationGen> annotations) {

if (annotations.size() == 0)
if (annotations.size() == 0) {
return null;
}

try {
int countVisible = 0;
@@ -571,10 +584,11 @@ public abstract class Utility {

// put the annotations in the right output stream
for (AnnotationGen a : annotations) {
if (a.isRuntimeVisible())
if (a.isRuntimeVisible()) {
a.dump(rvaDos);
else
} else {
a.dump(riaDos);
}
}

rvaDos.close();
@@ -586,10 +600,12 @@ public abstract class Utility {
int rvaIndex = -1;
int riaIndex = -1;

if (rvaData.length > 2)
if (rvaData.length > 2) {
rvaIndex = cp.addUtf8("RuntimeVisibleAnnotations");
if (riaData.length > 2)
}
if (riaData.length > 2) {
riaIndex = cp.addUtf8("RuntimeInvisibleAnnotations");
}

List<RuntimeAnnos> newAttributes = new ArrayList<RuntimeAnnos>();
if (rvaData.length > 2) {
@@ -645,8 +661,9 @@ public abstract class Utility {
if (visCount[i] > 0) {
List<AnnotationGen> l = vec[i];
for (AnnotationGen element : l) {
if (element.isRuntimeVisible())
if (element.isRuntimeVisible()) {
element.dump(rvaDos);
}
}
}
}
@@ -662,8 +679,9 @@ public abstract class Utility {
if (invisCount[i] > 0) {
List<AnnotationGen> l = vec[i];
for (AnnotationGen element : l) {
if (!element.isRuntimeVisible())
if (!element.isRuntimeVisible()) {
element.dump(riaDos);
}
}
}
}
@@ -675,10 +693,12 @@ public abstract class Utility {
int rvaIndex = -1;
int riaIndex = -1;

if (totalVisCount > 0)
if (totalVisCount > 0) {
rvaIndex = cp.addUtf8("RuntimeVisibleParameterAnnotations");
if (totalInvisCount > 0)
}
if (totalInvisCount > 0) {
riaIndex = cp.addUtf8("RuntimeInvisibleParameterAnnotations");
}

List<RuntimeParamAnnos> newAttributes = new ArrayList<RuntimeParamAnnos>();

@@ -820,8 +840,9 @@ public abstract class Utility {

for (int i = 0; i < no_pad_bytes; i++) {
byte b = bytes.readByte();
if (b != 0)
if (b != 0) {
System.err.println("Warning: Padding byte != 0 in " + Constants.OPCODE_NAMES[opcode] + ":" + b);
}
}

// Both cases have a field default_offset in common
@@ -845,8 +866,9 @@ public abstract class Utility {
for (int i = 0; i < jump_table.length; i++) {
jump_table[i] = offset + bytes.readInt();
buf.append(jump_table[i]);
if (i < jump_table.length - 1)
if (i < jump_table.length - 1) {
buf.append(", ");
}
}
buf.append(")");
break;
@@ -869,8 +891,9 @@ public abstract class Utility {
match[i] = bytes.readInt();
jump_table[i] = offset + bytes.readInt();
buf.append("(" + match[i] + ", " + jump_table[i] + ")");
if (i < npairs - 1)
if (i < npairs - 1) {
buf.append(", ");
}
}
buf.append(")");
}
@@ -919,8 +942,9 @@ public abstract class Utility {
if (wide) {
vindex = bytes.readUnsignedShort();
wide = false; // Clear flag
} else
} else {
vindex = bytes.readUnsignedByte();
}
buf.append("\t\t%" + vindex);
break;


Laddar…
Avbryt
Spara