summaryrefslogtreecommitdiff
path: root/sources/scalac/ast/Transformer.java.tmpl
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/ast/Transformer.java.tmpl')
-rw-r--r--sources/scalac/ast/Transformer.java.tmpl19
1 files changed, 17 insertions, 2 deletions
diff --git a/sources/scalac/ast/Transformer.java.tmpl b/sources/scalac/ast/Transformer.java.tmpl
index bf5fa09f4f..2fa347c305 100644
--- a/sources/scalac/ast/Transformer.java.tmpl
+++ b/sources/scalac/ast/Transformer.java.tmpl
@@ -205,12 +205,27 @@ public class GenTransformer {
case Block(Tree[] stats, Tree value):
return gen.Block(tree.pos, transform(stats), transform(value));
- // case Sequence(Tree[] trees):
+ case Sequence(Tree[] trees):
+ trees = transform(trees);
+ Tree seq = new Sequence(trees);
+ seq.pos = tree.pos;
+ seq.type = tree.type;
+ return seq;
// case Alternative(Tree[] trees):
- // case Bind(Name name, Tree rhs):
// case Visitor(CaseDef[] cases):
// case Function(ValDef[] vparams, Tree body):
+ case Bind(Name n, Tree pat): // test
+ Symbol sym = getSymbolFor(tree);
+ global.nextPhase();
+ sym.setType(tree.type);
+ global.prevPhase();
+ Tree bind = new ExtBind(sym, transform(pat));
+ bind.type = sym.getType();
+ bind.pos = tree.pos;
+ return bind;
+
+
case Assign(Tree lhs, Tree rhs):
return gen.Assign(tree.pos, transform(lhs), transform(rhs));