langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java
changeset 36526 3b41f1c69604
parent 35426 374342e56a56
child 37009 476d8d615222
--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java	Tue Mar 15 13:48:30 2016 -0700
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java	Thu Mar 17 19:04:28 2016 +0000
@@ -28,9 +28,11 @@
 import java.io.*;
 import java.util.*;
 
+import javax.lang.model.element.ModuleElement;
 import javax.lang.model.element.PackageElement;
 import javax.lang.model.element.TypeElement;
 
+import com.sun.javadoc.PackageDoc;
 import jdk.javadoc.doclet.Doclet.Option;
 import jdk.javadoc.doclet.DocletEnvironment;
 import jdk.javadoc.doclet.Reporter;
@@ -248,6 +250,7 @@
             } catch (IOException e) {
                 throw new DocletAbortException(e);
             } catch (DocletAbortException de) {
+                de.printStackTrace();
                 throw de;
             } catch (Exception e) {
                 e.printStackTrace();
@@ -256,6 +259,37 @@
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    protected void generateModuleFiles() throws Exception {
+        if (configuration.showModules) {
+            ModuleIndexFrameWriter.generate(configuration);
+            ModuleElement prevModule = null, nextModule;
+            List<ModuleElement> mdles = new ArrayList<>(configuration.modulePackages.keySet());
+            int i = 0;
+            for (ModuleElement mdle : mdles) {
+                ModulePackageIndexFrameWriter.generate(configuration, mdle);
+                nextModule = (i + 1 < mdles.size()) ? mdles.get(i + 1) : null;
+                AbstractBuilder moduleSummaryBuilder =
+                        configuration.getBuilderFactory().getModuleSummaryBuilder(
+                        mdle, prevModule, nextModule);
+                moduleSummaryBuilder.build();
+                prevModule = mdle;
+                i++;
+            }
+        }
+    }
+
+    PackageElement getNamedPackage(List<PackageElement> list, int idx) {
+        if (idx < list.size()) {
+            PackageElement pkg = list.get(idx);
+            if (pkg != null && !pkg.isUnnamed()) {
+                return pkg;
+            }
+        }
+        return null;
+    }
 
     /**
      * {@inheritDoc}