/[Apache-SVN]/jakarta/bcel/trunk/src/java/org/apache/bcel/util/CodeHTML.java
ViewVC logotype

Diff of /jakarta/bcel/trunk/src/java/org/apache/bcel/util/CodeHTML.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- jakarta/bcel/trunk/src/java/org/apache/bcel/util/CodeHTML.java	2005/10/10 05:27:29	312565
+++ jakarta/bcel/trunk/src/java/org/apache/bcel/util/CodeHTML.java	2005/10/10 06:04:21	312566
@@ -87,7 +87,8 @@ final class CodeHTML implements org.apac
     int[]        jump_table;
     int          no_pad_bytes=0, offset;
 
-    buf = new StringBuffer("<TT>" + OPCODE_NAMES[opcode] + "</TT></TD><TD>");
+    buf = new StringBuffer(256);
+    buf.append("<TT>").append(OPCODE_NAMES[opcode]).append("</TT></TD><TD>");
 
     /* Special case: Skip (0-3) padding bytes, i.e., the
      * following bytes are 4-byte-aligned
@@ -118,16 +119,16 @@ final class CodeHTML implements org.apac
       for(int i=0; i < jump_table.length; i++) {
 	jump_table[i] = offset + bytes.readInt();
 
-	buf.append("<TH>" + (low + i) + "</TH>");
+	buf.append("<TH>").append(low + i).append("</TH>");
       }
       buf.append("<TH>default</TH></TR>\n<TR>");
 
       // Print target and default indices in second row
       for(int i=0; i < jump_table.length; i++)
-	buf.append("<TD><A HREF=\"#code" + method_number + "@" +
-		   jump_table[i] + "\">" + jump_table[i] + "</A></TD>");
-      buf.append("<TD><A HREF=\"#code" + method_number + "@" +
-		 default_offset + "\">" + default_offset + "</A></TD></TR>\n</TABLE>\n");
+	buf.append("<TD><A HREF=\"#code").append(method_number).append("@")
+		   .append(jump_table[i]).append("\">").append(jump_table[i]).append("</A></TD>");
+      buf.append("<TD><A HREF=\"#code").append(method_number).append("@")
+		 .append(default_offset).append("\">").append(default_offset).append("</A></TD></TR>\n</TABLE>\n");
 
       break;
 
@@ -146,16 +147,16 @@ final class CodeHTML implements org.apac
 	int match = bytes.readInt();
 
 	jump_table[i] = offset + bytes.readInt();
-	buf.append("<TH>" + match + "</TH>");
+	buf.append("<TH>").append(match).append("</TH>");
       }
       buf.append("<TH>default</TH></TR>\n<TR>");
 
       // Print target and default indices in second row
       for(int i=0; i < npairs; i++)
-	buf.append("<TD><A HREF=\"#code" + method_number + "@" +
-		   jump_table[i] + "\">" + jump_table[i] + "</A></TD>");
-      buf.append("<TD><A HREF=\"#code" + method_number + "@" +
-		 default_offset + "\">" + default_offset + "</A></TD></TR>\n</TABLE>\n");
+	buf.append("<TD><A HREF=\"#code").append(method_number).append("@")
+		   .append(jump_table[i]).append("\">").append(jump_table[i]).append("</A></TD>");
+      buf.append("<TD><A HREF=\"#code").append(method_number).append("@")
+		 .append(default_offset).append("\">").append(default_offset).append("</A></TD></TR>\n</TABLE>\n");
       break;
 
       /* Two address bytes + offset from start of byte stream form the
@@ -169,15 +170,16 @@ final class CodeHTML implements org.apac
 	  
       index = (int)(bytes.getIndex() + bytes.readShort() - 1);
 	  
-      buf.append("<A HREF=\"#code" + method_number + "@" + index + "\">" + index + "</A>");
+      buf.append("<A HREF=\"#code").append(method_number).append("@").append(index).append("\">")
+      		.append(index).append("</A>");
       break;
 	  
       /* Same for 32-bit wide jumps
        */
     case GOTO_W: case JSR_W:
       int windex = bytes.getIndex() + bytes.readInt() - 1;
-      buf.append("<A HREF=\"#code" + method_number + "@" + windex + "\">" +
-		 windex + "</A>");
+      buf.append("<A HREF=\"#code").append(method_number).append("@").append(windex).append("\">")
+		 .append(windex).append("</A>");
       break;
 
       /* Index byte references local variable (register)
@@ -192,7 +194,7 @@ final class CodeHTML implements org.apac
       else
 	vindex = bytes.readUnsignedByte();
 
-      buf.append("%" + vindex);
+      buf.append("%").append(vindex);
       break;
 
       /*
@@ -208,7 +210,7 @@ final class CodeHTML implements org.apac
       /* Array of basic type.
        */
     case NEWARRAY:
