From 9aa2915b7bb251066bcc20209978b1d5851c15ca Mon Sep 17 00:00:00 2001 From: Nicolas Stucki Date: Mon, 26 Mar 2018 14:29:56 +0200 Subject: [PATCH] Fix #4185: Do not check names for modules that will not be emitted --- compiler/src/dotty/tools/backend/jvm/GenBCode.scala | 7 +++++-- compiler/test/dotty/tools/dotc/CompilationTests.scala | 1 + tests/pos-special/i4185.scala | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 tests/pos-special/i4185.scala diff --git a/compiler/src/dotty/tools/backend/jvm/GenBCode.scala b/compiler/src/dotty/tools/backend/jvm/GenBCode.scala index 65bd5ca27d7d..ca21867fd711 100644 --- a/compiler/src/dotty/tools/backend/jvm/GenBCode.scala +++ b/compiler/src/dotty/tools/backend/jvm/GenBCode.scala @@ -207,8 +207,11 @@ class GenBCodePipeline(val entryPoints: List[Symbol], val int: DottyBackendInter } } checkName(claszSymbol) - if (int.symHelper(claszSymbol).isModuleClass) - checkName(claszSymbol.companionModule) + if (int.symHelper(claszSymbol).isModuleClass) { + val companionModule = claszSymbol.companionModule + if (int.symHelper(companionModule.owner).isPackageClass) + checkName(companionModule) + } // -------------- mirror class, if needed -------------- val mirrorC = diff --git a/compiler/test/dotty/tools/dotc/CompilationTests.scala b/compiler/test/dotty/tools/dotc/CompilationTests.scala index 694dd96012e7..be0eca287ac9 100644 --- a/compiler/test/dotty/tools/dotc/CompilationTests.scala +++ b/compiler/test/dotty/tools/dotc/CompilationTests.scala @@ -59,6 +59,7 @@ class CompilationTests extends ParallelTesting { compileFile("tests/pos-special/i3323b.scala", defaultOptions.and("-Xfatal-warnings")) + compileFile("tests/pos-special/i3589-b.scala", defaultOptions.and("-Xfatal-warnings")) + compileFile("tests/pos-special/i4166.scala", defaultOptions.and("-Xfatal-warnings")) + + compileFile("tests/pos-special/i4185.scala", defaultOptions.and("-Xfatal-warnings")) + compileFile("tests/pos-special/completeFromSource/Test.scala", defaultOptions.and("-sourcepath", "tests/pos-special")) + compileFile("tests/pos-special/completeFromSource/Test2.scala", defaultOptions.and("-sourcepath", "tests/pos-special")) + compileFile("tests/pos-special/completeFromSource/Test3.scala", defaultOptions.and("-sourcepath", "tests/pos-special", "-scansource")) + diff --git a/tests/pos-special/i4185.scala b/tests/pos-special/i4185.scala new file mode 100644 index 000000000000..10db2d672eea --- /dev/null +++ b/tests/pos-special/i4185.scala @@ -0,0 +1,4 @@ +object ord { + class Ord + object Ord +}