diff --git a/compiler/src/dotty/tools/dotc/transform/TreeChecker.scala b/compiler/src/dotty/tools/dotc/transform/TreeChecker.scala index 2508c984bf59..41d21d61cd12 100644 --- a/compiler/src/dotty/tools/dotc/transform/TreeChecker.scala +++ b/compiler/src/dotty/tools/dotc/transform/TreeChecker.scala @@ -56,16 +56,12 @@ class TreeChecker extends Phase with SymTransformer { def isValidJVMMethodName(name: Name) = name.toString.forall(isValidJVMMethodChar) - def printError(str: String)(implicit ctx: Context) = { - ctx.echo(Console.RED + "[error] " + Console.WHITE + str) - } - val NoSuperClass = Trait | Package def testDuplicate(sym: Symbol, registry: mutable.Map[String, Symbol], typ: String)(implicit ctx: Context) = { val name = sym.fullName.mangledString - if (this.flatClasses && registry.contains(name)) - assert(false, s"$typ defined twice $sym ${sym.id} ${registry(name).id}") + val isDuplicate = this.flatClasses && registry.contains(name) + assert(!isDuplicate, s"$typ defined twice $sym ${sym.id} ${registry(name).id}") registry(name) = sym } @@ -85,14 +81,13 @@ class TreeChecker extends Phase with SymTransformer { if (sym.isClass && !sym.isAbsent) { 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") + assert(validSuperclass, i"$sym has no superclass set") testDuplicate(sym, seenClasses, "class") } - if (sym.is(Method) && sym.is(Deferred) && sym.is(Private)) - assert(false, s"$sym is both Deferred and Private") + val isDeferredAndPrivate = sym.is(Method) && sym.is(Deferred) && sym.is(Private) + assert(!isDeferredAndPrivate, i"$sym is both Deferred and Private") checkCompanion(symd)