diff options
author | buraq <buraq@epfl.ch> | 2004-05-28 17:50:04 +0000 |
---|---|---|
committer | buraq <buraq@epfl.ch> | 2004-05-28 17:50:04 +0000 |
commit | 2cdb40e1efefe9209edda0c058b9c88c18d118fc (patch) | |
tree | dacfc271e6b7271939be0af1427df367b02d0ea9 /sources/scalac/transformer/matching | |
parent | 828b051bf427565fbc559d068219b6914ece6ef1 (diff) | |
download | scala-2cdb40e1efefe9209edda0c058b9c88c18d118fc.tar.gz scala-2cdb40e1efefe9209edda0c058b9c88c18d118fc.tar.bz2 scala-2cdb40e1efefe9209edda0c058b9c88c18d118fc.zip |
library update, validation in dtd2scala
Diffstat (limited to 'sources/scalac/transformer/matching')
-rw-r--r-- | sources/scalac/transformer/matching/BindingBerrySethi.java | 1 | ||||
-rw-r--r-- | sources/scalac/transformer/matching/TestRegTraverser.java | 18 |
2 files changed, 19 insertions, 0 deletions
diff --git a/sources/scalac/transformer/matching/BindingBerrySethi.java b/sources/scalac/transformer/matching/BindingBerrySethi.java index eb31ddaf58..b2a8301516 100644 --- a/sources/scalac/transformer/matching/BindingBerrySethi.java +++ b/sources/scalac/transformer/matching/BindingBerrySethi.java @@ -55,6 +55,7 @@ public class BindingBerrySethi extends BerrySethi { switch( pat ) { case Apply(_, _): case Literal( _ ): + case Select(_, _): case Typed(_,_): this.varAt.put( i, activeBinders.clone() ); // below @ ? break; diff --git a/sources/scalac/transformer/matching/TestRegTraverser.java b/sources/scalac/transformer/matching/TestRegTraverser.java index ac00c3a366..bd01786734 100644 --- a/sources/scalac/transformer/matching/TestRegTraverser.java +++ b/sources/scalac/transformer/matching/TestRegTraverser.java @@ -53,6 +53,24 @@ public class TestRegTraverser extends Traverser { //result = true; break; + // Matthias PatternMatcher cannot handle this case + case Apply( Tree fn, Tree[] trees ): + if( trees.length == 1 ) { + switch (trees[ 0 ]) { + case Sequence( Tree[] trees2 ): + if( trees2.length == 1 ) { + switch (trees2[ 0 ]) { + case Sequence( _ ): + result = true; + break; + }; + //System.out.println( fn ); + //System.out.println( tree.type() ); + } + } + } + super.traverse( tree ); + break; default: super.traverse( tree ); } |