diff options
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scalac/backend/jvm/GenJVM.java | 8 |
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(); |