Add fields to EZT doclet output

Review at http://gwt-code-reviews.appspot.com/1372801

Review by: doog@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9782 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/build-tools/doctool/src/com/google/doctool/custom/EztDoclet.java b/build-tools/doctool/src/com/google/doctool/custom/EztDoclet.java
index b19f9fe..4f28714 100644
--- a/build-tools/doctool/src/com/google/doctool/custom/EztDoclet.java
+++ b/build-tools/doctool/src/com/google/doctool/custom/EztDoclet.java
@@ -19,6 +19,7 @@
 import com.sun.javadoc.ClassDoc;
 import com.sun.javadoc.DocErrorReporter;
 import com.sun.javadoc.ExecutableMemberDoc;
+import com.sun.javadoc.FieldDoc;
 import com.sun.javadoc.PackageDoc;
 import com.sun.javadoc.RootDoc;
 
@@ -86,6 +87,19 @@
     return true;
   }
 
+  private String createFieldList(Collection<FieldDoc> fields) {
+    StringBuffer buffer = new StringBuffer();
+    Iterator<FieldDoc> iter = fields.iterator();
+    while (iter.hasNext()) {
+      FieldDoc field = iter.next();
+      buffer.append(field.name());
+      if (iter.hasNext()) {
+        buffer.append(", ");
+      }
+    }
+    return buffer.toString();
+  }
+
   private String createMemberList(Collection<ExecutableMemberDoc> members) {
     StringBuffer buffer = new StringBuffer();
     Iterator<ExecutableMemberDoc> iter = members.iterator();
@@ -136,6 +150,14 @@
           pw.format("  <dt><a href=\"%s%s.html\">%s</a></dt>\n", packURL,
               cls.name(), cls.name());
 
+          // Print out all fields
+          Collection<FieldDoc> fields = new ArrayList<FieldDoc>();
+          fields.addAll(Arrays.asList(cls.fields(true)));
+
+          if (!fields.isEmpty()) {
+            pw.format("  <dd>%s</dd><br>\n", createFieldList(fields));
+          }
+
           // Print out all constructors and methods
           Collection<ExecutableMemberDoc> members = new ArrayList<ExecutableMemberDoc>();
           members.addAll(Arrays.asList(cls.constructors(true)));