User: rinkrank
Date: 02/03/25 16:16:41
Modified: src/xjavadoc AbstractClass.java NoopDoclet.java
ProxyClass.java SourceClass.java XPackage.java
Log:
-Fixed a bug where classes weren't added to packages
-Fixed Constructor.name() (It used to return class' qualifiedName, which was bad)
Revision Changes Path
1.15 +25 -11 xjavadoc/src/xjavadoc/AbstractClass.java
Index: AbstractClass.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/AbstractClass.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -w -r1.14 -r1.15
--- AbstractClass.java 17 Mar 2002 20:44:34 -0000 1.14
+++ AbstractClass.java 26 Mar 2002 00:16:41 -0000 1.15
@@ -170,19 +170,12 @@
/**
* Sets the ContainingPackage attribute of the AbstractProgramElement object
*
+ * @todo we can remove this sanity check I think (small speed optimiser)
* @param containingPackage The new ContainingPackage value
*/
public final void setContainingPackage(String containingPackage) {
// Do a sanity check
- String packageName = null;
- int lastDotIndex = qualifiedName().lastIndexOf('.');
- if (lastDotIndex == -1) {
- // default package
- packageName = "";
- }
- else {
- packageName = qualifiedName().substring(0, lastDotIndex);
- }
+ String packageName = packageNameFor(qualifiedName());
if (!packageName.equals(containingPackage)) {
throw new IllegalStateException("Package mismatch. In source:
" + containingPackage + ", from class name/file name: " + packageName);
}
@@ -618,11 +611,9 @@
* @todo-javadoc Write javadocs for return value
*/
public final boolean implementsInterface(String interfaceName) {
- System.out.println(qualifiedName() + " implements " + interfaceName +
" ?");
boolean result = false;
XClass[] interfaces = interfaces();
for (int i = interfaces.length - 1; i >= 0; i--) {
- System.out.println(qualifiedName() + " IMPLEMENTS " +
interfaces[i].qualifiedName());
if (interfaces[i].qualifiedName().equals(interfaceName)) {
result = true;
break;
@@ -864,4 +855,27 @@
* This method completes the class' fields, constructors and methods.
*/
protected abstract void complete();
+
+
+ /**
+ * Describe what the method does
+ *
+ * @param qualifiedName Describe what the parameter does
+ * @return Describe the return value
+ * @todo-javadoc Write javadocs for method
+ * @todo-javadoc Write javadocs for method parameter
+ * @todo-javadoc Write javadocs for return value
+ */
+ static String packageNameFor(String qualifiedName) {
+ String packageName = null;
+ int lastDotIndex = qualifiedName.lastIndexOf('.');
+ if (lastDotIndex == -1) {
+ // default package
+ packageName = "";
+ }
+ else {
+ packageName = qualifiedName.substring(0, lastDotIndex);
+ }
+ return packageName;
+ }
}
1.2 +1 -0 xjavadoc/src/xjavadoc/NoopDoclet.java
Index: NoopDoclet.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/NoopDoclet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- NoopDoclet.java 20 Feb 2002 00:12:01 -0000 1.1
+++ NoopDoclet.java 26 Mar 2002 00:16:41 -0000 1.2
@@ -42,6 +42,7 @@
* @author Aslak Helles�y
* @created 19. februar 2002
* @todo-javadoc Write javadocs
+ * @todo remove this class. It waqs only used for benchmarking
*/
public class NoopDoclet extends Doclet {
1.15 +3 -0 xjavadoc/src/xjavadoc/ProxyClass.java
Index: ProxyClass.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/ProxyClass.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -w -r1.14 -r1.15
--- ProxyClass.java 17 Mar 2002 20:43:27 -0000 1.14
+++ ProxyClass.java 26 Mar 2002 00:16:41 -0000 1.15
@@ -85,6 +85,8 @@
public ProxyClass(String qualifiedName, boolean useNodeParser) {
_qualifiedName = qualifiedName;
_useNodeParser = useNodeParser;
+ String packageName = AbstractClass.packageNameFor(qualifiedName);
+ XJavaDoc.getInstance().addPackageMaybe(packageName).addClass(this);
instanceCount++;
}
@@ -238,6 +240,7 @@
* @todo-javadoc Write javadocs for return value
*/
public long lastModified() {
+ resolve();
return _subject.lastModified();
}
1.17 +3 -3 xjavadoc/src/xjavadoc/SourceClass.java
Index: SourceClass.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/SourceClass.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -w -r1.16 -r1.17
--- SourceClass.java 25 Mar 2002 21:16:17 -0000 1.16
+++ SourceClass.java 26 Mar 2002 00:16:41 -0000 1.17
@@ -110,6 +110,8 @@
// That's tough. Shouldn't happen
throw new IllegalStateException("Couldn't find source
for " + qualifiedName + " at " + sourceFile.getAbsolutePath());
}
+ String packageName =
AbstractClass.packageNameFor(qualifiedName);
+
XJavaDoc.getInstance().addPackageMaybe(packageName).addClass(this);
}
else {
// only to satisfy compiler. will never be returned.
@@ -138,10 +140,7 @@
if (containingClass() != null) {
setQualifiedName(containingClass().qualifiedName() + "." +
name);
name = containingClass().name() + "." + name;
-
- System.out.println("INNER:" + name);
}
-
super.setName(name);
}
@@ -196,6 +195,7 @@
/**
* Describe what the method does
*
+ * @todo do something if we get exceptions here.
* @param useNodeParser Describe what the parameter does
* @todo-javadoc Write javadocs for method parameter
* @todo-javadoc Write javadocs for method parameter
1.8 +21 -1 xjavadoc/src/xjavadoc/XPackage.java
Index: XPackage.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/XPackage.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -w -r1.7 -r1.8
--- XPackage.java 1 Mar 2002 10:44:39 -0000 1.7
+++ XPackage.java 26 Mar 2002 00:16:41 -0000 1.8
@@ -44,7 +44,7 @@
* @created 3. januar 2002
* @todo-javadoc Write javadocs
*/
-public class XPackage {
+public class XPackage implements Comparable {
/**
* @todo-javadoc Describe the field
@@ -118,6 +118,21 @@
/**
+ * Describe what the method does
+ *
+ * @param o Describe what the parameter does
+ * @return Describe the return value
+ * @todo-javadoc Write javadocs for method
+ * @todo-javadoc Write javadocs for method parameter
+ * @todo-javadoc Write javadocs for return value
+ */
+ public int compareTo(Object o) {
+ XPackage other = (XPackage)o;
+ return name().compareTo(other.name());
+ }
+
+
+ /**
* Describe the method
*
* @param clazz Describe the method parameter
@@ -126,6 +141,11 @@
* @todo-javadoc Describe the method parameter
*/
void addClass(XClass clazz) {
+ // This is to avoid dupes. There might be a proxy already in there.
Remove it
+ // if a real class comes after..
+ if (_classes.contains(clazz)) {
+ _classes.remove(clazz);
+ }
_classes.add(clazz);
}
}
_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel