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