summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/matching
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2004-05-28 17:50:04 +0000
committerburaq <buraq@epfl.ch>2004-05-28 17:50:04 +0000
commit2cdb40e1efefe9209edda0c058b9c88c18d118fc (patch)
treedacfc271e6b7271939be0af1427df367b02d0ea9 /sources/scalac/transformer/matching
parent828b051bf427565fbc559d068219b6914ece6ef1 (diff)
downloadscala-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.java1
-rw-r--r--sources/scalac/transformer/matching/TestRegTraverser.java18
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 );
}