summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
Diffstat (limited to 'sources')
-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();