From 61219786e33a0a038fd5ec00f51c153c03de3077 Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Sat, 30 May 2015 00:45:07 +0200 Subject: [PATCH] Trees: Add toString for AST nodes which are not case classes This makes debugging trees easier. --- src/dotty/tools/dotc/ast/Trees.scala | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/dotty/tools/dotc/ast/Trees.scala b/src/dotty/tools/dotc/ast/Trees.scala index e668bea5e0c2..e46c071d73f2 100644 --- a/src/dotty/tools/dotc/ast/Trees.scala +++ b/src/dotty/tools/dotc/ast/Trees.scala @@ -346,7 +346,9 @@ object Trees { } class BackquotedIdent[-T >: Untyped] private[ast] (name: Name) - extends Ident[T](name) + extends Ident[T](name) { + override def toString = "BackquotedIdent($name)" + } /** qualifier.name */ case class Select[-T >: Untyped] private[ast] (qualifier: Tree[T], name: Name) @@ -355,7 +357,9 @@ object Trees { } class SelectWithSig[-T >: Untyped] private[ast] (qualifier: Tree[T], name: Name, val sig: Signature) - extends Select[T](qualifier, name) + extends Select[T](qualifier, name) { + override def toString = "SelectWithSig($qualifier, $name, $sig)" + } /** qual.this */ case class This[-T >: Untyped] private[ast] (qual: TypeName) @@ -519,6 +523,7 @@ object Trees { /** Array(elems) */ class JavaSeqLiteral[T >: Untyped] private[ast] (elems: List[Tree[T]]) extends SeqLiteral(elems) { + override def toString = s"JavaSeqLiteral($elems)" } /** A type tree that represents an existing or inferred type */