aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/TreeChecker.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-11-07 19:09:07 +0100
committerMartin Odersky <odersky@gmail.com>2015-11-09 15:45:39 +0100
commit5398c5a723b0f8b0d35e6c3ad230c5046169e837 (patch)
tree832f93128ce25194d9418b682f4e248adba51dd4 /src/dotty/tools/dotc/transform/TreeChecker.scala
parent5db52d25256568cf7d8c2335ee733a38b059b5ad (diff)
downloaddotty-5398c5a723b0f8b0d35e6c3ad230c5046169e837.tar.gz
dotty-5398c5a723b0f8b0d35e6c3ad230c5046169e837.tar.bz2
dotty-5398c5a723b0f8b0d35e6c3ad230c5046169e837.zip
Avoid overhead of generating symbol sets on each access
1) Have symbol sets cached per run 2) Use methods Denotation#isPrimitiveValueClass, Denotation#isNumericValueClass instead of calling contains directly on symbol sets.
Diffstat (limited to 'src/dotty/tools/dotc/transform/TreeChecker.scala')
-rw-r--r--src/dotty/tools/dotc/transform/TreeChecker.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/TreeChecker.scala b/src/dotty/tools/dotc/transform/TreeChecker.scala
index 1f47b4486..0084b1710 100644
--- a/src/dotty/tools/dotc/transform/TreeChecker.scala
+++ b/src/dotty/tools/dotc/transform/TreeChecker.scala
@@ -79,7 +79,7 @@ class TreeChecker extends Phase with SymTransformer {
val sym = symd.symbol
if (sym.isClass && !sym.isAbsent) {
- val validSuperclass = defn.ScalaValueClasses.contains(sym) || defn.syntheticCoreClasses.contains(sym) ||
+ val validSuperclass = sym.isPrimitiveValueClass || defn.syntheticCoreClasses.contains(sym) ||
(sym eq defn.ObjectClass) || (sym is NoSuperClass) || (sym.asClass.superClass.exists)
if (!validSuperclass)
printError(s"$sym has no superclass set")