From d4e3c78e738e37a0ba5fa5eb8b5196a8556d2c53 Mon Sep 17 00:00:00 2001 From: buraq Date: Fri, 25 Jun 2004 17:29:50 +0000 Subject: namespaces --- sources/scalac/transformer/matching/BerrySethi.java | 7 ++++++- sources/scalac/transformer/matching/Label.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'sources/scalac/transformer/matching') 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(); -- cgit v1.2.3