diff options
author | Martin Odersky <odersky@gmail.com> | 2013-02-20 09:16:06 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-02-20 09:16:06 +0100 |
commit | 11fbe8b66618b153653678cf4c0b752e792bfaa1 (patch) | |
tree | c0b18eb186556cf8bf921fb18318eb98697616dc /src/dotty/tools/dotc/core/PluggableTransformers.scala | |
parent | e26c52f6a5cdb6e260bfb9f96594367a71e08d13 (diff) | |
download | dotty-11fbe8b66618b153653678cf4c0b752e792bfaa1.tar.gz dotty-11fbe8b66618b153653678cf4c0b752e792bfaa1.tar.bz2 dotty-11fbe8b66618b153653678cf4c0b752e792bfaa1.zip |
Moved TypeTrees defs into nested object tpd.
Reason: We need normal trees to do efficient pattern matching. So if we want to both pattern match and create trees we need to import Trees._ and TypedTrees.tpd. Then typed tree construction needs to be prefixed with tpd, e.g. tpd.Select(pre, name).
Diffstat (limited to 'src/dotty/tools/dotc/core/PluggableTransformers.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/PluggableTransformers.scala | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/core/PluggableTransformers.scala b/src/dotty/tools/dotc/core/PluggableTransformers.scala index b0b2ca134..3e3ee7df1 100644 --- a/src/dotty/tools/dotc/core/PluggableTransformers.scala +++ b/src/dotty/tools/dotc/core/PluggableTransformers.scala @@ -84,19 +84,22 @@ object PluggableTransformers { } } -import PluggableTransformers._, Types._, TypedTrees._ +import PluggableTransformers._, Types._, Trees._, Contexts._, TypedTrees.tpd class ExampleTransformer extends PluggableTransformer[Type] { - class ExamplePlugin extends Plugin { + object ExamplePlugin extends Plugin { override def processIdent = { case tree @ Ident(x) if x.isTypeName => tree.derivedSelect(tree, x) - case tree => tree + case tree => tpd.Ident(???) } override def processSelect = { tree => if (tree.isType) tree.derivedIdent(tree.name) - else EmptyTree + else tpd.EmptyTree } } + override def transform(tree: tpd.Tree, ctx: Context) = + super.transform(tree, ctx) + }
\ No newline at end of file |