diff --git a/README.md b/README.md index b460e8c..794adb7 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,11 @@ incomplete or incorrect, please [open an issue](https://github.com/Saxonica/xmld ## Change log +* **0.15.0** Show nested classes and interfaces + + As a convenience, the list of `classref` and `interfaceref` elements in a package + now includes nested classes and interfaces. + * **0.14.0** Fixed package name The package name was sometimes (e.g., in the superclass type) diff --git a/gradle.properties b/gradle.properties index ee9c050..d657db1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -docletVersion=0.14.0 +docletVersion=0.15.0 schemaVersion=0.13.0 docletTitle=XmlDoclet docletName=xmldoclet diff --git a/xmldoclet/src/main/java/com/saxonica/xmldoclet/scanners/XmlPackage.java b/xmldoclet/src/main/java/com/saxonica/xmldoclet/scanners/XmlPackage.java index e15e196..9e6e913 100644 --- a/xmldoclet/src/main/java/com/saxonica/xmldoclet/scanners/XmlPackage.java +++ b/xmldoclet/src/main/java/com/saxonica/xmldoclet/scanners/XmlPackage.java @@ -31,6 +31,11 @@ public void scan(DocTree tree) { builder.processList("description", dcTree.getBody()); } + recursiveRefs(element); + builder.endElement("package"); + } + + public void recursiveRefs(Element element) { for (Element child : element.getEnclosedElements()) { switch (child.getKind()) { case CLASS: @@ -45,12 +50,15 @@ public void scan(DocTree tree) { case ANNOTATION_TYPE: TypeUtils.xmlType(builder, "annotationtyperef", child.asType()); break; + case FIELD: + case METHOD: + case CONSTRUCTOR: + break; default: System.err.println("Unexpected element in package: " + child); break; } + recursiveRefs(child); } - - builder.endElement("package"); } } diff --git a/xmldoclet/src/main/java/com/saxonica/xmldoclet/utils/TypeUtils.java b/xmldoclet/src/main/java/com/saxonica/xmldoclet/utils/TypeUtils.java index 6ff8443..0f1dbee 100644 --- a/xmldoclet/src/main/java/com/saxonica/xmldoclet/utils/TypeUtils.java +++ b/xmldoclet/src/main/java/com/saxonica/xmldoclet/utils/TypeUtils.java @@ -79,6 +79,7 @@ private static void declaredType(XmlProcessor builder, String wrapper, DeclaredT /** * Find the element's package. *

For nested classes, we may have to look up several times.

+ * @param element The starting element * @return the package name */ public static String getPackage(Element element) { @@ -97,7 +98,7 @@ public static String getPackage(Element element) { /** * Find the name of this type; that's our ancestor names if this is a nested class. - * @param element The element + * @param element The starting Welement * @return The type name */ public static String getType(Element element) {