From 636aacacc372b2a611e4815d199da36cc8ea9f31 Mon Sep 17 00:00:00 2001 From: Allan Renucci Date: Fri, 13 Apr 2018 19:05:51 +0200 Subject: [PATCH] Fix #4318: Ignore java.lang.Object companion object java.lang.Object companion object does not exist but has a symbol. We used to record a dependency on it for incremental compilation when `java.lang.Object` was imported. --- compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala | 2 ++ tests/pos/i4318.scala | 1 + 2 files changed, 3 insertions(+) create mode 100644 tests/pos/i4318.scala diff --git a/compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala b/compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala index fdced5f83953..62955dcb72a7 100644 --- a/compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala +++ b/compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala @@ -313,6 +313,8 @@ private class ExtractDependenciesCollector extends tpd.TreeTraverser { thisTreeT private def ignoreDependency(sym: Symbol)(implicit ctx: Context) = !sym.exists || + sym.unforcedIsAbsent || // ignore dependencies that have a symbol but do not exist. + // e.g. java.lang.Object companion object sym.is(PackageClass) || sym.isEffectiveRoot || sym.isAnonymousFunction || diff --git a/tests/pos/i4318.scala b/tests/pos/i4318.scala new file mode 100644 index 000000000000..ebb777c5e1ff --- /dev/null +++ b/tests/pos/i4318.scala @@ -0,0 +1 @@ +import java.lang.Object