diff options
author | Martin Odersky <odersky@gmail.com> | 2014-04-14 14:38:57 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-04-14 15:55:15 +0200 |
commit | 103beef6ab89d6138ec7462fcf85ee3f93cf2b52 (patch) | |
tree | 53f70b63ca4419c135c2b9f86b4ba96462eeed10 /src/dotty/tools/dotc/transform | |
parent | f39b6249a11cdb35445da8ce0a338911af496695 (diff) | |
download | dotty-103beef6ab89d6138ec7462fcf85ee3f93cf2b52.tar.gz dotty-103beef6ab89d6138ec7462fcf85ee3f93cf2b52.tar.bz2 dotty-103beef6ab89d6138ec7462fcf85ee3f93cf2b52.zip |
InfoTransformers as specific DenotTransformers
Factored out denot transformer behavior where the we transform types
in a uniform way into InfoTransformers.
Diffstat (limited to 'src/dotty/tools/dotc/transform')
4 files changed, 4 insertions, 13 deletions
diff --git a/src/dotty/tools/dotc/transform/InterceptedMethods.scala b/src/dotty/tools/dotc/transform/InterceptedMethods.scala index b56985ffe..d5a4377d0 100644 --- a/src/dotty/tools/dotc/transform/InterceptedMethods.scala +++ b/src/dotty/tools/dotc/transform/InterceptedMethods.scala @@ -2,7 +2,6 @@ package dotty.tools.dotc package transform import TreeTransforms._ -import core.DenotTransformers._ import core.Denotations._ import core.SymDenotations._ import core.Contexts._ @@ -27,7 +26,6 @@ import dotty.runtime.LazyVals import scala.collection.mutable.ListBuffer import dotty.tools.dotc.core.Denotations.SingleDenotation import dotty.tools.dotc.core.SymDenotations.SymDenotation -import dotty.tools.dotc.core.DenotTransformers.DenotTransformer import StdNames._ /** Replace member references as follows: diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala index ff25a94de..40a157483 100644 --- a/src/dotty/tools/dotc/transform/PatternMatcher.scala +++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala @@ -2,7 +2,6 @@ package dotty.tools.dotc package transform import TreeTransforms._ -import core.DenotTransformers._ import core.Denotations._ import core.SymDenotations._ import core.Contexts._ diff --git a/src/dotty/tools/dotc/transform/TypeTestsCasts.scala b/src/dotty/tools/dotc/transform/TypeTestsCasts.scala index aba674d1c..a36bf6500 100644 --- a/src/dotty/tools/dotc/transform/TypeTestsCasts.scala +++ b/src/dotty/tools/dotc/transform/TypeTestsCasts.scala @@ -2,7 +2,6 @@ package dotty.tools.dotc package transform import TreeTransforms._ -import core.DenotTransformers._ import core.Denotations._ import core.SymDenotations._ import core.Contexts._ diff --git a/src/dotty/tools/dotc/transform/UncurryTreeTransform.scala b/src/dotty/tools/dotc/transform/UncurryTreeTransform.scala index fe50e41cd..ccfaaa0dc 100644 --- a/src/dotty/tools/dotc/transform/UncurryTreeTransform.scala +++ b/src/dotty/tools/dotc/transform/UncurryTreeTransform.scala @@ -7,10 +7,11 @@ import core.Denotations._ import core.SymDenotations._ import core.Contexts._ import core.Types._ +import core.Symbols._ import ast.Trees._ import ast.tpd.{Apply, Tree, cpy} -class UncurryTreeTransform extends TreeTransform with DenotTransformer { +class UncurryTreeTransform extends TreeTransform with InfoTransformer { override def name: String = "uncurry" override def transformApply(tree: Apply)(implicit ctx: Context, info: TransformerInfo): Tree = @@ -40,12 +41,6 @@ class UncurryTreeTransform extends TreeTransform with DenotTransformer { tp } - def transform(ref: SingleDenotation)(implicit ctx: Context): SingleDenotation = { - val info1 = uncurry(ref.info) - if (info1 eq ref.info) ref - else ref match { - case ref: SymDenotation => ref.copySymDenotation(info = info1) - case _ => ref.derivedSingleDenotation(ref.symbol, info1) - } - } + def transformInfo(tp: Type, sym: Symbol)(implicit ctx: Context): Type = + uncurry(tp) }
\ No newline at end of file |