User: ara_e_w 
  Date: 02/02/24 12:33:50

  Modified:    src/xjavadoc AbstractClass.java BinaryClass.java
                        ClassDump.java ProxyClass.java SourceClass.java
                        XClass.java
  Log:
  - inner classes supported
  - call complete() on all neccessary cases
  - importedClasses/packages works again
  
  Revision  Changes    Path
  1.7       +56 -16    xjavadoc/src/xjavadoc/AbstractClass.java
  
  Index: AbstractClass.java
  ===================================================================
  RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/AbstractClass.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -r1.6 -r1.7
  --- AbstractClass.java        24 Feb 2002 04:38:56 -0000      1.6
  +++ AbstractClass.java        24 Feb 2002 20:33:49 -0000      1.7
  @@ -35,6 +35,8 @@
    */
   package xjavadoc;
   
  +import xjavadoc.XPackage;
  +
   import java.lang.reflect.Modifier;
   import java.util.*;
   import java.io.IOException;
  @@ -136,20 +138,25 @@
        /**
         * @todo-javadoc Describe the field
         */
  -     private final static XClass[] ZERO_CLASSES = new XClass[0];
  +     final static XClass[] ZERO_CLASSES = new XClass[0];
  +     /**
  +      * @todo-javadoc Describe the field
  +      */
  +     final static XField[] ZERO_FIELDS = new XField[0];
        /**
         * @todo-javadoc Describe the field
         */
  -     private final static XField[] ZERO_FIELDS = new XField[0];
  +     final static XConstructor[] ZERO_CONSTRUCTORS = new XConstructor[0];
  +
        /**
         * @todo-javadoc Describe the field
         */
  -     private final static XConstructor[] ZERO_CONSTRUCTORS = new XConstructor[0];
  +     final static XPackage[] ZERO_PACKAGES = new XPackage[0];
   
        /**
         * @todo-javadoc Describe the field
         */
  -     private final static XMethod[] ZERO_METHODS = new XMethod[0];
  +     final static XMethod[] ZERO_METHODS = new XMethod[0];
   
        /**
         * Get static reference to Log4J Logger
  @@ -387,15 +394,20 @@
         */
        public final XClass[] importedClasses() {
   
  -             for (int i = 0; i < _ximportedClasses.length; i++) {
  -                     Object imported_class = _ximportedClasses[i];
  +             if (_importedClasses == null) {
  +                     return ZERO_CLASSES;
  +             }
  +
  +             if (_ximportedClasses == null) {
  +                     _ximportedClasses = new XClass[_importedClasses.size()];
   
  -                     if (imported_class instanceof String) {
  -                             _ximportedClasses[i] = qualify((String)imported_class);
  +                     for (int i = 0; i < _importedClasses.size(); i++) {
  +                             String imported_class = 
(String)_importedClasses.get(i);
  +                             _ximportedClasses[i] = qualify(imported_class);
                        }
                }
   
  -             return (XClass[])_ximportedClasses;
  +             return _ximportedClasses;
        }
   
   
  @@ -406,20 +418,48 @@
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for return value
         */
  -     public final XPackage[] importedPackages() {
  +     public XClass[] innerClasses() {
   
  -             if (_ximportedPackages == null) {
  +             if (_innerClasses == null) {
  +                     return ZERO_CLASSES;
  +             }
  +
  +             if (_xinnerClasses == null) {
  +                     _xinnerClasses = new XClass[_innerClasses.size()];
  +
  +                     for (int i = 0; i < _innerClasses.size(); i++) {
  +                             String inner_class = (String)_innerClasses.get(i);
  +                             _xinnerClasses[i] = qualify(inner_class);
  +                     }
  +             }
  +
  +             return _xinnerClasses;
  +     }
   
  -                     for (int i = 0; i < _ximportedPackages.length; i++) {
  -                             Object imported_package = _ximportedPackages[i];
   
  -                             if (imported_package instanceof String) {
  -                                     _ximportedPackages[i] = 
XJavaDoc.getInstance().addPackageMaybe((String)imported_package);
  +     /**
  +      * Describe what the method does
  +      *
  +      * @return Describe the return value
  +      * @todo-javadoc Write javadocs for method
  +      * @todo-javadoc Write javadocs for return value
  +      */
  +     public final XPackage[] importedPackages() {
  +
  +             if (_importedPackages == null) {
  +                     return ZERO_PACKAGES;
                                }
  +
  +             if (_ximportedPackages == null) {
  +                     _ximportedPackages = new XPackage[_importedPackages.size()];
  +
  +                     for (int i = 0; i < _importedPackages.size(); i++) {
  +                             String imported_package = 
(String)_importedPackages.get(i);
  +                             _ximportedPackages[i] = 
XJavaDoc.getInstance().addPackageMaybe(imported_package);
                        }
                }
   
  -             return (XPackage[])_ximportedPackages;
  +             return _ximportedPackages;
        }
   
   
  
  
  
  1.6       +12 -0     xjavadoc/src/xjavadoc/BinaryClass.java
  
  Index: BinaryClass.java
  ===================================================================
  RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/BinaryClass.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -w -r1.5 -r1.6
  --- BinaryClass.java  24 Feb 2002 04:38:56 -0000      1.5
  +++ BinaryClass.java  24 Feb 2002 20:33:50 -0000      1.6
  @@ -99,6 +99,18 @@
        /**
         * Describe what the method does
         *
  +      * @return Describe the return value
  +      * @todo-javadoc Write javadocs for method
  +      * @todo-javadoc Write javadocs for return value
  +      */
  +     public XClass[] innerClasses() {
  +             return ZERO_CLASSES;
  +     }
  +
  +
  +     /**
  +      * Describe what the method does
  +      *
         * @todo-javadoc Write javadocs for method
         */
        protected void complete() {
  
  
  
  1.9       +7 -1      xjavadoc/src/xjavadoc/ClassDump.java
  
  Index: ClassDump.java
  ===================================================================
  RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/ClassDump.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -r1.8 -r1.9
  --- ClassDump.java    24 Feb 2002 04:38:56 -0000      1.8
  +++ ClassDump.java    24 Feb 2002 20:33:50 -0000      1.9
  @@ -44,7 +44,7 @@
    * @author Ara Abrahamian ([EMAIL PROTECTED])
    * @author <a href="mailto:[EMAIL PROTECTED]";>Aslak Helles�y</a>
    * @created Feb 2, 2002
  - * @version $Revision: 1.8 $
  + * @version $Revision: 1.9 $
    */
   public class ClassDump extends Task {
   
  @@ -163,6 +163,12 @@
                        System.out.println("method=" + method);
   //                   System.out.println("method.returnType().qualifiedName()=" + 
method.returnType().qualifiedName());
   //                   System.out.println("method.signature()=" + method.signature());
  +             }
  +
  +             XClass[] inner_classes = clazz.innerClasses();
  +             for (int i = 0; i < inner_classes.length; i++) {
  +                     XClass inner = inner_classes[i];
  +                     dumpClass(inner);
                }
   
                if (!clazz.qualifiedName().equals("java.lang.Object")) {
  
  
  
  1.6       +15 -2     xjavadoc/src/xjavadoc/ProxyClass.java
  
  Index: ProxyClass.java
  ===================================================================
  RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/ProxyClass.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -w -r1.5 -r1.6
  --- ProxyClass.java   24 Feb 2002 04:38:56 -0000      1.5
  +++ ProxyClass.java   24 Feb 2002 20:33:50 -0000      1.6
  @@ -242,7 +242,7 @@
         * @todo-javadoc Write javadocs for return value
         */
        public XClass containingClass() {
  -             resolve();
  +             //resolve();
                return _subject.containingClass();
        }
   
  @@ -254,6 +254,19 @@
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for return value
         */
  +     public XClass[] innerClasses() {
  +             resolve();
  +             return _subject.innerClasses();
  +     }
  +
  +
  +     /**
  +      * Describe what the method does
  +      *
  +      * @return Describe the return value
  +      * @todo-javadoc Write javadocs for method
  +      * @todo-javadoc Write javadocs for return value
  +      */
        public String name() {
                resolve();
                return _subject.name();
  @@ -268,7 +281,7 @@
         * @todo-javadoc Write javadocs for return value
         */
        public XPackage containingPackage() {
  -             resolve();
  +             //resolve();
                return _subject.containingPackage();
        }
   
  
  
  
  1.7       +12 -10    xjavadoc/src/xjavadoc/SourceClass.java
  
  Index: SourceClass.java
  ===================================================================
  RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/SourceClass.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -w -r1.6 -r1.7
  --- SourceClass.java  24 Feb 2002 04:38:56 -0000      1.6
  +++ SourceClass.java  24 Feb 2002 20:33:50 -0000      1.7
  @@ -227,6 +227,7 @@
         * @todo-javadoc Write javadocs for return value
         */
        protected void complete() {
  +             if (containingClass() == null) {
                if (!_isParseCompleted) {
                        // wake up the waiting parser thread
                        synchronized (getParseLock()) {
  @@ -240,6 +241,7 @@
                                }
                        }
                        _isParseCompleted = true;
  +                     }
                }
        }
   
  
  
  
  1.16      +9 -0      xjavadoc/src/xjavadoc/XClass.java
  
  Index: XClass.java
  ===================================================================
  RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XClass.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -w -r1.15 -r1.16
  --- XClass.java       24 Feb 2002 04:38:56 -0000      1.15
  +++ XClass.java       24 Feb 2002 20:33:50 -0000      1.16
  @@ -144,6 +144,15 @@
        public XClass[] importedClasses();
   
   
  +     /**
  +      * Describe what the method does
  +      *
  +      * @return Describe the return value
  +      * @todo-javadoc Write javadocs for method
  +      * @todo-javadoc Write javadocs for return value
  +      */
  +     public XClass[] innerClasses();
  +
   
        /**
         * Describe what the method does
  
  
  

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to