summaryrefslogtreecommitdiff
path: root/sources/scalac
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac')
-rw-r--r--sources/scalac/typechecker/DeSugarize.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/sources/scalac/typechecker/DeSugarize.java b/sources/scalac/typechecker/DeSugarize.java
index defc49f470..b8539a9fa4 100644
--- a/sources/scalac/typechecker/DeSugarize.java
+++ b/sources/scalac/typechecker/DeSugarize.java
@@ -100,6 +100,16 @@ public class DeSugarize implements Kinds, Modifiers {
for (int i = 0; i < elems.length; i++)
getVariables(elems[i], vars);
break;
+ case Literal( _ ):
+ break;
+ case Bind( Name name, Tree t ):
+ if (name.isVariable() && name != Names.WILDCARD) vars.add(name);
+ getVariables( t, vars );
+ break;
+ case Alternative( Tree ts[] ):
+ for (int i = 0; i < ts.length; i++)
+ getVariables( ts[i], vars );
+ break;
default:
throw new ApplicationError ("illegal pattern", tree);
}