diff options
author | buraq <buraq@epfl.ch> | 2003-07-14 10:15:43 +0000 |
---|---|---|
committer | buraq <buraq@epfl.ch> | 2003-07-14 10:15:43 +0000 |
commit | e90fe22dc3fb01f61c2f5bc1f9ac217fc0b0fb2c (patch) | |
tree | d695d15512c06411ea6ae1d703d50d7562c35ea0 /sources | |
parent | ae9eeb9372891df1c6c5393cc35e4dfe56525f05 (diff) | |
download | scala-e90fe22dc3fb01f61c2f5bc1f9ac217fc0b0fb2c.tar.gz scala-e90fe22dc3fb01f61c2f5bc1f9ac217fc0b0fb2c.tar.bz2 scala-e90fe22dc3fb01f61c2f5bc1f9ac217fc0b0fb2c.zip |
added static method, hid private variables
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scalac/transformer/matching/FreshVariableTraverser.java | 13 | ||||
-rw-r--r-- | sources/scalac/transformer/matching/LeftTracerInScala.java | 10 |
2 files changed, 15 insertions, 8 deletions
diff --git a/sources/scalac/transformer/matching/FreshVariableTraverser.java b/sources/scalac/transformer/matching/FreshVariableTraverser.java index 870b6e8779..a90bd5bb06 100644 --- a/sources/scalac/transformer/matching/FreshVariableTraverser.java +++ b/sources/scalac/transformer/matching/FreshVariableTraverser.java @@ -25,6 +25,7 @@ import java.util.Vector; /** A tree traverser for handling fresh variables + * todo: access method instead of * @author Burak Emir * @version 1.0 */ @@ -36,7 +37,7 @@ class FreshVariableTraverser extends VariableTraverser { /** */ - public HashMap helpMap; + private HashMap helpMap; /** * @param pos @@ -53,6 +54,10 @@ class FreshVariableTraverser extends VariableTraverser { helpMap = new HashMap(); } + public HashMap getHelpMap() { + return helpMap; + } + /** * @param sym */ @@ -67,4 +72,10 @@ class FreshVariableTraverser extends VariableTraverser { helpMap.put(sym, helpVar); } + public static HashMap getVars( Tree t, Symbol owner, FreshNameCreator fresh ) { + FreshVariableTraverser fvt = new FreshVariableTraverser( t.pos, owner, fresh ); + fvt.traverse( t ); + return fvt.helpMap; + } + } diff --git a/sources/scalac/transformer/matching/LeftTracerInScala.java b/sources/scalac/transformer/matching/LeftTracerInScala.java index 86200ae0b8..f9e02cf9d7 100644 --- a/sources/scalac/transformer/matching/LeftTracerInScala.java +++ b/sources/scalac/transformer/matching/LeftTracerInScala.java @@ -332,14 +332,10 @@ public class LeftTracerInScala extends Autom2Scala { } } - FreshVariableTraverser fv = new FreshVariableTraverser(pos, - owner, - cf.fresh); - fv.traverse( pat ); - HashMap helpMap = fv.helpMap; + HashMap helpMap = FreshVariableTraverser.getVars( pat, owner, cf.fresh ); //System.out.println("varMap: "+helpMap ); - m.varMap = fv.helpMap; + m.varMap = helpMap; //replaceVars( pat ); @@ -347,7 +343,7 @@ public class LeftTracerInScala extends Autom2Scala { (CaseDef) cf.make.CaseDef( pat.pos, pat, Tree.Empty, - handleBody( fv.helpMap )), + handleBody( helpMap )), (CaseDef) cf.make.CaseDef( pat.pos, cf.make.Ident(pat.pos, Names.WILDCARD) //.setSymbol( Symbol.NONE ) FIXED |