aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/PluggableTransformers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-02-20 09:16:06 +0100
committerMartin Odersky <odersky@gmail.com>2013-02-20 09:16:06 +0100
commit11fbe8b66618b153653678cf4c0b752e792bfaa1 (patch)
treec0b18eb186556cf8bf921fb18318eb98697616dc /src/dotty/tools/dotc/core/PluggableTransformers.scala
parente26c52f6a5cdb6e260bfb9f96594367a71e08d13 (diff)
downloaddotty-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.scala11
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