summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/matching/PatternMatcher.java
diff options
context:
space:
mode:
authorMatthias Zenger <mzenger@gmail.com>2003-09-11 17:16:38 +0000
committerMatthias Zenger <mzenger@gmail.com>2003-09-11 17:16:38 +0000
commit874773fde6c2f9309125348583d64faf7ab14e1d (patch)
tree683597ec22921d6655eab44761d047534e780d73 /sources/scalac/transformer/matching/PatternMatcher.java
parent499216593cf14cd504eeea5ace995cecdea8a5fe (diff)
downloadscala-874773fde6c2f9309125348583d64faf7ab14e1d.tar.gz
scala-874773fde6c2f9309125348583d64faf7ab14e1d.tar.bz2
scala-874773fde6c2f9309125348583d64faf7ab14e1d.zip
Fixed a bug.
not having a symbol. But obviously, _ tree nodes seem to have null as their symbol. Is this a contract or a bug in the Analyzer?
Diffstat (limited to 'sources/scalac/transformer/matching/PatternMatcher.java')
-rw-r--r--sources/scalac/transformer/matching/PatternMatcher.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/sources/scalac/transformer/matching/PatternMatcher.java b/sources/scalac/transformer/matching/PatternMatcher.java
index b82ff72aea..7b944a2fec 100644
--- a/sources/scalac/transformer/matching/PatternMatcher.java
+++ b/sources/scalac/transformer/matching/PatternMatcher.java
@@ -309,10 +309,12 @@ public class PatternMatcher extends PatternTool {
}
return node;
case Ident(Name name): // pattern without args or variable
- if (tree.symbol().isPrimaryConstructor())
+ if (name == Names.WILDCARD)
+ return mk.DefaultPat(tree.pos, header.type);
+ else if (tree.symbol().isPrimaryConstructor())
return mk.ConstrPat(tree.pos, tree.type);
else if (name.isVariable()) {
- if ((env != null) && (name != Names.WILDCARD))
+ if (env != null)
env.newBoundVar(tree.pos,
tree.symbol(),
tree.type,