diff options
author | buraq <buraq@epfl.ch> | 2004-01-20 15:18:52 +0000 |
---|---|---|
committer | buraq <buraq@epfl.ch> | 2004-01-20 15:18:52 +0000 |
commit | 2c14e0fd960f0b5a0bf02bc5109a6d179b0e8a75 (patch) | |
tree | 89527dec330e138e3874a43b8297e6477706b260 | |
parent | 350dae616efe1bf5156cf9e8e92f9db73003835f (diff) | |
download | scala-2c14e0fd960f0b5a0bf02bc5109a6d179b0e8a75.tar.gz scala-2c14e0fd960f0b5a0bf02bc5109a6d179b0e8a75.tar.bz2 scala-2c14e0fd960f0b5a0bf02bc5109a6d179b0e8a75.zip |
do not allow top-level sequence patterns
-rw-r--r-- | sources/scalac/ast/parser/PatternNormalizer.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sources/scalac/ast/parser/PatternNormalizer.java b/sources/scalac/ast/parser/PatternNormalizer.java index adf8a98b9d..d07ed38aaa 100644 --- a/sources/scalac/ast/parser/PatternNormalizer.java +++ b/sources/scalac/ast/parser/PatternNormalizer.java @@ -147,6 +147,26 @@ public class PatternNormalizer { */ public boolean check( Tree pat ) { this.boundVars = new HashMap(); + + //reject top-level sequence patterns + switch( pat ) { + case Sequence( _ ): + unit.error( pat.pos, + "sequences not allowed here"); + return false; + case Alternative( Tree args[] ): + for( int i = 0; i < args.length; i++ ) + switch( args[i] ) { + case Sequence( _ ): + unit.error( args[i].pos, + "sequences not allowed here"); + return false; + } + } + + + + // reject deep binding if( TreeInfo.isRegularPattern( pat ) ) seqDepth = 0; else |