summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorcremet <cremet@epfl.ch>2004-03-18 12:38:25 +0000
committercremet <cremet@epfl.ch>2004-03-18 12:38:25 +0000
commit65f20e3f1a9cdce298ba7b0185388aba35db32a9 (patch)
tree5168eed1555551821d23d8ae5fc8eb8d9d63b77e /sources
parent672a2b4b118568d09251ebf267401b0468dc5604 (diff)
downloadscala-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".
Diffstat (limited to 'sources')
-rw-r--r--sources/scala/tools/scaladoc/HTMLGenerator.java7
-rw-r--r--sources/scala/tools/scaladoc/Location.java2
-rw-r--r--sources/scala/tools/scaladoc/ScalaSearch.java8
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;