Procházet zdrojové kódy

Merge pull request #382 from tim-hoffman/PR_RemoveStringBuffer

Replace StringBuffer with StringBuilder, other minor String optimizations
tags/rel_3_29_0_ga
Shigeru Chiba před 2 roky
rodič
revize
8fc31b8ea3
Žádný účet není propojen s e-mailovou adresou tvůrce revize
35 změnil soubory, kde provedl 121 přidání a 118 odebrání
  1. 3
    3
      src/main/javassist/ClassPoolTail.java
  2. 1
    1
      src/main/javassist/CtBehavior.java
  3. 5
    5
      src/main/javassist/CtClass.java
  4. 3
    3
      src/main/javassist/CtClassType.java
  5. 1
    1
      src/main/javassist/CtField.java
  6. 6
    6
      src/main/javassist/CtMember.java
  7. 1
    1
      src/main/javassist/CtNewClass.java
  8. 12
    12
      src/main/javassist/bytecode/Descriptor.java
  9. 6
    6
      src/main/javassist/bytecode/InstructionPrinter.java
  10. 1
    1
      src/main/javassist/bytecode/ParameterAnnotationsAttribute.java
  11. 20
    20
      src/main/javassist/bytecode/SignatureAttribute.java
  12. 3
    3
      src/main/javassist/bytecode/analysis/ControlFlow.java
  13. 2
    2
      src/main/javassist/bytecode/analysis/Frame.java
  14. 4
    3
      src/main/javassist/bytecode/analysis/MultiType.java
  15. 5
    4
      src/main/javassist/bytecode/annotation/Annotation.java
  16. 3
    2
      src/main/javassist/bytecode/annotation/ArrayMemberValue.java
  17. 2
    2
      src/main/javassist/bytecode/annotation/MemberValue.java
  18. 7
    7
      src/main/javassist/bytecode/stackmap/BasicBlock.java
  19. 1
    1
      src/main/javassist/bytecode/stackmap/TypeData.java
  20. 2
    2
      src/main/javassist/bytecode/stackmap/TypedBlock.java
  21. 4
    4
      src/main/javassist/compiler/CodeGen.java
  22. 2
    2
      src/main/javassist/compiler/JvstCodeGen.java
  23. 7
    7
      src/main/javassist/compiler/Lex.java
  24. 1
    1
      src/main/javassist/compiler/MemberResolver.java
  25. 3
    3
      src/main/javassist/compiler/Parser.java
  26. 2
    2
      src/main/javassist/compiler/TypeChecker.java
  27. 1
    1
      src/main/javassist/compiler/ast/ASTList.java
  28. 1
    1
      src/main/javassist/compiler/ast/ASTree.java
  29. 2
    2
      src/main/javassist/compiler/ast/Declarator.java
  30. 1
    1
      src/main/javassist/compiler/ast/Pair.java
  31. 1
    1
      src/main/javassist/convert/TransformAccessArrayField.java
  32. 1
    1
      src/main/javassist/tools/rmi/StubGenerator.java
  33. 1
    1
      src/main/javassist/tools/web/Webserver.java
  34. 3
    3
      src/main/javassist/util/proxy/ProxyFactory.java
  35. 3
    3
      src/main/javassist/util/proxy/RuntimeSupport.java

+ 3
- 3
src/main/javassist/ClassPoolTail.java Zobrazit soubor

char sep = File.separatorChar; char sep = File.separatorChar;
String filename = directory + sep String filename = directory + sep
+ classname.replace('.', sep) + ".class"; + classname.replace('.', sep) + ".class";
return new FileInputStream(filename.toString());
return new FileInputStream(filename);
} }
catch (FileNotFoundException e) {} catch (FileNotFoundException e) {}
catch (SecurityException e) {} catch (SecurityException e) {}


@Override @Override
public String toString() { public String toString() {
return jarfileURL == null ? "<null>" : jarfileURL.toString();
return jarfileURL == null ? "<null>" : jarfileURL;
} }
} }




@Override @Override
public String toString() { public String toString() {
StringBuffer buf = new StringBuffer();
StringBuilder buf = new StringBuilder();
buf.append("[class path: "); buf.append("[class path: ");
ClassPathList list = pathList; ClassPathList list = pathList;
while (list != null) { while (list != null) {

+ 1
- 1
src/main/javassist/CtBehavior.java Zobrazit soubor

} }


@Override @Override
protected void extendToString(StringBuffer buffer) {
protected void extendToString(StringBuilder buffer) {
buffer.append(' '); buffer.append(' ');
buffer.append(getName()); buffer.append(getName());
buffer.append(' '); buffer.append(' ');

+ 5
- 5
src/main/javassist/CtClass.java Zobrazit soubor

*/ */
@Override @Override
public String toString() { 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(Integer.toHexString(hashCode()));
buf.append("[");
buf.append('[');
extendToString(buf); extendToString(buf);
buf.append("]");
buf.append(']');
return buf.toString(); return buf.toString();
} }


* Implemented in subclasses to add to the {@link #toString()} result. * Implemented in subclasses to add to the {@link #toString()} result.
* Subclasses should put a space before each token added to the buffer. * 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()); buffer.append(getName());
} }



+ 3
- 3
src/main/javassist/CtClassType.java Zobrazit soubor

} }


