]> source.dussan.org Git - javassist.git/commitdiff
Replace StringBuffer with StringBuilder and other minor String optimizations
authorTimothy Hoffman <4001421+tim-hoffman@users.noreply.github.com>
Fri, 16 Jul 2021 15:55:33 +0000 (10:55 -0500)
committerTimothy Hoffman <4001421+tim-hoffman@users.noreply.github.com>
Fri, 16 Jul 2021 15:55:33 +0000 (10:55 -0500)
35 files changed:
src/main/javassist/ClassPoolTail.java
src/main/javassist/CtBehavior.java
src/main/javassist/CtClass.java
src/main/javassist/CtClassType.java
src/main/javassist/CtField.java
src/main/javassist/CtMember.java
src/main/javassist/CtNewClass.java
src/main/javassist/bytecode/Descriptor.java
src/main/javassist/bytecode/InstructionPrinter.java
src/main/javassist/bytecode/ParameterAnnotationsAttribute.java
src/main/javassist/bytecode/SignatureAttribute.java
src/main/javassist/bytecode/analysis/ControlFlow.java
src/main/javassist/bytecode/analysis/Frame.java
src/main/javassist/bytecode/analysis/MultiType.java
src/main/javassist/bytecode/annotation/Annotation.java
src/main/javassist/bytecode/annotation/ArrayMemberValue.java
src/main/javassist/bytecode/annotation/MemberValue.java
src/main/javassist/bytecode/stackmap/BasicBlock.java
src/main/javassist/bytecode/stackmap/TypeData.java
src/main/javassist/bytecode/stackmap/TypedBlock.java
src/main/javassist/compiler/CodeGen.java
src/main/javassist/compiler/JvstCodeGen.java
src/main/javassist/compiler/Lex.java
src/main/javassist/compiler/MemberResolver.java
src/main/javassist/compiler/Parser.java
src/main/javassist/compiler/TypeChecker.java
src/main/javassist/compiler/ast/ASTList.java
src/main/javassist/compiler/ast/ASTree.java
src/main/javassist/compiler/ast/Declarator.java
src/main/javassist/compiler/ast/Pair.java
src/main/javassist/convert/TransformAccessArrayField.java
src/main/javassist/tools/rmi/StubGenerator.java
src/main/javassist/tools/web/Webserver.java
src/main/javassist/util/proxy/ProxyFactory.java
src/main/javassist/util/proxy/RuntimeSupport.java

index 1aa948f7686ae0e8cce7d448dac44290a153bd52..d86cd7682df0238080c7aa7dbf201d93a90e22eb 100644 (file)
@@ -54,7 +54,7 @@ final class DirClassPath implements ClassPath {
             char sep = File.separatorChar;
             String filename = directory + sep
                 + classname.replace('.', sep) + ".class";
-            return new FileInputStream(filename.toString());
+            return new FileInputStream(filename);
         }
         catch (FileNotFoundException e) {}
         catch (SecurityException e) {}
@@ -187,7 +187,7 @@ final class JarClassPath implements ClassPath {
 
     @Override
     public String toString() {
-        return jarfileURL == null ? "<null>" : jarfileURL.toString();
+        return jarfileURL == null ? "<null>" : jarfileURL;
     }
 }
 
