summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/matching
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2004-06-25 17:29:50 +0000
committerburaq <buraq@epfl.ch>2004-06-25 17:29:50 +0000
commitd4e3c78e738e37a0ba5fa5eb8b5196a8556d2c53 (patch)
treeeda1c098f09aa6283333550d05a86d541a030f6a /sources/scalac/transformer/matching
parentf3129f0da6487fd6a33fc40ee1d19a1c6c5de06b (diff)
downloadscala-d4e3c78e738e37a0ba5fa5eb8b5196a8556d2c53.tar.gz
scala-d4e3c78e738e37a0ba5fa5eb8b5196a8556d2c53.tar.bz2
scala-d4e3c78e738e37a0ba5fa5eb8b5196a8556d2c53.zip
namespaces
Diffstat (limited to 'sources/scalac/transformer/matching')
-rw-r--r--sources/scalac/transformer/matching/BerrySethi.java7
-rw-r--r--sources/scalac/transformer/matching/Label.java2
2 files changed, 7 insertions, 2 deletions
diff --git a/sources/scalac/transformer/matching/BerrySethi.java b/sources/scalac/transformer/matching/BerrySethi.java
index a97552702a..9e9186e1f8 100644
--- a/sources/scalac/transformer/matching/BerrySethi.java
+++ b/sources/scalac/transformer/matching/BerrySethi.java
@@ -1,3 +1,5 @@
+/** $Id */
+
package scalac.transformer.matching ;
import scalac.Unit ;
@@ -365,16 +367,19 @@ class BerrySethi {
this.posMap.put( pat, i );
this.labelAt.put( i, label );
if( label != Label.DefaultLabel ) {
+ /*
if( this.labels.contains( label ) ) {
switch(label) {
case TreeLabel(Apply(_, Tree[] args)):
if( args.length > 0 ) {
- unit.error(pat.pos, "sorry, this version of scalac cannot handle this pattern correctly");
+ unit.warning(pat.pos, "if this pattern in nondeterminism, it will not compile correctly");
}
}
}
+ */
this.labels.add( label );
}
+
}
/** overriden in BindingBerrySethi
diff --git a/sources/scalac/transformer/matching/Label.java b/sources/scalac/transformer/matching/Label.java
index f03321cb22..30a105dec4 100644
--- a/sources/scalac/transformer/matching/Label.java
+++ b/sources/scalac/transformer/matching/Label.java
@@ -31,7 +31,7 @@ public class Label {
return lit.value.hashCode();
case TreeLabel( Tree pat ):
// if pat is an Apply, than this case can only be correctly
- // handled if it has no arguments...or there are no collisions
+ // handled there are no other similar Applys (nondeterminism)
return pat.type().hashCode();
case TypeLabel( Type type ):
return type.hashCode();