aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/ast/Trees.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-10-12 14:37:37 +0200
committerMartin Odersky <odersky@gmail.com>2016-10-15 19:33:51 +0200
commit8b55988c64ab7d777b6bf39987af6bafe070c2fb (patch)
treef033a4db58bfab9802dbb8e8cdf5b0f693bf402d /src/dotty/tools/dotc/ast/Trees.scala
parent2575d11bd1a670ace8bd7e91777ea135759af51f (diff)
downloaddotty-8b55988c64ab7d777b6bf39987af6bafe070c2fb.tar.gz
dotty-8b55988c64ab7d777b6bf39987af6bafe070c2fb.tar.bz2
dotty-8b55988c64ab7d777b6bf39987af6bafe070c2fb.zip
Drop original on TypeTree
The plan is to keep original type until after pickling, and afterwards replace it with a simple TypeTree. # Conflicts: # src/dotty/tools/dotc/core/tasty/TreePickler.scala
Diffstat (limited to 'src/dotty/tools/dotc/ast/Trees.scala')
-rw-r--r--src/dotty/tools/dotc/ast/Trees.scala15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/dotty/tools/dotc/ast/Trees.scala b/src/dotty/tools/dotc/ast/Trees.scala
index 2c02e7d1e..dca66a01d 100644
--- a/src/dotty/tools/dotc/ast/Trees.scala
+++ b/src/dotty/tools/dotc/ast/Trees.scala
@@ -520,13 +520,12 @@ object Trees {
}
/** A type tree that represents an existing or inferred type */
- case class TypeTree[-T >: Untyped] private[ast] (original: Tree[T])
+ case class TypeTree[-T >: Untyped] ()
extends DenotingTree[T] with TypTree[T] {
type ThisTree[-T >: Untyped] = TypeTree[T]
- override def initialPos = NoPosition
- override def isEmpty = !hasType && original.isEmpty
+ override def isEmpty = !hasType
override def toString =
- s"TypeTree${if (hasType) s"[$typeOpt]" else s"($original)"}"
+ s"TypeTree${if (hasType) s"[$typeOpt]" else ""}"
}
/** ref.type */
@@ -960,10 +959,6 @@ object Trees {
case tree: Inlined if (call eq tree.call) && (bindings eq tree.bindings) && (expansion eq tree.expansion) => tree
case _ => finalize(tree, untpd.Inlined(call, bindings, expansion))
}
- def TypeTree(tree: Tree)(original: Tree): TypeTree = tree match {
- case tree: TypeTree if original eq tree.original => tree
- case _ => finalize(tree, untpd.TypeTree(original))
- }
def SingletonTypeTree(tree: Tree)(ref: Tree): SingletonTypeTree = tree match {
case tree: SingletonTypeTree if ref eq tree.ref => tree
case _ => finalize(tree, untpd.SingletonTypeTree(ref))
@@ -1106,7 +1101,7 @@ object Trees {
cpy.SeqLiteral(tree)(transform(elems), transform(elemtpt))
case Inlined(call, bindings, expansion) =>
cpy.Inlined(tree)(call, transformSub(bindings), transform(expansion))
- case TypeTree(original) =>
+ case TypeTree() =>
tree
case SingletonTypeTree(ref) =>
cpy.SingletonTypeTree(tree)(transform(ref))
@@ -1210,7 +1205,7 @@ object Trees {
this(this(x, elems), elemtpt)
case Inlined(call, bindings, expansion) =>
this(this(x, bindings), expansion)
- case TypeTree(original) =>
+ case TypeTree() =>
x
case SingletonTypeTree(ref) =>
this(x, ref)