summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2003-03-12 14:18:22 +0000
committerschinz <schinz@epfl.ch>2003-03-12 14:18:22 +0000
commit7254471b0b3aeadb35df99b61f5a00e18abc00ae (patch)
treea66d048ca742fdfb8e2530bf9bbb394ef58b862e
parentfafd175ca9a4acf6c06cccfdd59b11cfdc545bc4 (diff)
downloadscala-7254471b0b3aeadb35df99b61f5a00e18abc00ae.tar.gz
scala-7254471b0b3aeadb35df99b61f5a00e18abc00ae.tar.bz2
scala-7254471b0b3aeadb35df99b61f5a00e18abc00ae.zip
- do not generate Java-compatible class for mod...
- do not generate Java-compatible class for modules when a class with the same name as the module exists
-rw-r--r--sources/scalac/backend/jvm/GenJVM.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/sources/scalac/backend/jvm/GenJVM.java b/sources/scalac/backend/jvm/GenJVM.java
index ba38f31e45..1454c7afaa 100644
--- a/sources/scalac/backend/jvm/GenJVM.java
+++ b/sources/scalac/backend/jvm/GenJVM.java
@@ -1188,9 +1188,13 @@ class JVMGenerator {
updateClassContext();
}
+ protected HashSet seenClasses = new HashSet();
protected void leaveClass(Symbol cSym) {
- if (Modifiers.Helper.isModClass(cSym.flags))
- dumpModuleMainClass(currClass);
+ if (Modifiers.Helper.isModClass(cSym.flags)) {
+ if (!seenClasses.contains(cSym.fullName()))
+ dumpModuleMainClass(currClass);
+ } else
+ seenClasses.add(cSym.fullName());
addScalaAttr(currClass);
JavaClass cls = currClass.getJavaClass();