diff options
author | cremet <cremet@epfl.ch> | 2004-03-18 12:38:25 +0000 |
---|---|---|
committer | cremet <cremet@epfl.ch> | 2004-03-18 12:38:25 +0000 |
commit | 65f20e3f1a9cdce298ba7b0185388aba35db32a9 (patch) | |
tree | 5168eed1555551821d23d8ae5fc8eb8d9d63b77e | |
parent | 672a2b4b118568d09251ebf267401b0468dc5604 (diff) | |
download | scala-65f20e3f1a9cdce298ba7b0185388aba35db32a9.tar.gz scala-65f20e3f1a9cdce298ba7b0185388aba35db32a9.tar.bz2 scala-65f20e3f1a9cdce298ba7b0185388aba35db32a9.zip |
- I fixed problems that came from the change in...
- I fixed problems that came from the change in the semantics of
"symbol.isPackage".
-rw-r--r-- | sources/scala/tools/scaladoc/HTMLGenerator.java | 7 | ||||
-rw-r--r-- | sources/scala/tools/scaladoc/Location.java | 2 | ||||
-rw-r--r-- | sources/scala/tools/scaladoc/ScalaSearch.java | 8 |
3 files changed, 13 insertions, 4 deletions
diff --git a/sources/scala/tools/scaladoc/HTMLGenerator.java b/sources/scala/tools/scaladoc/HTMLGenerator.java index 44e5b310b3..30f5ce1b3e 100644 --- a/sources/scala/tools/scaladoc/HTMLGenerator.java +++ b/sources/scala/tools/scaladoc/HTMLGenerator.java @@ -387,8 +387,9 @@ public abstract class HTMLGenerator { if (ScalaSearch.isContainer(sym) && isDocumented.apply(sym)) { createPages(sym); - if (sym.isPackage()) + if (sym.isPackage() || sym.isPackageClass()) { createContainerIndexPage(sym); + } } } } @@ -470,7 +471,7 @@ public abstract class HTMLGenerator { */ protected String filterModifiers(Symbol sym) { int flags = sym.flags; - if (sym.isPackage()) { + if (sym.isPackage() || sym.isPackageClass()) { if ((flags & Modifiers.FINAL) != 0) flags = flags - Modifiers.FINAL; } @@ -1136,7 +1137,7 @@ public abstract class HTMLGenerator { Symbol sym = syms[i]; if (! sym.isRoot()) { String name = sym.nameString(); - if (sym.isPackage()) + if (sym.isPackage() || sym.isPackageClass()) page.printAhref(definitionURL(sym), CLASSES_FRAME, name); else { Symbol user = (useFullName) ? global.definitions.ROOT_CLASS : Symbol.NONE; diff --git a/sources/scala/tools/scaladoc/Location.java b/sources/scala/tools/scaladoc/Location.java index c97e4d9ea7..7f83b6bec4 100644 --- a/sources/scala/tools/scaladoc/Location.java +++ b/sources/scala/tools/scaladoc/Location.java @@ -40,7 +40,7 @@ public class Location { try { if (sym.isModuleClass()) uri = getURI(sym.module()); - else if (sym.isRoot() || sym.isClass() || sym.isModule() || sym.isPackage()) + else if (sym.isRoot() || sym.isClass() || sym.isModule() || sym.isPackage() || sym.isPackageClass()) uri = new URI(getPath(sym).toString() + HTML_SUFFIX); else if (sym.isParameter()) uri = getURI(sym.classOwner()); diff --git a/sources/scala/tools/scaladoc/ScalaSearch.java b/sources/scala/tools/scaladoc/ScalaSearch.java index e4c19b9a19..5be54702d2 100644 --- a/sources/scala/tools/scaladoc/ScalaSearch.java +++ b/sources/scala/tools/scaladoc/ScalaSearch.java @@ -234,6 +234,11 @@ public class ScalaSearch { */ public static Comparator symPathOrder = new Comparator() { public int compare(Object o1, Object o2) { + int c = compare0(o1, o2); + System.out.println("!!! " + Debug.show(o1, " - ", o2) + " -> " + c); + return c; + } + public int compare0(Object o1, Object o2) { LinkedList l1 = getOwners((Symbol)o1); LinkedList l2 = getOwners((Symbol)o2); for (int i = 0; true; i++) { @@ -244,6 +249,8 @@ public class ScalaSearch { if (s1 == s2) continue; int c = s1.nameString().compareTo(s2.nameString()); if (c != 0) return c; + if (s1.isTerm() && s2.isType()) return -1; + if (s1.isType() && s2.isTerm()) return +1; return s1.id - s2.id; } } @@ -253,6 +260,7 @@ public class ScalaSearch { public LinkedList getOwners(Symbol symbol) { LinkedList owners = new LinkedList(); while (true) { + assert !symbol.isNone() && !symbol.isError(); owners.addFirst(symbol); if (symbol.isRoot()) break; if (symbol.isNone()) break; |