summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/matching/PatternNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/transformer/matching/PatternNode.java')
-rw-r--r--sources/scalac/transformer/matching/PatternNode.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/sources/scalac/transformer/matching/PatternNode.java b/sources/scalac/transformer/matching/PatternNode.java
index 3cd583c5d8..03e73fda97 100644
--- a/sources/scalac/transformer/matching/PatternNode.java
+++ b/sources/scalac/transformer/matching/PatternNode.java
@@ -14,9 +14,9 @@ import scalac.ast.*;
import scalac.symtab.*;
import scalac.typechecker.*;
-/** intermediary data structure for algebraic matching
- */
+/** Intermediate data structure for algebraic matcher
+ */
public class PatternNode {
public int pos = Position.FIRSTPOS;
public Type type;
@@ -27,11 +27,11 @@ public class PatternNode {
public case Body(Tree.ValDef[][] bound, Tree[] guard, Tree[] body);
public case DefaultPat();
public case ConstrPat(Symbol casted);
- public case SequencePat(Symbol casted, int len); // only used in PatternMatcher
- public case SeqContainerPat(Symbol casted, Tree seqpat); // in AlgebraicMatcher
public case ConstantPat(Object value);
public case VariablePat(Tree tree);
-
+ public case AltPat(Header subheader);
+ public case SequencePat(Symbol casted, int len); // only used in PatternMatcher
+ public case SeqContainerPat(Symbol casted, Tree seqpat); // in AlgebraicMatcher
public PatternNode dup() {
PatternNode res;
@@ -60,6 +60,9 @@ public class PatternNode {
case VariablePat(Tree tree):
res = VariablePat(tree);
break;
+ case AltPat(Header subheader):
+ res = AltPat(subheader);
+ break;
default:
throw new ApplicationError();
}