@@ -200,7 +200,7 @@ final class ClassPoolTail {
 
     @Override
     public String toString() {
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         buf.append("[class path: ");
         ClassPathList list = pathList;
         while (list != null) {
index da7cff04727a28217a18ef2c4ad17ebb6c756314..595da505f2848ae7ae650d9cc16693c9724a75e7 100644 (file)
@@ -100,7 +100,7 @@ public abstract class CtBehavior extends CtMember {
     }
 
     @Override
-    protected void extendToString(StringBuffer buffer) {
+    protected void extendToString(StringBuilder buffer) {
         buffer.append(' ');
         buffer.append(getName());
         buffer.append(' ');
index f227019f2e41bd07c71ede4a692146224b992b21..06f8043878e48897f6da56e4d7d2357c86269183 100644 (file)
@@ -200,12 +200,12 @@ public abstract class CtClass {
      */
     @Override
     public String toString() {
-        StringBuffer buf = new StringBuffer(getClass().getName());
-        buf.append("@");
+        StringBuilder buf = new StringBuilder(getClass().getName());
+        buf.append('@');
         buf.append(Integer.toHexString(hashCode()));
-        buf.append("[");
+        buf.append('[');
         extendToString(buf);
-        buf.append("]");
+        buf.append(']');
         return buf.toString();
     }
 
@@ -213,7 +213,7 @@ public abstract class CtClass {
      * Implemented in subclasses to add to the {@link #toString()} result.
      * Subclasses should put a space before each token added to the buffer.
      */
-    protected void extendToString(StringBuffer buffer) {
+    protected void extendToString(StringBuilder buffer) {
         buffer.append(getName());
     }
 
index 959ec302073b67a844b57902101aa3bbbc8c5d5e..22b873a6921b1d8a41dcf4a3d7b466cf4c944ca2 100644 (file)
@@ -106,7 +106,7 @@ class CtClassType extends CtClass {
     }
 
     @Override
-    protected void extendToString(StringBuffer buffer) {
+    protected void extendToString(StringBuilder buffer) {
         if (wasChanged)
             buffer.append("changed ");
 
@@ -125,7 +125,7 @@ class CtClassType extends CtClass {
             if (ext != null) {
                 String name = ext.getName();
                 if (!name.equals("java.lang.Object"))
-                    buffer.append(" extends " + ext.getName());
+                    buffer.append(" extends ").append(ext.getName());
             }
         }
         catch (NotFoundException e) {
@@ -155,7 +155,7 @@ class CtClassType extends CtClass {
                    memCache.methodHead(), memCache.lastMethod());
     }
 
-    private void exToString(StringBuffer buffer, String msg,
+    private void exToString(StringBuilder buffer, String msg,
                             CtMember head, CtMember tail) {
         buffer.append(msg);
         while (head != tail) {
index 892fff82106fa299873eb985813a249270052e1c..dbcd82d5eb84dd3467d074a512e01c13319053cc 100644 (file)
@@ -128,7 +128,7 @@ public class CtField extends CtMember {
     }
 
     @Override
-    protected void extendToString(StringBuffer buffer) {
+    protected void extendToString(StringBuilder buffer) {
         buffer.append(' ');
         buffer.append(getName());
         buffer.append(' ');
index 8de480c9dd42e6ea21df750c825dfcb8de73ac16..bacfead848a7e8fdbf796cf7eaf554eaab6327d9 100644 (file)
@@ -30,7 +30,7 @@ public abstract class CtMember {
      */
     static class Cache extends CtMember {
         @Override
-        protected void extendToString(StringBuffer buffer) {}
+        protected void extendToString(StringBuilder buffer) {}
         @Override
         public boolean hasAnnotation(String clz) { return false; }
         @Override
@@ -155,13 +155,13 @@ public abstract class CtMember {
 
     @Override
     public String toString() {
-        StringBuffer buffer = new StringBuffer(getClass().getName());
-        buffer.append("@");
+        StringBuilder buffer = new StringBuilder(getClass().getName());
+        buffer.append('@');
         buffer.append(Integer.toHexString(hashCode()));
-        buffer.append("[");
+        buffer.append('[');
         buffer.append(Modifier.toString(getModifiers()));
         extendToString(buffer);
-        buffer.append("]");
+        buffer.append(']');
         return buffer.toString();
     }
 
@@ -172,7 +172,7 @@ public abstract class CtMember {
      * provided first; subclasses should provide additional data such
      * as return type, field or method name, etc.
      */
-    protected abstract void extendToString(StringBuffer buffer);
+    protected abstract void extendToString(StringBuilder buffer);
 
     /**
      * Returns the class that declares this member.
index b0a148066da40c5c2e7718ccd095e3f30362c958..496eaec71b7871fdfda27f909e56fd4a40629295 100644 (file)
@@ -45,7 +45,7 @@ class CtNewClass extends CtClassType {
     }
 
     @Override
-    protected void extendToString(StringBuffer buffer) {
+    protected void extendToString(StringBuilder buffer) {
         if (hasConstructor)
             buffer.append("hasConstructor ");
 
index fc49b876cb1b15df33a5ecb8bd0425dc3d326053..4e4fd863104bb7948d7f5fd89fb8048a03fb0510 100644 (file)
@@ -109,7 +109,7 @@ public class Descriptor {
 
         if (arrayDim == 0)
             return name;
-        StringBuffer sbuf = new StringBuffer(name);
+        StringBuilder sbuf = new StringBuilder(name);
         do {
             sbuf.append("[]");
         } while (--arrayDim > 0);
@@ -157,7 +157,7 @@ public class Descriptor {
         if (desc.indexOf(oldname) < 0)
             return desc;
 
-        StringBuffer newdesc = new StringBuffer();
+        StringBuilder newdesc = new StringBuilder();
         int head = 0;
         int i = 0;
         for (;;) {
@@ -200,7 +200,7 @@ public class Descriptor {
         if (map == null)
             return desc;
 
-        StringBuffer newdesc = new StringBuffer();
+        StringBuilder newdesc = new StringBuilder();
         int head = 0;
         int i = 0;
         for (;;) {
@@ -237,12 +237,12 @@ public class Descriptor {
      * Returns the descriptor representing the given type.
      */
     public static String of(CtClass type) {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         toDescriptor(sbuf, type);
         return sbuf.toString();
     }
 
-    private static void toDescriptor(StringBuffer desc, CtClass type) {
+    private static void toDescriptor(StringBuilder desc, CtClass type) {
         if (type.isArray()) {
             desc.append('[');
             try {
@@ -284,7 +284,7 @@ public class Descriptor {
      * @param paramTypes parameter types
      */
     public static String ofMethod(CtClass returnType, CtClass[] paramTypes) {
-        StringBuffer desc = new StringBuffer();
+        StringBuilder desc = new StringBuilder();
         desc.append('(');
         if (paramTypes != null) {
             int n = paramTypes.length;
@@ -323,7 +323,7 @@ public class Descriptor {
         int i = desc.indexOf(')');
         if (i < 0)
             return desc;
-        StringBuffer newdesc = new StringBuffer();
+        StringBuilder newdesc = new StringBuilder();
         newdesc.append(desc.substring(0, i));
         newdesc.append('L');
         newdesc.append(classname.replace('.', '/'));
@@ -361,7 +361,7 @@ public class Descriptor {
         int i = descriptor.indexOf(')');
         if (i < 0)
             return descriptor;
-        StringBuffer newdesc = new StringBuffer();
+        StringBuilder newdesc = new StringBuilder();
         newdesc.append(descriptor.substring(0, i));
         toDescriptor(newdesc, type);
         newdesc.append(descriptor.substring(i));
@@ -395,7 +395,7 @@ public class Descriptor {
         int i = desc.indexOf(')');
         if (i < 0)
             return desc;
-        StringBuffer newdesc = new StringBuffer();
+        StringBuilder newdesc = new StringBuilder();
         newdesc.append(desc.substring(0, i + 1));
         newdesc.append('L');
         newdesc.append(classname.replace('.', '/'));
@@ -561,7 +561,7 @@ public class Descriptor {
         }
 
         if (arrayDim > 0) {
-            StringBuffer sbuf = new StringBuffer(name);
+            StringBuilder sbuf = new StringBuilder(name);
             while (arrayDim-- > 0)
                 sbuf.append("[]");
 
@@ -719,7 +719,7 @@ public class Descriptor {
 
     static class PrettyPrinter {
         static String toString(String desc) {
-            StringBuffer sbuf = new StringBuffer();
+            StringBuilder sbuf = new StringBuilder();
             if (desc.charAt(0) == '(') {
                 int pos = 1;
                 sbuf.append('(');
@@ -738,7 +738,7 @@ public class Descriptor {
             return sbuf.toString();
         }
 
-        static int readType(StringBuffer sbuf, int pos, String desc) {
+        static int readType(StringBuilder sbuf, int pos, String desc) {
             char c = desc.charAt(pos);
             int arrayDim = 0;
             while (c == '[') {
index 6d18a4d44723361ce35fc06b7cb4f2457cc253ea..ae85329455ecf5a67954bbf9358f6cf1bff4087c 100644 (file)
@@ -235,17 +235,17 @@ public class InstructionPrinter implements Opcode {
 
 
     private static String lookupSwitch(CodeIterator iter, int pos) {
-        StringBuffer buffer = new StringBuffer("lookupswitch {\n");
+        StringBuilder buffer = new StringBuilder("lookupswitch {\n");
         int index = (pos & ~3) + 4;
         // default
-        buffer.append("\t\tdefault: ").append(pos + iter.s32bitAt(index)).append("\n");
+        buffer.append("\t\tdefault: ").append(pos + iter.s32bitAt(index)).append('\n');
         int npairs = iter.s32bitAt(index += 4);
         int end = npairs * 8 + (index += 4);
 
         for (; index < end; index += 8) {
             int match = iter.s32bitAt(index);
             int target = iter.s32bitAt(index + 4) + pos;
-            buffer.append("\t\t").append(match).append(": ").append(target).append("\n");
+            buffer.append("\t\t").append(match).append(": ").append(target).append('\n');
         }
 
         buffer.setCharAt(buffer.length() - 1, '}');
@@ -254,10 +254,10 @@ public class InstructionPrinter implements Opcode {
 
 
     private static String tableSwitch(CodeIterator iter, int pos) {
-        StringBuffer buffer = new StringBuffer("tableswitch {\n");
+        StringBuilder buffer = new StringBuilder("tableswitch {\n");
         int index = (pos & ~3) + 4;
         // default
-        buffer.append("\t\tdefault: ").append(pos + iter.s32bitAt(index)).append("\n");
+        buffer.append("\t\tdefault: ").append(pos + iter.s32bitAt(index)).append('\n');
         int low = iter.s32bitAt(index += 4);
         int high = iter.s32bitAt(index += 4);
         int end = (high - low + 1) * 4 + (index += 4);
@@ -265,7 +265,7 @@ public class InstructionPrinter implements Opcode {
         // Offset table
         for (int key = low; index < end; index += 4, key++) {
             int target = iter.s32bitAt(index) + pos;
-            buffer.append("\t\t").append(key).append(": ").append(target).append("\n");
+            buffer.append("\t\t").append(key).append(": ").append(target).append('\n');
         }
 
         buffer.setCharAt(buffer.length() - 1, '}');
index 49e2646f8042a1850f4031ac9cb952012623b798..ec97d18ff046a078d5304a713c7951d76bf7cb34 100644 (file)
@@ -201,7 +201,7 @@ public class ParameterAnnotationsAttribute extends AttributeInfo {
         StringBuilder sbuf = new StringBuilder();
         for (Annotation[] a : aa) {
             for (Annotation i : a)
-                sbuf.append(i.toString()).append(" ");
+                sbuf.append(i.toString()).append(' ');
 
             sbuf.append(", ");
         }
index 1a8a62dca3a4564557d09cb5d6b9c5178132ff71..4671b7871fd21995d1d47ac8e4e0a3c688a23054 100644 (file)
@@ -431,7 +431,7 @@ public class SignatureAttribute extends AttributeInfo {
          */
         @Override
         public String toString() {
-            StringBuffer sbuf = new StringBuffer(getName());
+            StringBuilder sbuf = new StringBuilder(getName());
             if (superClass != null)
                 sbuf.append(" extends ").append(superClass.toString());
 
@@ -740,7 +740,7 @@ public class SignatureAttribute extends AttributeInfo {
          */
         @Override
         public String toString() {
-            StringBuffer sbuf = new StringBuffer();
+            StringBuilder sbuf = new StringBuilder();
             ClassType parent = getDeclaringClass();
             if (parent != null)
                 sbuf.append(parent.toString()).append('.');
@@ -748,7 +748,7 @@ public class SignatureAttribute extends AttributeInfo {
             return toString2(sbuf);
         }
 
-        private String toString2(StringBuffer sbuf) {
+        private String toString2(StringBuilder sbuf) {
             sbuf.append(name);
             if (arguments != null) {
                 sbuf.append('<');
@@ -773,7 +773,7 @@ public class SignatureAttribute extends AttributeInfo {
          */
         @Override
         public String jvmTypeName() {
-            StringBuffer sbuf = new StringBuffer();
+            StringBuilder sbuf = new StringBuilder();
             ClassType parent = getDeclaringClass();
             if (parent != null)
                 sbuf.append(parent.jvmTypeName()).append('$');
@@ -868,7 +868,7 @@ public class SignatureAttribute extends AttributeInfo {
          */
         @Override
         public String toString() {
-            StringBuffer sbuf = new StringBuffer(componentType.toString());
+            StringBuilder sbuf = new StringBuilder(componentType.toString());
             for (int i = 0; i < dim; i++)
                 sbuf.append("[]");
 
index e47c00d3f2777233926d2b90d3cad62a61aa277e..46b82dbfa85a9cdcc3d93c0ffd99681a084b90b1 100644 (file)
@@ -261,13 +261,13 @@ public class ControlFlow {
         }
 
         @Override
-        protected void toString2(StringBuffer sbuf) {
+        protected void toString2(StringBuilder sbuf) {
             super.toString2(sbuf);
             sbuf.append(", incoming{");
             for (int i = 0; i < entrances.length; i++)
                     sbuf.append(entrances[i].position).append(", ");
 
-            sbuf.append("}");
+            sbuf.append('}');
         }
 
         BasicBlock[] getExit() { return exit; }
@@ -360,7 +360,7 @@ public class ControlFlow {
          */
         @Override
         public String toString() {
-            StringBuffer sbuf = new StringBuffer();
+            StringBuilder sbuf = new StringBuilder();
             sbuf.append("Node[pos=").append(block().position());
             sbuf.append(", parent=");
             sbuf.append(parent == null ? "*" : Integer.toString(parent.block().position()));
index 28c62e3506b3923ffaa2ef4cec93cd6b0c43887d..916988c263ad47c88fa2d42f0f77354874f78b08 100644 (file)
@@ -231,7 +231,7 @@ public class Frame {
 
     @Override
     public String toString() {
-        StringBuffer buffer = new StringBuffer();
+        StringBuilder buffer = new StringBuilder();
 
         buffer.append("locals = [");
         for (int i = 0; i < locals.length; i++) {
@@ -245,7 +245,7 @@ public class Frame {
             if (i < top - 1)
                 buffer.append(", ");
         }
-        buffer.append("]");
+        buffer.append(']');
 
         return buffer.toString();
     }
index a8f6fc678ebbfc49f90639eea8d929ceb6ff1888..90a50843b97dfa4857ba14b1c1123bd36591d521 100644 (file)
@@ -312,14 +312,15 @@ public class MultiType extends Type {
         if (resolved != null)
             return resolved.toString();
 
-        StringBuffer buffer = new StringBuffer("{");
+        StringBuilder buffer = new StringBuilder();
+        buffer.append('{');
         for (String key:interfaces.keySet())
             buffer.append(key).append(", ");
         if (potentialClass != null)
-            buffer.append("*").append(potentialClass.toString());
+            buffer.append('*').append(potentialClass.toString());
         else
             buffer.setLength(buffer.length() - 2);
-        buffer.append("}");
+        buffer.append('}');
         return buffer.toString();
     }
 }
index 1cec468b4101caaaecf39df71f2de5ce0e6b536d..f700f036c7b92a2411fa266022e8b49b8c8789a8 100644 (file)
@@ -210,17 +210,18 @@ public class Annotation {
      */
     @Override
     public String toString() {
-        StringBuffer buf = new StringBuffer("@");
+        StringBuilder buf = new StringBuilder();
+        buf.append('@');
         buf.append(getTypeName());
         if (members != null) {
-            buf.append("(");
+            buf.append('(');
             for (String name:members.keySet()) {
-                buf.append(name).append("=")
+                buf.append(name).append('=')
                    .append(getMemberValue(name))
                    .append(", ");
             }
             buf.setLength(buf.length()-2);
-            buf.append(")");
+            buf.append(')');
         }
 
         return buf.toString();
index d1eeb2710cceb634cea7275cc0e1c538f93c30fe..2bf1b7ace0731877741b8423a90a1fc480949eeb 100644 (file)
@@ -117,7 +117,8 @@ public class ArrayMemberValue extends MemberValue {
      */
     @Override
     public String toString() {
-        StringBuffer buf = new StringBuffer("{");
+        StringBuilder buf = new StringBuilder();
+        buf.append('{');
         if (values != null) {
             for (int i = 0; i < values.length; i++) {
                 buf.append(values[i].toString());
@@ -126,7 +127,7 @@ public class ArrayMemberValue extends MemberValue {
                 }
         }
 
-        buf.append("}");
+        buf.append('}');
         return buf.toString();
     }
 
index da99885cbdc2578fb46cf4c6ccf8441305661972..3eae5355130581c88cd0b7ca56b1ed01ec3bd778 100644 (file)
@@ -64,9 +64,9 @@ public abstract class MemberValue {
         int index = classname.indexOf("[]");
         if (index != -1) {
             String rawType = classname.substring(0, index);
-            StringBuffer sb = new StringBuffer(Descriptor.of(rawType));
+            StringBuilder sb = new StringBuilder(Descriptor.of(rawType));
             while (index != -1) {
-                sb.insert(0, "[");
+                sb.insert(0, '[');
                 index = classname.indexOf("[]", index + 1);
             }
             return sb.toString().replace('/', '.');
index 231ffc3a09df58d5ea21ce997dddffe878247841..2b32a29629bb3b0a4ecdbe8fac6257b1653a3e3a 100644 (file)
@@ -78,33 +78,33 @@ public class BasicBlock {
 
     @Override
     public String toString() {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         String cname = this.getClass().getName();
         int i = cname.lastIndexOf('.');
         sbuf.append(i < 0 ? cname : cname.substring(i + 1));
-        sbuf.append("[");
+        sbuf.append('[');
         toString2(sbuf);
-        sbuf.append("]");
+        sbuf.append(']');
         return sbuf.toString();
     }
 
-    protected void toString2(StringBuffer sbuf) {
+    protected void toString2(StringBuilder sbuf) {
         sbuf.append("pos=").append(position).append(", len=")
             .append(length).append(", in=").append(incoming)
             .append(", exit{");
         if (exit != null)
             for (BasicBlock b:exit)
-                sbuf.append(b.position).append(",");
+                sbuf.append(b.position).append(',');
 
         sbuf.append("}, {");
         Catch th = toCatch;
         while (th != null) {
-            sbuf.append("(").append(th.body.position).append(", ")
+            sbuf.append('(').append(th.body.position).append(", ")
                 .append(th.typeIndex).append("), ");
             th = th.next;
         }
 
-        sbuf.append("}");
+        sbuf.append('}');
     }
 
     /**
index 4762eb8543a264b01574d966e08c629d191457ca..c676ac799ebacd0576fabbe2e53ee4d672d454f0 100644 (file)
@@ -434,7 +434,7 @@ public abstract class TypeData {
 
         private String fixTypes2(List<TypeData> scc, Set<String> lowersSet, ClassPool cp) throws NotFoundException {
             Iterator<String> it = lowersSet.iterator();
-            if (lowersSet.size() == 0)
+            if (lowersSet.isEmpty())
                 return null;      // only NullType
             else if (lowersSet.size() == 1)
                 return it.next();
index 14fa7f225bf7a36360fc54c556a8fba149aa3f95..634c8dd0de9e2d902dbe4e09eccafed803e0f4ed 100644 (file)
@@ -59,7 +59,7 @@ public class TypedBlock extends BasicBlock {
     }
 
     @Override
-    protected void toString2(StringBuffer sbuf) {
+    protected void toString2(StringBuilder sbuf) {
         super.toString2(sbuf);
         sbuf.append(",\n stack={");
         printTypes(sbuf, stackTop, stackTypes);
@@ -68,7 +68,7 @@ public class TypedBlock extends BasicBlock {
         sbuf.append('}');
     }
 
-    private void printTypes(StringBuffer sbuf, int size,
+    private void printTypes(StringBuilder sbuf, int size,
                             TypeData[] types) {
         if (types == null)
             return;
index 3cb117197b1e3f6f0e6891e3abf1943a1f912982..e31156176aeb7f931c12e5b7deb5941b82c48633 100644 (file)
@@ -197,7 +197,7 @@ public abstract class CodeGen extends Visitor implements Opcode, TokenId {
 
         if (dim == 0)
             return name;
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         int d = dim;
         while (d-- > 0)
             sbuf.append('[');
@@ -241,7 +241,7 @@ public abstract class CodeGen extends Visitor implements Opcode, TokenId {
             break;
         }
 
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         while (dim-- > 0)
                 sbuf.append('[');
 
@@ -473,7 +473,7 @@ public abstract class CodeGen extends Visitor implements Opcode, TokenId {
         boolean alwaysBranch = compileBooleanExpr(true, expr);
         if (alwaysBranch) {
             bytecode.addOpcode(Opcode.GOTO);
-            alwaysBranch = breakList.size() == 0;
+            alwaysBranch = breakList.isEmpty();
         }
 
         bytecode.addIndex(pc2 - bytecode.currentPc() + 1);
@@ -1663,7 +1663,7 @@ public abstract class CodeGen extends Visitor implements Opcode, TokenId {
                      * must be passed to Class.forName().
                      */
                     name2 = MemberResolver.jvmToJavaName(name2);
-                    StringBuffer sbuf = new StringBuffer();
+                    StringBuilder sbuf = new StringBuilder();
                     while (i-- >= 0)
                         sbuf.append('[');
 
index 5a43d65e0b2e9e866fa5ec521ea8bb14d6366e96..714b96999e4c204c44b3f108487058c4b458ce85 100644 (file)
@@ -264,7 +264,7 @@ public class JvstCodeGen extends MemberCodeGen {
     /* To support $cflow().
      */
     protected void atCflow(ASTList cname) throws CompileError {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         if (cname == null || cname.tail() != null)
             throw new CompileError("bad " + cflowName);
 
@@ -288,7 +288,7 @@ public class JvstCodeGen extends MemberCodeGen {
      * <cflow> : $cflow '(' <cflow name> ')'
      * <cflow name> : <identifier> ('.' <identifier>)*
      */
-    private static void makeCflowName(StringBuffer sbuf, ASTree name)
+    private static void makeCflowName(StringBuilder sbuf, ASTree name)
         throws CompileError
     {
         if (name instanceof Symbol) {
index 498b22fbef91e0948650012453c6340e1b353b58..b7c39a9852821f22426f1a0d6604687ffeeba8b1 100644 (file)
@@ -27,7 +27,7 @@ class Token {
 
 public class Lex implements TokenId {
     private int lastChar;
-    private StringBuffer textBuffer;
+    private StringBuilder textBuffer;
     private Token currentToken;
     private Token lookAheadTokens;
 
@@ -40,7 +40,7 @@ public class Lex implements TokenId {
      */
     public Lex(String s) {
         lastChar = -1;
-        textBuffer = new StringBuffer();
+        textBuffer = new StringBuilder();
         currentToken = new Token();
         lookAheadTokens = null;
 
@@ -123,7 +123,7 @@ public class Lex implements TokenId {
         else if(c == '.'){
             c = getc();
             if ('0' <= c && c <= '9') {
-                StringBuffer tbuf = textBuffer;
+                StringBuilder tbuf = textBuffer;
                 tbuf.setLength(0);
                 tbuf.append('.');
                 return readDouble(tbuf, c, token);
@@ -205,7 +205,7 @@ public class Lex implements TokenId {
 
     private int readStringL(Token token) {
         int c;
-        StringBuffer tbuf = textBuffer;
+        StringBuilder tbuf = textBuffer;
         tbuf.setLength(0);
         for (;;) {
             while ((c = getc()) != '"') {
@@ -287,7 +287,7 @@ public class Lex implements TokenId {
         }
         else if (c2 == 'E' || c2 == 'e'
                  || c2 == 'D' || c2 == 'd' || c2 == '.') {
-            StringBuffer tbuf = textBuffer;
+            StringBuilder tbuf = textBuffer;
             tbuf.setLength(0);
             tbuf.append(value);
             return readDouble(tbuf, c2, token);
@@ -300,7 +300,7 @@ public class Lex implements TokenId {
         }
     }
 
-    private int readDouble(StringBuffer sbuf, int c, Token token) {
+    private int readDouble(StringBuilder sbuf, int c, Token token) {
         if (c != 'E' && c != 'e' && c != 'D' && c != 'd') {
             sbuf.append((char)c);
             for (;;) {
@@ -412,7 +412,7 @@ public class Lex implements TokenId {
     }
 
     private int readIdentifier(int c, Token token) {
-        StringBuffer tbuf = textBuffer;
+        StringBuilder tbuf = textBuffer;
         tbuf.setLength(0);
 
         do {
index 7fcd5d8a68fdb8cd78a9e60165d897593040dd06..c01974df1aac3a14f28cd1391493464442595502 100644 (file)
@@ -491,7 +491,7 @@ public class MemberResolver implements TokenId {
                 int i = classname.lastIndexOf('.');
                 if (notCheckInner || i < 0)
                     throw e;
-                StringBuffer sbuf = new StringBuffer(classname);
+                StringBuilder sbuf = new StringBuilder(classname);
                 sbuf.setCharAt(i, '$');
                 classname = sbuf.toString();
             }
index ae73fb291f19509987362f3f172b614e8e0f5b62..2b0dfd691514590e576c2efc24eb4751dccb1bc3 100644 (file)
@@ -1113,7 +1113,7 @@ public final class Parser implements TokenId {
     {
         String cname = toClassName(className);
         if (dim > 0) {
-            StringBuffer sbuf = new StringBuffer();
+            StringBuilder sbuf = new StringBuilder();
             while (dim-- > 0)
                 sbuf.append('[');
 
@@ -1199,12 +1199,12 @@ public final class Parser implements TokenId {
     private String toClassName(ASTree name)
         throws CompileError
     {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         toClassName(name, sbuf);
         return sbuf.toString();
     }
 
-    private void toClassName(ASTree name, StringBuffer sbuf)
+    private void toClassName(ASTree name, StringBuilder sbuf)
         throws CompileError
     {
         if (name instanceof Symbol) {
index ec7e3cf3a941032e411c7630186ccde9b9bfa0c3..bceba41961e2d879899f3f30ac026739f5fb630c 100644 (file)
@@ -74,7 +74,7 @@ public class TypeChecker extends Visitor implements Opcode, TokenId {
      */
     protected static String argTypesToString(int[] types, int[] dims,
                                              String[] cnames) {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         sbuf.append('(');
         int n = types.length;
         if (n > 0) {
@@ -96,7 +96,7 @@ public class TypeChecker extends Visitor implements Opcode, TokenId {
      * Converts a tuple of exprType, arrayDim, and className
      * into a String object.
      */
-    protected static StringBuffer typeToString(StringBuffer sbuf,
+    protected static StringBuilder typeToString(StringBuilder sbuf,
                                         int type, int dim, String cname) {
         String s;
         if (type == CLASS)
index 67fbd97af3f35764eb06800e5e0c8fddc10f7aca..d9232ca0485941e480a8cea35e24beb34ed18727 100644 (file)
@@ -79,7 +79,7 @@ public class ASTList extends ASTree {
 
     @Override
     public String toString() {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         sbuf.append("(<");
         sbuf.append(getTag());
         sbuf.append('>');
index 7fd05fd47050f92f8700790ab3319cab4fbbcb86..3d4dd842bef91cd665b6ca1d0e478ce0eb76da51 100644 (file)
@@ -46,7 +46,7 @@ public abstract class ASTree implements Serializable {
 
     @Override
     public String toString() {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         sbuf.append('<');
         sbuf.append(getTag());
         sbuf.append('>');
index 24170db05dbaf5fb20fe94f679521878093d713f..c29f674081af055f6cce5f9165c948a9f0762673 100644 (file)
@@ -107,12 +107,12 @@ public class Declarator extends ASTList implements TokenId {
         if (name == null)
             return null;
 
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         astToClassName(sbuf, name, sep);
         return sbuf.toString();
     }
 
-    private static void astToClassName(StringBuffer sbuf, ASTList name,
+    private static void astToClassName(StringBuilder sbuf, ASTList name,
                                        char sep) {
         for (;;) {
             ASTree h = name.head();
index 840c1145a7c5e80016b91a401e1a605dff723bd6..949028a423775ca848ecbe98c756c0c95bb20757 100644 (file)
@@ -37,7 +37,7 @@ public class Pair extends ASTree {
 
     @Override
     public String toString() {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         sbuf.append("(<Pair> ");
         sbuf.append(left == null ? "<null>" : left.toString());
         sbuf.append(" . ");
index 6dab42a561058d1d9a08c808eb44432987f787e2..b80ed0c3dc704f26f0660f113488e3b9eae309a1 100644 (file)
@@ -218,7 +218,7 @@ public final class TransformAccessArrayField extends Transformer {
             break;
         }
 
-        if (methodName.equals(""))
+        if ("".equals(methodName))
             methodName = null;
 
         return methodName;
index b0817ab5af3bfadfcfc76a7b7aba95a9b9ec4a58..a06ebc606e9fd13cab8eec491a4033da8ed582d5 100644 (file)
@@ -183,7 +183,7 @@ public class StubGenerator implements Translator {
         if (!rtclass.isArray())
             name = rtclass.getName();
         else {
-            StringBuffer sbuf = new StringBuffer();
+            StringBuilder sbuf = new StringBuilder();
             do {
                 sbuf.append("[]");
                 rtclass = rtclass.getComponentType();
index d90e8e34fd3f96db1048aa338d450b533bc32e34..99e15faf901fee3f398b32be7142f3378d681aa5 100644 (file)
@@ -222,7 +222,7 @@ public class Webserver {
     }
 
     private String readLine(InputStream in) throws IOException {
-        StringBuffer buf = new StringBuffer();
+        StringBuilder buf = new StringBuilder();
         int c;
         while ((c = in.read()) >= 0 && c != 0x0d)
             buf.append((char)c);
index 7d88e07a5365ed0d544e71968f697459ca0b83c7..2a20b2ca0b077d155c62c774ab0f7edfd9183956 100644 (file)
@@ -576,14 +576,14 @@ public class ProxyFactory {
 
     public String getKey(Class<?> superClass, Class<?>[] interfaces, byte[] signature, boolean useWriteReplace)
     {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         if (superClass != null){
             sbuf.append(superClass.getName());
         }
-        sbuf.append(":");
+        sbuf.append(':');
         for (int i = 0; i < interfaces.length; i++) {
             sbuf.append(interfaces[i].getName());
-            sbuf.append(":");
+            sbuf.append(':');
         }
         for (int i = 0; i < signature.length; i++) {
             byte b = signature[i];
index 0bd0cce967066e5589209e097e41ce8c91f0a99a..9eb1c49e4f87327eb1a7de1fc363c2ace3fb1e14 100644 (file)
@@ -198,7 +198,7 @@ public class RuntimeSupport {
      * @param retType   return type.
      */
     public static String makeDescriptor(Class<?>[] params, Class<?> retType) {
-        StringBuffer sbuf = new StringBuffer();
+        StringBuilder sbuf = new StringBuilder();
         sbuf.append('(');
         for (int i = 0; i < params.length; i++)
             makeDesc(sbuf, params[i]);
@@ -217,12 +217,12 @@ public class RuntimeSupport {
      * @param retType   return type.
      */
     public static String makeDescriptor(String params, Class<?> retType) {
-        StringBuffer sbuf = new StringBuffer(params);
+        StringBuilder sbuf = new StringBuilder(params);
         makeDesc(sbuf, retType);
         return sbuf.toString();
     }
 
-    private static void makeDesc(StringBuffer sbuf, Class<?> type) {
+    private static void makeDesc(StringBuilder sbuf, Class<?> type) {
         if (type.isArray()) {
             sbuf.append('[');
             makeDesc(sbuf, type.getComponentType());