]> source.dussan.org Git - javassist.git/commitdiff
modified CtClass#toString()
authorchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>
Tue, 3 Aug 2004 03:02:37 +0000 (03:02 +0000)
committerchiba <chiba@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>
Tue, 3 Aug 2004 03:02:37 +0000 (03:02 +0000)
git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@121 30ef5769-5b8d-40dd-aea6-55b5d6557bb3

src/main/javassist/CtArray.java
src/main/javassist/CtClass.java
src/main/javassist/CtClassType.java
src/main/javassist/CtNewClass.java
src/main/javassist/CtPrimitiveType.java

index baf010a2814826d3d40131d27c88f0818d32ce0a..df7b84e64385d16dbbfd11df021616b878762171 100644 (file)
@@ -27,11 +27,6 @@ final class CtArray extends CtClass {
         pool = cp;
     }
 
-    protected void extendToString(StringBuffer buffer) {
-        buffer.append(" pool=");
-        buffer.append(pool);
-    }
-
     public ClassPool getClassPool() {
         return pool;
     }
index 0ef8491d0aa1987eaaa2f0316c466c2b0a5734df..f4464c14b0278bd37fa99b3224a4978625457c48 100644 (file)
@@ -168,9 +168,6 @@ public abstract class CtClass {
         buf.append("@");
         buf.append(Integer.toHexString(hashCode()));
         buf.append("[");
-        buf.append(Modifier.toString(getModifiers()));
-        buf.append(' ');
-        buf.append(getName());
         extendToString(buf);
         buf.append("]");
         return buf.toString();
@@ -180,7 +177,9 @@ 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.
      */
-    abstract protected void extendToString(StringBuffer buffer);
+    protected void extendToString(StringBuffer buffer) {
+        buffer.append(getName());
+    }
 
     /**
      * Returns a <code>ClassPool</code> for this class.
index 2949bcbad84e885784abe7e2a1bed689f61da716..5ca4b69fd222c5a8eca79df6050021f3ec53db34 100644 (file)
@@ -71,10 +71,40 @@ class CtClassType extends CtClass {
 
     protected void extendToString(StringBuffer buffer) {
         if (wasChanged)
-            buffer.append(" changed");
+            buffer.append("changed ");
 
         if (wasFrozen)
-            buffer.append(" frozen");          
+            buffer.append("frozen ");          
+
+        buffer.append(Modifier.toString(getModifiers()));
+        buffer.append(" class ");
+        buffer.append(getName());
+
+        try {
+            CtClass ext = getSuperclass();
+            if (ext != null) {
+                String name =ext.getName();
+                if (!name.equals("java.lang.Object"))
+                    buffer.append(" extends " + ext.getName());
+            }
+        }
+        catch (NotFoundException e) {
+            buffer.append(" extends ??");
+        }
+
+        try {
+            CtClass[] intf = getInterfaces();
+            if (intf.length > 0)
+                buffer.append(" implements ");
+
+            for (int i = 0; i < intf.length; ++i) {
+                buffer.append(intf[i].getName());
+                buffer.append(", ");
+            }            
+        }
+        catch (NotFoundException e) {
+            buffer.append(" extends ??");
+        }
 
         CtField field = getFieldsCache();
         buffer.append(" fields=");
index c0acc9d52e3545de0d65446e7edf8207951baf18..bfc513b8042edf45beb34e51b67544d03dd12a6c 100644 (file)
@@ -43,7 +43,7 @@ class CtNewClass extends CtClassType {
 
     protected void extendToString(StringBuffer buffer) {
         if (hasConstructor)
-            buffer.append(" hasConstructor");
+            buffer.append("hasConstructor ");
 
         super.extendToString(buffer);
     }
index ee2ee56c1152dd1b7069258d7281cad3a9ad1410..14fe57b8e89f3d39cfc4da7e6b64670359edb4c0 100644 (file)
@@ -41,8 +41,6 @@ public final class CtPrimitiveType extends CtClass {
         dataSize = size;
     }
 
-    protected void extendToString(StringBuffer buffer) {}
-
     /**
      * Returns <code>true</code> if this object represents a primitive
      * Java type: boolean, byte, char, short, int, long, float, double,