-      buf.append("<FONT COLOR=\"#00FF00\">" + TYPE_NAMES[bytes.readByte()] + "</FONT>");
+      buf.append("<FONT COLOR=\"#00FF00\">").append(TYPE_NAMES[bytes.readByte()]).append("</FONT>");
       break;
 
       /* Access object/class fields.
@@ -225,11 +227,11 @@ final class CodeHTML implements org.apac
       String field_name = constant_pool.constantToString(index, CONSTANT_NameAndType);
 
       if(name.equals(class_name)) { // Local field
-	buf.append("<A HREF=\"" + class_name + "_methods.html#field" + field_name +
-		   "\" TARGET=Methods>" + field_name + "</A>\n");
+	buf.append("<A HREF=\"").append(class_name).append("_methods.html#field").append(field_name)
+		   .append("\" TARGET=Methods>").append(field_name).append("</A>\n");
       }
       else
-	buf.append(constant_html.referenceConstant(class_index) + "." + field_name);
+	buf.append(constant_html.referenceConstant(class_index)).append(".").append(field_name);
 	  		
       break;
 	  
@@ -275,8 +277,8 @@ final class CodeHTML implements org.apac
       String[] args = Utility.methodSignatureArgumentTypes(signature, false);
       String   type = Utility.methodSignatureReturnType(signature, false);
 
-      buf.append(name + ".<A HREF=\"" + class_name + "_cp.html#cp" + m_index + 
-		 "\" TARGET=ConstantPool>" + str + "</A>" + "(");
+      buf.append(name).append(".<A HREF=\"").append(class_name).append("_cp.html#cp").append(m_index) 
+		 .append("\" TARGET=ConstantPool>").append(str).append("</A>").append("(");
 
       // List arguments
       for(int i=0; i < args.length; i++) {
@@ -286,7 +288,7 @@ final class CodeHTML implements org.apac
 	  buf.append(", ");
       }
       // Attach return type
-      buf.append("):" + Class2HTML.referenceType(type));
+      buf.append("):").append(Class2HTML.referenceType(type));
 
       break;
 		
@@ -295,22 +297,22 @@ final class CodeHTML implements org.apac
     case LDC_W: case LDC2_W:
       index = bytes.readShort();
 
-      buf.append("<A HREF=\"" + class_name + "_cp.html#cp" + index + 
-		 "\" TARGET=\"ConstantPool\">" +
-		 Class2HTML.toHTML(constant_pool.constantToString(index, 
+      buf.append("<A HREF=\"").append(class_name).append("_cp.html#cp").append(index) 
+		 .append("\" TARGET=\"ConstantPool\">")
+		 .append(Class2HTML.toHTML(constant_pool.constantToString(index, 
 								  constant_pool.
-								  getConstant(index).getTag()))+
-		 "</a>");
+								  getConstant(index).getTag())))
+		 .append("</a>");
       break;
 
     case LDC:
       index = bytes.readUnsignedByte();
-      buf.append("<A HREF=\"" + class_name + "_cp.html#cp" + index + 
-		 "\" TARGET=\"ConstantPool\">" +
-		 Class2HTML.toHTML(constant_pool.constantToString(index, 
+      buf.append("<A HREF=\"").append(class_name).append("_cp.html#cp").append(index) 
+		 .append("\" TARGET=\"ConstantPool\">")
+		 .append(Class2HTML.toHTML(constant_pool.constantToString(index, 
 								  constant_pool.
-								  getConstant(index).getTag()))+
-		 "</a>");
+								  getConstant(index).getTag())))
+		 .append("</a>");
       break;
 	
       /* Array of references.
@@ -326,7 +328,7 @@ final class CodeHTML implements org.apac
     case MULTIANEWARRAY:
       index = bytes.readShort();
       int dimensions = bytes.readByte();
-      buf.append(constant_html.referenceConstant(index) + ":" + dimensions + "-dimensional");
+      buf.append(constant_html.referenceConstant(index)).append(":").append(dimensions).append("-dimensional");
       break;
 
       /* Increment local variable.
@@ -341,7 +343,7 @@ final class CodeHTML implements org.apac
 	vindex   = bytes.readUnsignedByte();
 	constant = bytes.readByte();
       }
-      buf.append("%" + vindex + " " + constant);
+      buf.append("%").append(vindex).append(" ").append(constant);
       break;
 
     default:

 

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26