summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/matching/PatternMatcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/transformer/matching/PatternMatcher.java')
-rw-r--r--sources/scalac/transformer/matching/PatternMatcher.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/sources/scalac/transformer/matching/PatternMatcher.java b/sources/scalac/transformer/matching/PatternMatcher.java
index 887b117595..8b1bbdb5c1 100644
--- a/sources/scalac/transformer/matching/PatternMatcher.java
+++ b/sources/scalac/transformer/matching/PatternMatcher.java
@@ -272,7 +272,7 @@ public class PatternMatcher extends PatternTool {
switch (tree) {
case Bind(Name name, Tree pat):
PatternNode node = patternNode(pat, header, env);
- if ((env != null) && (name != Names.WILDCARD))
+ if ((env != null) && (tree.symbol() != defs.PATTERN_WILDCARD))
env.newBoundVar( tree.symbol(),
tree.type,
header.selector);
@@ -284,12 +284,12 @@ public class PatternMatcher extends PatternTool {
return mk.SequencePat( tree.pos, tree.type, ts.length );
}
return mk.ConstrPat(tree.pos, tree.type);
- case Typed(Ident(Name name), Tree tpe): // variable pattern
+ case Typed(Ident ident, Tree tpe): // variable pattern
PatternNode node =
(header.type.isSubType(tpe.type)) ?
mk.DefaultPat(tree.pos, tpe.type)
: mk.ConstrPat(tree.pos, tpe.type);
- if ((env != null) && (name != Names.WILDCARD))
+ if ((env != null) && (ident.symbol() != defs.PATTERN_WILDCARD))
switch (node) {
case ConstrPat(Symbol casted):
env.newBoundVar(
@@ -305,7 +305,7 @@ public class PatternMatcher extends PatternTool {
}
return node;
case Ident(Name name): // pattern without args or variable
- if (name == Names.WILDCARD)
+ if (tree.symbol() == defs.PATTERN_WILDCARD)
return mk.DefaultPat(tree.pos, header.type);
else if (tree.symbol().isPrimaryConstructor())
return mk.ConstrPat(tree.pos, tree.type);