diff options
author | buraq <buraq@epfl.ch> | 2003-07-09 08:45:32 +0000 |
---|---|---|
committer | buraq <buraq@epfl.ch> | 2003-07-09 08:45:32 +0000 |
commit | 57830a98fc7fd743445abc9faf056de03fa18e7c (patch) | |
tree | 4464ea209bb2d5227e34897e851829940c16209e /sources/scalac/transformer/matching/RightTracerInScala.java | |
parent | df8999d77a1dfcca5070d821d550c237e82a62ce (diff) | |
download | scala-57830a98fc7fd743445abc9faf056de03fa18e7c.tar.gz scala-57830a98fc7fd743445abc9faf056de03fa18e7c.tar.bz2 scala-57830a98fc7fd743445abc9faf056de03fa18e7c.zip |
allocation of variables in binding
Diffstat (limited to 'sources/scalac/transformer/matching/RightTracerInScala.java')
-rw-r--r-- | sources/scalac/transformer/matching/RightTracerInScala.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sources/scalac/transformer/matching/RightTracerInScala.java b/sources/scalac/transformer/matching/RightTracerInScala.java index 698a726321..a83419eb91 100644 --- a/sources/scalac/transformer/matching/RightTracerInScala.java +++ b/sources/scalac/transformer/matching/RightTracerInScala.java @@ -120,7 +120,8 @@ public class RightTracerInScala extends Autom2Scala { if( keepType ) rhs = cf.ignoreValue( realVar.type() ); else - rhs = cf.newSeqNil( elementType ); + rhs = /* cf.newRef( */ cf.newSeqNil( elementType ) /* ) */; + helpVar.flags |= Modifiers.MUTABLE; Tree varDef = gen.ValDef(helpVar, rhs); //((ValDef) varDef).kind = Kinds.VAR; helpVarDefs.add( varDef ); @@ -197,7 +198,7 @@ public class RightTracerInScala extends Autom2Scala { // same as in LeftTracer Tree code_fail() { - return cf.ThrowMatchError( Position.NOPOS, defs.UNIT_TYPE ); + return cf.ThrowMatchError( _m.pos, defs.UNIT_TYPE ); } @@ -354,10 +355,10 @@ public class RightTracerInScala extends Autom2Scala { (CaseDef) cf.make.CaseDef( pat.pos, cf.make.Ident(pat.pos, WILDCARD_N) .setSymbol( Symbol.NONE ) - .setType(pat.type()), + .setType( pat.type() ), Tree.Empty, - gen.mkBooleanLit( pat.pos, false )) }/*, - true // do binding please */ + gen.mkBooleanLit( pat.pos, false )) }, + true // do binding please ); Tree res = am.toTree().setType( defs.BOOLEAN_TYPE ); //System.out.println("freeVars: "+freeVars); |