@Override @Override
protected void extendToString(StringBuffer buffer) {
protected void extendToString(StringBuilder buffer) {
if (wasChanged) if (wasChanged)
buffer.append("changed "); buffer.append("changed ");


if (ext != null) { if (ext != null) {
String name = ext.getName(); String name = ext.getName();
if (!name.equals("java.lang.Object")) if (!name.equals("java.lang.Object"))
buffer.append(" extends " + ext.getName());
buffer.append(" extends ").append(ext.getName());
} }
} }
catch (NotFoundException e) { catch (NotFoundException e) {
memCache.methodHead(), memCache.lastMethod()); memCache.methodHead(), memCache.lastMethod());
} }


private void exToString(StringBuffer buffer, String msg,
private void exToString(StringBuilder buffer, String msg,
CtMember head, CtMember tail) { CtMember head, CtMember tail) {
buffer.append(msg); buffer.append(msg);
while (head != tail) { while (head != tail) {

+ 1
- 1
src/main/javassist/CtField.java Zobrazit soubor

} }


@Override @Override
protected void extendToString(StringBuffer buffer) {
protected void extendToString(StringBuilder buffer) {
buffer.append(' '); buffer.append(' ');
buffer.append(getName()); buffer.append(getName());
buffer.append(' '); buffer.append(' ');

+ 6
- 6
src/main/javassist/CtMember.java Zobrazit soubor

*/ */
static class Cache extends CtMember { static class Cache extends CtMember {
@Override @Override
protected void extendToString(StringBuffer buffer) {}
protected void extendToString(StringBuilder buffer) {}
@Override @Override
public boolean hasAnnotation(String clz) { return false; } public boolean hasAnnotation(String clz) { return false; }
@Override @Override


@Override @Override
public String toString() { 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(Integer.toHexString(hashCode()));
buffer.append("[");
buffer.append('[');
buffer.append(Modifier.toString(getModifiers())); buffer.append(Modifier.toString(getModifiers()));
extendToString(buffer); extendToString(buffer);
buffer.append("]");
buffer.append(']');
return buffer.toString(); return buffer.toString();
} }


* provided first; subclasses should provide additional data such * provided first; subclasses should provide additional data such
* as return type, field or method name, etc. * 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. * Returns the class that declares this member.

+ 1
- 1
src/main/javassist/CtNewClass.java Zobrazit soubor

} }


@Override @Override
protected void extendToString(StringBuffer buffer) {
protected void extendToString(StringBuilder buffer) {
if (hasConstructor) if (hasConstructor)
buffer.append("hasConstructor "); buffer.append("hasConstructor ");



+ 12
- 12
src/main/javassist/bytecode/Descriptor.java Zobrazit soubor



if (arrayDim == 0) if (arrayDim == 0)
return name; return name;
StringBuffer sbuf = new StringBuffer(name);
StringBuilder sbuf = new StringBuilder(name);
do { do {
sbuf.append("[]"); sbuf.append("[]");
} while (--arrayDim > 0); } while (--arrayDim > 0);
if (desc.indexOf(oldname) < 0) if (desc.indexOf(oldname) < 0)
return desc; return desc;


StringBuffer newdesc = new StringBuffer();
StringBuilder newdesc = new StringBuilder();
int head = 0; int head = 0;
int i = 0; int i = 0;
for (;;) { for (;;) {
if (map == null) if (map == null)
return desc; return desc;


StringBuffer newdesc = new StringBuffer();
StringBuilder newdesc = new StringBuilder();
int head = 0; int head = 0;
int i = 0; int i = 0;
for (;;) { for (;;) {
* Returns the descriptor representing the given type. * Returns the descriptor representing the given type.
*/ */
public static String of(CtClass type) { public static String of(CtClass type) {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
toDescriptor(sbuf, type); toDescriptor(sbuf, type);
return sbuf.toString(); return sbuf.toString();
} }


private static void toDescriptor(StringBuffer desc, CtClass type) {
private static void toDescriptor(StringBuilder desc, CtClass type) {
if (type.isArray()) { if (type.isArray()) {
desc.append('['); desc.append('[');
try { try {
* @param paramTypes parameter types * @param paramTypes parameter types
*/ */
public static String ofMethod(CtClass returnType, CtClass[] paramTypes) { public static String ofMethod(CtClass returnType, CtClass[] paramTypes) {
StringBuffer desc = new StringBuffer();
StringBuilder desc = new StringBuilder();
desc.append('('); desc.append('(');
if (paramTypes != null) { if (paramTypes != null) {
int n = paramTypes.length; int n = paramTypes.length;
int i = desc.indexOf(')'); int i = desc.indexOf(')');
if (i < 0) if (i < 0)
return desc; return desc;
StringBuffer newdesc = new StringBuffer();
StringBuilder newdesc = new StringBuilder();
newdesc.append(desc.substring(0, i)); newdesc.append(desc.substring(0, i));
newdesc.append('L'); newdesc.append('L');
newdesc.append(classname.replace('.', '/')); newdesc.append(classname.replace('.', '/'));
int i = descriptor.indexOf(')'); int i = descriptor.indexOf(')');
if (i < 0) if (i < 0)
return descriptor; return descriptor;
StringBuffer newdesc = new StringBuffer();
StringBuilder newdesc = new StringBuilder();
newdesc.append(descriptor.substring(0, i)); newdesc.append(descriptor.substring(0, i));
toDescriptor(newdesc, type); toDescriptor(newdesc, type);
newdesc.append(descriptor.substring(i)); newdesc.append(descriptor.substring(i));
int i = desc.indexOf(')'); int i = desc.indexOf(')');
if (i < 0) if (i < 0)
return desc; return desc;
StringBuffer newdesc = new StringBuffer();
StringBuilder newdesc = new StringBuilder();
newdesc.append(desc.substring(0, i + 1)); newdesc.append(desc.substring(0, i + 1));
newdesc.append('L'); newdesc.append('L');
newdesc.append(classname.replace('.', '/')); newdesc.append(classname.replace('.', '/'));
} }


if (arrayDim > 0) { if (arrayDim > 0) {
StringBuffer sbuf = new StringBuffer(name);
StringBuilder sbuf = new StringBuilder(name);
while (arrayDim-- > 0) while (arrayDim-- > 0)
sbuf.append("[]"); sbuf.append("[]");




static class PrettyPrinter { static class PrettyPrinter {
static String toString(String desc) { static String toString(String desc) {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
if (desc.charAt(0) == '(') { if (desc.charAt(0) == '(') {
int pos = 1; int pos = 1;
sbuf.append('('); sbuf.append('(');
return sbuf.toString(); 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); char c = desc.charAt(pos);
int arrayDim = 0; int arrayDim = 0;
while (c == '[') { while (c == '[') {

+ 6
- 6
src/main/javassist/bytecode/InstructionPrinter.java Zobrazit soubor





private static String lookupSwitch(CodeIterator iter, int pos) { 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; int index = (pos & ~3) + 4;
// default // 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 npairs = iter.s32bitAt(index += 4);
int end = npairs * 8 + (index += 4); int end = npairs * 8 + (index += 4);


for (; index < end; index += 8) { for (; index < end; index += 8) {
int match = iter.s32bitAt(index); int match = iter.s32bitAt(index);
int target = iter.s32bitAt(index + 4) + pos; 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, '}'); buffer.setCharAt(buffer.length() - 1, '}');




private static String tableSwitch(CodeIterator iter, int pos) { 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; int index = (pos & ~3) + 4;
// default // 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 low = iter.s32bitAt(index += 4);
int high = iter.s32bitAt(index += 4); int high = iter.s32bitAt(index += 4);
int end = (high - low + 1) * 4 + (index += 4); int end = (high - low + 1) * 4 + (index += 4);
// Offset table // Offset table
for (int key = low; index < end; index += 4, key++) { for (int key = low; index < end; index += 4, key++) {
int target = iter.s32bitAt(index) + pos; 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, '}'); buffer.setCharAt(buffer.length() - 1, '}');

+ 1
- 1
src/main/javassist/bytecode/ParameterAnnotationsAttribute.java Zobrazit soubor

StringBuilder sbuf = new StringBuilder(); StringBuilder sbuf = new StringBuilder();
for (Annotation[] a : aa) { for (Annotation[] a : aa) {
for (Annotation i : a) for (Annotation i : a)
sbuf.append(i.toString()).append(" ");
sbuf.append(i.toString()).append(' ');


sbuf.append(", "); sbuf.append(", ");
} }

+ 20
- 20
src/main/javassist/bytecode/SignatureAttribute.java Zobrazit soubor

*/ */
@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();


TypeParameter.toString(sbuf, params); TypeParameter.toString(sbuf, params);
sbuf.append(" extends ").append(superClass); sbuf.append(" extends ").append(superClass);
* Returns the encoded string representing the method type signature. * Returns the encoded string representing the method type signature.
*/ */
public String encode() { public String encode() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
if (params.length > 0) { if (params.length > 0) {
sbuf.append('<'); sbuf.append('<');
for (int i = 0; i < params.length; i++) for (int i = 0; i < params.length; i++)
*/ */
@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();


TypeParameter.toString(sbuf, typeParams); TypeParameter.toString(sbuf, typeParams);
sbuf.append(" ("); sbuf.append(" (");
* Returns the encoded string representing the method type signature. * Returns the encoded string representing the method type signature.
*/ */
public String encode() { public String encode() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
if (typeParams.length > 0) { if (typeParams.length > 0) {
sbuf.append('<'); sbuf.append('<');
for (int i = 0; i < typeParams.length; i++) for (int i = 0; i < typeParams.length; i++)
*/ */
@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer(getName());
StringBuilder sbuf = new StringBuilder(getName());
if (superClass != null) if (superClass != null)
sbuf.append(" extends ").append(superClass.toString()); sbuf.append(" extends ").append(superClass.toString());


return sbuf.toString(); return sbuf.toString();
} }


static void toString(StringBuffer sbuf, TypeParameter[] tp) {
static void toString(StringBuilder sbuf, TypeParameter[] tp) {
sbuf.append('<'); sbuf.append('<');
for (int i = 0; i < tp.length; i++) { for (int i = 0; i < tp.length; i++) {
if (i > 0) if (i > 0)
sbuf.append('>'); sbuf.append('>');
} }


void encode(StringBuffer sb) {
void encode(StringBuilder sb) {
sb.append(name); sb.append(name);
if (superClass == null) if (superClass == null)
sb.append(":Ljava/lang/Object;"); sb.append(":Ljava/lang/Object;");
return "? super " + type; return "? super " + type;
} }


static void encode(StringBuffer sb, TypeArgument[] args) {
static void encode(StringBuilder sb, TypeArgument[] args) {
sb.append('<'); sb.append('<');
for (int i = 0; i < args.length; i++) { for (int i = 0; i < args.length; i++) {
TypeArgument ta = args[i]; TypeArgument ta = args[i];
* Primitive types and object types. * Primitive types and object types.
*/ */
public static abstract class Type { public static abstract class Type {
abstract void encode(StringBuffer sb);
static void toString(StringBuffer sbuf, Type[] ts) {
abstract void encode(StringBuilder sb);
static void toString(StringBuilder sbuf, Type[] ts) {
for (int i = 0; i < ts.length; i++) { for (int i = 0; i < ts.length; i++) {
if (i > 0) if (i > 0)
sbuf.append(", "); sbuf.append(", ");
} }


@Override @Override
void encode(StringBuffer sb) {
void encode(StringBuilder sb) {
sb.append(descriptor); sb.append(descriptor);
} }
} }
* Returns the encoded string representing the object type signature. * Returns the encoded string representing the object type signature.
*/ */
public String encode() { public String encode() {
StringBuffer sb = new StringBuffer();
StringBuilder sb = new StringBuilder();
encode(sb); encode(sb);
return sb.toString(); return sb.toString();
} }
*/ */
@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
ClassType parent = getDeclaringClass(); ClassType parent = getDeclaringClass();
if (parent != null) if (parent != null)
sbuf.append(parent.toString()).append('.'); sbuf.append(parent.toString()).append('.');
return toString2(sbuf); return toString2(sbuf);
} }


private String toString2(StringBuffer sbuf) {
private String toString2(StringBuilder sbuf) {
sbuf.append(name); sbuf.append(name);
if (arguments != null) { if (arguments != null) {
sbuf.append('<'); sbuf.append('<');
*/ */
@Override @Override
public String jvmTypeName() { public String jvmTypeName() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
ClassType parent = getDeclaringClass(); ClassType parent = getDeclaringClass();
if (parent != null) if (parent != null)
sbuf.append(parent.jvmTypeName()).append('$'); sbuf.append(parent.jvmTypeName()).append('$');
} }


@Override @Override
void encode(StringBuffer sb) {
void encode(StringBuilder sb) {
sb.append('L'); sb.append('L');
encode2(sb); encode2(sb);
sb.append(';'); sb.append(';');
} }


void encode2(StringBuffer sb) {
void encode2(StringBuilder sb) {
ClassType parent = getDeclaringClass(); ClassType parent = getDeclaringClass();
if (parent != null) { if (parent != null) {
parent.encode2(sb); parent.encode2(sb);
*/ */
@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer(componentType.toString());
StringBuilder sbuf = new StringBuilder(componentType.toString());
for (int i = 0; i < dim; i++) for (int i = 0; i < dim; i++)
sbuf.append("[]"); sbuf.append("[]");


} }


@Override @Override
void encode(StringBuffer sb) {
void encode(StringBuilder sb) {
for (int i = 0; i < dim; i++) for (int i = 0; i < dim; i++)
sb.append('['); sb.append('[');


} }


@Override @Override
void encode(StringBuffer sb) {
void encode(StringBuilder sb) {
sb.append('T').append(name).append(';'); sb.append('T').append(name).append(';');
} }
} }

+ 3
- 3
src/main/javassist/bytecode/analysis/ControlFlow.java Zobrazit soubor

} }


@Override @Override
protected void toString2(StringBuffer sbuf) {
protected void toString2(StringBuilder sbuf) {
super.toString2(sbuf); super.toString2(sbuf);
sbuf.append(", incoming{"); sbuf.append(", incoming{");
for (int i = 0; i < entrances.length; i++) for (int i = 0; i < entrances.length; i++)
sbuf.append(entrances[i].position).append(", "); sbuf.append(entrances[i].position).append(", ");


sbuf.append("}");
sbuf.append('}');
} }


BasicBlock[] getExit() { return exit; } BasicBlock[] getExit() { return exit; }
*/ */
@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
sbuf.append("Node[pos=").append(block().position()); sbuf.append("Node[pos=").append(block().position());
sbuf.append(", parent="); sbuf.append(", parent=");
sbuf.append(parent == null ? "*" : Integer.toString(parent.block().position())); sbuf.append(parent == null ? "*" : Integer.toString(parent.block().position()));

+ 2
- 2
src/main/javassist/bytecode/analysis/Frame.java Zobrazit soubor



@Override @Override
public String toString() { public String toString() {
StringBuffer buffer = new StringBuffer();
StringBuilder buffer = new StringBuilder();


buffer.append("locals = ["); buffer.append("locals = [");
for (int i = 0; i < locals.length; i++) { for (int i = 0; i < locals.length; i++) {
if (i < top - 1) if (i < top - 1)
buffer.append(", "); buffer.append(", ");
} }
buffer.append("]");
buffer.append(']');


return buffer.toString(); return buffer.toString();
} }

+ 4
- 3
src/main/javassist/bytecode/analysis/MultiType.java Zobrazit soubor

if (resolved != null) if (resolved != null)
return resolved.toString(); return resolved.toString();


StringBuffer buffer = new StringBuffer("{");
StringBuilder buffer = new StringBuilder();
buffer.append('{');
for (String key:interfaces.keySet()) for (String key:interfaces.keySet())
buffer.append(key).append(", "); buffer.append(key).append(", ");
if (potentialClass != null) if (potentialClass != null)
buffer.append("*").append(potentialClass.toString());
buffer.append('*').append(potentialClass.toString());
else else
buffer.setLength(buffer.length() - 2); buffer.setLength(buffer.length() - 2);
buffer.append("}");
buffer.append('}');
return buffer.toString(); return buffer.toString();
} }
} }

+ 5
- 4
src/main/javassist/bytecode/annotation/Annotation.java Zobrazit soubor

*/ */
@Override @Override
public String toString() { public String toString() {
StringBuffer buf = new StringBuffer("@");
StringBuilder buf = new StringBuilder();
buf.append('@');
buf.append(getTypeName()); buf.append(getTypeName());
if (members != null) { if (members != null) {
buf.append("(");
buf.append('(');
for (String name:members.keySet()) { for (String name:members.keySet()) {
buf.append(name).append("=")
buf.append(name).append('=')
.append(getMemberValue(name)) .append(getMemberValue(name))
.append(", "); .append(", ");
} }
buf.setLength(buf.length()-2); buf.setLength(buf.length()-2);
buf.append(")");
buf.append(')');
} }


return buf.toString(); return buf.toString();

+ 3
- 2
src/main/javassist/bytecode/annotation/ArrayMemberValue.java Zobrazit soubor

*/ */
@Override @Override
public String toString() { public String toString() {
StringBuffer buf = new StringBuffer("{");
StringBuilder buf = new StringBuilder();
buf.append('{');
if (values != null) { if (values != null) {
for (int i = 0; i < values.length; i++) { for (int i = 0; i < values.length; i++) {
buf.append(values[i].toString()); buf.append(values[i].toString());
} }
} }


buf.append("}");
buf.append('}');
return buf.toString(); return buf.toString();
} }



+ 2
- 2
src/main/javassist/bytecode/annotation/MemberValue.java Zobrazit soubor

int index = classname.indexOf("[]"); int index = classname.indexOf("[]");
if (index != -1) { if (index != -1) {
String rawType = classname.substring(0, index); String rawType = classname.substring(0, index);
StringBuffer sb = new StringBuffer(Descriptor.of(rawType));
StringBuilder sb = new StringBuilder(Descriptor.of(rawType));
while (index != -1) { while (index != -1) {
sb.insert(0, "[");
sb.insert(0, '[');
index = classname.indexOf("[]", index + 1); index = classname.indexOf("[]", index + 1);
} }
return sb.toString().replace('/', '.'); return sb.toString().replace('/', '.');

+ 7
- 7
src/main/javassist/bytecode/stackmap/BasicBlock.java Zobrazit soubor



@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
String cname = this.getClass().getName(); String cname = this.getClass().getName();
int i = cname.lastIndexOf('.'); int i = cname.lastIndexOf('.');
sbuf.append(i < 0 ? cname : cname.substring(i + 1)); sbuf.append(i < 0 ? cname : cname.substring(i + 1));
sbuf.append("[");
sbuf.append('[');
toString2(sbuf); toString2(sbuf);
sbuf.append("]");
sbuf.append(']');
return sbuf.toString(); return sbuf.toString();
} }


protected void toString2(StringBuffer sbuf) {
protected void toString2(StringBuilder sbuf) {
sbuf.append("pos=").append(position).append(", len=") sbuf.append("pos=").append(position).append(", len=")
.append(length).append(", in=").append(incoming) .append(length).append(", in=").append(incoming)
.append(", exit{"); .append(", exit{");
if (exit != null) if (exit != null)
for (BasicBlock b:exit) for (BasicBlock b:exit)
sbuf.append(b.position).append(",");
sbuf.append(b.position).append(',');


sbuf.append("}, {"); sbuf.append("}, {");
Catch th = toCatch; Catch th = toCatch;
while (th != null) { while (th != null) {
sbuf.append("(").append(th.body.position).append(", ")
sbuf.append('(').append(th.body.position).append(", ")
.append(th.typeIndex).append("), "); .append(th.typeIndex).append("), ");
th = th.next; th = th.next;
} }


sbuf.append("}");
sbuf.append('}');
} }


/** /**

+ 1
- 1
src/main/javassist/bytecode/stackmap/TypeData.java Zobrazit soubor



private String fixTypes2(List<TypeData> scc, Set<String> lowersSet, ClassPool cp) throws NotFoundException { private String fixTypes2(List<TypeData> scc, Set<String> lowersSet, ClassPool cp) throws NotFoundException {
Iterator<String> it = lowersSet.iterator(); Iterator<String> it = lowersSet.iterator();
if (lowersSet.size() == 0)
if (lowersSet.isEmpty())
return null; // only NullType return null; // only NullType
else if (lowersSet.size() == 1) else if (lowersSet.size() == 1)
return it.next(); return it.next();

+ 2
- 2
src/main/javassist/bytecode/stackmap/TypedBlock.java Zobrazit soubor

} }


@Override @Override
protected void toString2(StringBuffer sbuf) {
protected void toString2(StringBuilder sbuf) {
super.toString2(sbuf); super.toString2(sbuf);
sbuf.append(",\n stack={"); sbuf.append(",\n stack={");
printTypes(sbuf, stackTop, stackTypes); printTypes(sbuf, stackTop, stackTypes);
sbuf.append('}'); sbuf.append('}');
} }


private void printTypes(StringBuffer sbuf, int size,
private void printTypes(StringBuilder sbuf, int size,
TypeData[] types) { TypeData[] types) {
if (types == null) if (types == null)
return; return;

+ 4
- 4
src/main/javassist/compiler/CodeGen.java Zobrazit soubor



if (dim == 0) if (dim == 0)
return name; return name;
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
int d = dim; int d = dim;
while (d-- > 0) while (d-- > 0)
sbuf.append('['); sbuf.append('[');
break; break;
} }


StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
while (dim-- > 0) while (dim-- > 0)
sbuf.append('['); sbuf.append('[');


boolean alwaysBranch = compileBooleanExpr(true, expr); boolean alwaysBranch = compileBooleanExpr(true, expr);
if (alwaysBranch) { if (alwaysBranch) {
bytecode.addOpcode(Opcode.GOTO); bytecode.addOpcode(Opcode.GOTO);
alwaysBranch = breakList.size() == 0;
alwaysBranch = breakList.isEmpty();
} }


bytecode.addIndex(pc2 - bytecode.currentPc() + 1); bytecode.addIndex(pc2 - bytecode.currentPc() + 1);
* must be passed to Class.forName(). * must be passed to Class.forName().
*/ */
name2 = MemberResolver.jvmToJavaName(name2); name2 = MemberResolver.jvmToJavaName(name2);
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
while (i-- >= 0) while (i-- >= 0)
sbuf.append('['); sbuf.append('[');



+ 2
- 2
src/main/javassist/compiler/JvstCodeGen.java Zobrazit soubor

/* To support $cflow(). /* To support $cflow().
*/ */
protected void atCflow(ASTList cname) throws CompileError { protected void atCflow(ASTList cname) throws CompileError {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
if (cname == null || cname.tail() != null) if (cname == null || cname.tail() != null)
throw new CompileError("bad " + cflowName); throw new CompileError("bad " + cflowName);


* <cflow> : $cflow '(' <cflow name> ')' * <cflow> : $cflow '(' <cflow name> ')'
* <cflow name> : <identifier> ('.' <identifier>)* * <cflow name> : <identifier> ('.' <identifier>)*
*/ */
private static void makeCflowName(StringBuffer sbuf, ASTree name)
private static void makeCflowName(StringBuilder sbuf, ASTree name)
throws CompileError throws CompileError
{ {
if (name instanceof Symbol) { if (name instanceof Symbol) {

+ 7
- 7
src/main/javassist/compiler/Lex.java Zobrazit soubor



public class Lex implements TokenId { public class Lex implements TokenId {
private int lastChar; private int lastChar;
private StringBuffer textBuffer;
private StringBuilder textBuffer;
private Token currentToken; private Token currentToken;
private Token lookAheadTokens; private Token lookAheadTokens;


*/ */
public Lex(String s) { public Lex(String s) {
lastChar = -1; lastChar = -1;
textBuffer = new StringBuffer();
textBuffer = new StringBuilder();
currentToken = new Token(); currentToken = new Token();
lookAheadTokens = null; lookAheadTokens = null;


else if(c == '.'){ else if(c == '.'){
c = getc(); c = getc();
if ('0' <= c && c <= '9') { if ('0' <= c && c <= '9') {
StringBuffer tbuf = textBuffer;
StringBuilder tbuf = textBuffer;
tbuf.setLength(0); tbuf.setLength(0);
tbuf.append('.'); tbuf.append('.');
return readDouble(tbuf, c, token); return readDouble(tbuf, c, token);


private int readStringL(Token token) { private int readStringL(Token token) {
int c; int c;
StringBuffer tbuf = textBuffer;
StringBuilder tbuf = textBuffer;
tbuf.setLength(0); tbuf.setLength(0);
for (;;) { for (;;) {
while ((c = getc()) != '"') { while ((c = getc()) != '"') {
} }
else if (c2 == 'E' || c2 == 'e' else if (c2 == 'E' || c2 == 'e'
|| c2 == 'D' || c2 == 'd' || c2 == '.') { || c2 == 'D' || c2 == 'd' || c2 == '.') {
StringBuffer tbuf = textBuffer;
StringBuilder tbuf = textBuffer;
tbuf.setLength(0); tbuf.setLength(0);
tbuf.append(value); tbuf.append(value);
return readDouble(tbuf, c2, token); return readDouble(tbuf, c2, token);
} }
} }


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') { if (c != 'E' && c != 'e' && c != 'D' && c != 'd') {
sbuf.append((char)c); sbuf.append((char)c);
for (;;) { for (;;) {
} }


private int readIdentifier(int c, Token token) { private int readIdentifier(int c, Token token) {
StringBuffer tbuf = textBuffer;
StringBuilder tbuf = textBuffer;
tbuf.setLength(0); tbuf.setLength(0);


do { do {

+ 1
- 1
src/main/javassist/compiler/MemberResolver.java Zobrazit soubor

int i = classname.lastIndexOf('.'); int i = classname.lastIndexOf('.');
if (notCheckInner || i < 0) if (notCheckInner || i < 0)
throw e; throw e;
StringBuffer sbuf = new StringBuffer(classname);
StringBuilder sbuf = new StringBuilder(classname);
sbuf.setCharAt(i, '$'); sbuf.setCharAt(i, '$');
classname = sbuf.toString(); classname = sbuf.toString();
} }

+ 3
- 3
src/main/javassist/compiler/Parser.java Zobrazit soubor

{ {
String cname = toClassName(className); String cname = toClassName(className);
if (dim > 0) { if (dim > 0) {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
while (dim-- > 0) while (dim-- > 0)
sbuf.append('['); sbuf.append('[');


private String toClassName(ASTree name) private String toClassName(ASTree name)
throws CompileError throws CompileError
{ {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
toClassName(name, sbuf); toClassName(name, sbuf);
return sbuf.toString(); return sbuf.toString();
} }


private void toClassName(ASTree name, StringBuffer sbuf)
private void toClassName(ASTree name, StringBuilder sbuf)
throws CompileError throws CompileError
{ {
if (name instanceof Symbol) { if (name instanceof Symbol) {

+ 2
- 2
src/main/javassist/compiler/TypeChecker.java Zobrazit soubor

*/ */
protected static String argTypesToString(int[] types, int[] dims, protected static String argTypesToString(int[] types, int[] dims,
String[] cnames) { String[] cnames) {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
sbuf.append('('); sbuf.append('(');
int n = types.length; int n = types.length;
if (n > 0) { if (n > 0) {
* Converts a tuple of exprType, arrayDim, and className * Converts a tuple of exprType, arrayDim, and className
* into a String object. * into a String object.
*/ */
protected static StringBuffer typeToString(StringBuffer sbuf,
protected static StringBuilder typeToString(StringBuilder sbuf,
int type, int dim, String cname) { int type, int dim, String cname) {
String s; String s;
if (type == CLASS) if (type == CLASS)

+ 1
- 1
src/main/javassist/compiler/ast/ASTList.java Zobrazit soubor



@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
sbuf.append("(<"); sbuf.append("(<");
sbuf.append(getTag()); sbuf.append(getTag());
sbuf.append('>'); sbuf.append('>');

+ 1
- 1
src/main/javassist/compiler/ast/ASTree.java Zobrazit soubor



@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
sbuf.append('<'); sbuf.append('<');
sbuf.append(getTag()); sbuf.append(getTag());
sbuf.append('>'); sbuf.append('>');

+ 2
- 2
src/main/javassist/compiler/ast/Declarator.java Zobrazit soubor

if (name == null) if (name == null)
return null; return null;


StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
astToClassName(sbuf, name, sep); astToClassName(sbuf, name, sep);
return sbuf.toString(); return sbuf.toString();
} }


private static void astToClassName(StringBuffer sbuf, ASTList name,
private static void astToClassName(StringBuilder sbuf, ASTList name,
char sep) { char sep) {
for (;;) { for (;;) {
ASTree h = name.head(); ASTree h = name.head();

+ 1
- 1
src/main/javassist/compiler/ast/Pair.java Zobrazit soubor



@Override @Override
public String toString() { public String toString() {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
sbuf.append("(<Pair> "); sbuf.append("(<Pair> ");
sbuf.append(left == null ? "<null>" : left.toString()); sbuf.append(left == null ? "<null>" : left.toString());
sbuf.append(" . "); sbuf.append(" . ");

+ 1
- 1
src/main/javassist/convert/TransformAccessArrayField.java Zobrazit soubor

break; break;
} }


if (methodName.equals(""))
if ("".equals(methodName))
methodName = null; methodName = null;


return methodName; return methodName;

+ 1
- 1
src/main/javassist/tools/rmi/StubGenerator.java Zobrazit soubor

if (!rtclass.isArray()) if (!rtclass.isArray())
name = rtclass.getName(); name = rtclass.getName();
else { else {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
do { do {
sbuf.append("[]"); sbuf.append("[]");
rtclass = rtclass.getComponentType(); rtclass = rtclass.getComponentType();

+ 1
- 1
src/main/javassist/tools/web/Webserver.java Zobrazit soubor

} }


private String readLine(InputStream in) throws IOException { private String readLine(InputStream in) throws IOException {
StringBuffer buf = new StringBuffer();
StringBuilder buf = new StringBuilder();
int c; int c;
while ((c = in.read()) >= 0 && c != 0x0d) while ((c = in.read()) >= 0 && c != 0x0d)
buf.append((char)c); buf.append((char)c);

+ 3
- 3
src/main/javassist/util/proxy/ProxyFactory.java Zobrazit soubor



public String getKey(Class<?> superClass, Class<?>[] interfaces, byte[] signature, boolean useWriteReplace) public String getKey(Class<?> superClass, Class<?>[] interfaces, byte[] signature, boolean useWriteReplace)
{ {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
if (superClass != null){ if (superClass != null){
sbuf.append(superClass.getName()); sbuf.append(superClass.getName());
} }
sbuf.append(":");
sbuf.append(':');
for (int i = 0; i < interfaces.length; i++) { for (int i = 0; i < interfaces.length; i++) {
sbuf.append(interfaces[i].getName()); sbuf.append(interfaces[i].getName());
sbuf.append(":");
sbuf.append(':');
} }
for (int i = 0; i < signature.length; i++) { for (int i = 0; i < signature.length; i++) {
byte b = signature[i]; byte b = signature[i];

+ 3
- 3
src/main/javassist/util/proxy/RuntimeSupport.java Zobrazit soubor

* @param retType return type. * @param retType return type.
*/ */
public static String makeDescriptor(Class<?>[] params, Class<?> retType) { public static String makeDescriptor(Class<?>[] params, Class<?> retType) {
StringBuffer sbuf = new StringBuffer();
StringBuilder sbuf = new StringBuilder();
sbuf.append('('); sbuf.append('(');
for (int i = 0; i < params.length; i++) for (int i = 0; i < params.length; i++)
makeDesc(sbuf, params[i]); makeDesc(sbuf, params[i]);
* @param retType return type. * @param retType return type.
*/ */
public static String makeDescriptor(String params, Class<?> retType) { public static String makeDescriptor(String params, Class<?> retType) {
StringBuffer sbuf = new StringBuffer(params);
StringBuilder sbuf = new StringBuilder(params);
makeDesc(sbuf, retType); makeDesc(sbuf, retType);
return sbuf.toString(); return sbuf.toString();
} }


private static void makeDesc(StringBuffer sbuf, Class<?> type) {
private static void makeDesc(StringBuilder sbuf, Class<?> type) {
if (type.isArray()) { if (type.isArray()) {
sbuf.append('['); sbuf.append('[');
makeDesc(sbuf, type.getComponentType()); makeDesc(sbuf, type.getComponentType());

Načítá se…
Zrušit
Uložit