diff options
author | Matthias Zenger <mzenger@gmail.com> | 2003-09-11 17:16:38 +0000 |
---|---|---|
committer | Matthias Zenger <mzenger@gmail.com> | 2003-09-11 17:16:38 +0000 |
commit | 874773fde6c2f9309125348583d64faf7ab14e1d (patch) | |
tree | 683597ec22921d6655eab44761d047534e780d73 /sources/scalac/transformer/matching/PatternMatcher.java | |
parent | 499216593cf14cd504eeea5ace995cecdea8a5fe (diff) | |
download | scala-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.java | 6 |
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, |