From b06edbc46d2b08752f6bd751f030a166c7628c98 Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Thu, 9 Apr 2009 09:20:37 +0000 Subject: Made constructors of top level objects private --- src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/compiler') diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala index c8dfb02ce3..6fab08f05a 100644 --- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala +++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala @@ -1696,10 +1696,18 @@ abstract class GenJVM extends SubComponent { && !sym.enclClass.hasFlag(Flags.INTERFACE) && !sym.isClassConstructor) ACC_FINAL else 0) jf = jf | (if (sym.isStaticMember) ACC_STATIC else 0) + if (settings.target.value == "jvm-1.5") jf = jf | (if (sym hasFlag Flags.BRIDGE) ACC_BRIDGE | ACC_SYNTHETIC else 0) + if (sym.isClass && !sym.hasFlag(Flags.INTERFACE)) jf = jf | ACC_SUPER + + // constructors of module classes should be private + if (sym.isPrimaryConstructor && isTopLevelModule(sym.owner)) { + jf |= ACC_PRIVATE + jf &= ~ACC_PUBLIC + } jf } -- cgit v1.2.3