diff options
author | paltherr <paltherr@epfl.ch> | 2003-10-13 15:43:36 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-10-13 15:43:36 +0000 |
commit | 774bd9179ecc515902db63ef2ba7271e6d6d4a6e (patch) | |
tree | 8bcd236b0d46b796c821ac67337530947266d2a0 /sources/scalac/ast | |
parent | a87e39db1f901094e959fd2121b5d7afe98a9c6c (diff) | |
download | scala-774bd9179ecc515902db63ef2ba7271e6d6d4a6e.tar.gz scala-774bd9179ecc515902db63ef2ba7271e6d6d4a6e.tar.bz2 scala-774bd9179ecc515902db63ef2ba7271e6d6d4a6e.zip |
- Addded Definitions.PATTERN_WILDCARD
- Removed Names.WILDCARD
- Added Names.PATTERN_WILDCARD
- Added Names.IMPORT_WILDCARD
- Replaced most uses of Names.PATTERN_WILDCARD by Definitions.PATTERN_WILDCARD
- Removed TreeInfo.isWildcardPattern
Diffstat (limited to 'sources/scalac/ast')
-rw-r--r-- | sources/scalac/ast/TreeInfo.java | 11 | ||||
-rw-r--r-- | sources/scalac/ast/parser/Parser.java | 19 | ||||
-rw-r--r-- | sources/scalac/ast/parser/PatternNormalizer.java | 2 |
3 files changed, 11 insertions, 21 deletions
diff --git a/sources/scalac/ast/TreeInfo.java b/sources/scalac/ast/TreeInfo.java index d0a8b41311..d7efc130cc 100644 --- a/sources/scalac/ast/TreeInfo.java +++ b/sources/scalac/ast/TreeInfo.java @@ -239,15 +239,4 @@ public class TreeInfo { return false; } } - - /** returns true if the argument is a wildcard pattern - */ - public static boolean isWildcardPattern( Tree tree ) { - switch( tree ) { - case Ident( Name n ): - return ( n == Names.WILDCARD ) && ( tree.symbol() == null ); - default: - return false; - } - } } diff --git a/sources/scalac/ast/parser/Parser.java b/sources/scalac/ast/parser/Parser.java index 03231b150f..a25b219d3b 100644 --- a/sources/scalac/ast/parser/Parser.java +++ b/sources/scalac/ast/parser/Parser.java @@ -1136,7 +1136,7 @@ public class Parser implements Tokens { rhs.pos, pat.duplicate(), Tree.Empty, make.Literal(s.pos, Boolean.TRUE)), (CaseDef)make.CaseDef( - rhs.pos, make.Ident(rhs.pos, Names.WILDCARD), Tree.Empty, + rhs.pos, make.Ident(rhs.pos, Names.PATTERN_WILDCARD), Tree.Empty, make.Literal(s.pos, Boolean.FALSE))})}); return make.PatDef(pos, 0, pat, rhs); } @@ -1222,10 +1222,11 @@ public class Parser implements Tokens { Tree pattern2() { Tree p = pattern3(); if (s.token == AT && TreeInfo.isVarPattern(p)) { - if( !TreeInfo.isWildcardPattern(p) ) - return make.Bind(s.skipToken(), ((Ident)p).name, pattern3()); - else - return pattern3(); + switch (p) { + case Ident(Name name): + if (name == Names.PATTERN_WILDCARD) return pattern3(); + } + return make.Bind(s.skipToken(), ((Ident)p).name, pattern3()); } return p; } @@ -1316,7 +1317,7 @@ public class Parser implements Tokens { } return t; case USCORE: - return make.Ident(s.skipToken(), Names.WILDCARD); + return make.Ident(s.skipToken(), Names.PATTERN_WILDCARD); case CHARLIT: case INTLIT: case LONGLIT: @@ -1571,7 +1572,7 @@ public class Parser implements Tokens { while (true) { if (s.token == USCORE) { s.nextToken(); - return make.Import(startpos, t, new Name[]{Names.WILDCARD}); + return make.Import(startpos, t, new Name[]{Names.IMPORT_WILDCARD}); } else if (s.token == LBRACE) { return make.Import(startpos, t, importSelectors()); } else { @@ -1610,7 +1611,7 @@ public class Parser implements Tokens { boolean importSelector(LinkedList/*<Name>*/ names) { if (s.token == USCORE) { s.nextToken(); - names.add(Names.WILDCARD); + names.add(Names.IMPORT_WILDCARD); return true; } else { Name name = ident(); @@ -1619,7 +1620,7 @@ public class Parser implements Tokens { s.nextToken(); if (s.token == USCORE) { s.nextToken(); - names.add(Names.WILDCARD); + names.add(Names.IMPORT_WILDCARD); } else { names.add(ident()); } diff --git a/sources/scalac/ast/parser/PatternNormalizer.java b/sources/scalac/ast/parser/PatternNormalizer.java index 1a358f859f..b76fd11a3b 100644 --- a/sources/scalac/ast/parser/PatternNormalizer.java +++ b/sources/scalac/ast/parser/PatternNormalizer.java @@ -88,7 +88,7 @@ public class PatternNormalizer { case Ident( Name var ): if(( inAlt ) - &&( var != Names.WILDCARD ) + &&( var != Names.PATTERN_WILDCARD ) &&( var.toString().lastIndexOf("$") == -1)) { unit.error( t.pos, |