summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/matching/PatternNode.java
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2003-07-08 10:01:39 +0000
committerburaq <buraq@epfl.ch>2003-07-08 10:01:39 +0000
commitd58dc0f1868b479b415c29ea264f106dc9699c21 (patch)
tree95c4c717c5f40e113caaecd24a609d24981fe39e /sources/scalac/transformer/matching/PatternNode.java
parentb7f7cddf7cb4ce9df8e6fff89b2f59f989d72100 (diff)
downloadscala-d58dc0f1868b479b415c29ea264f106dc9699c21.tar.gz
scala-d58dc0f1868b479b415c29ea264f106dc9699c21.tar.bz2
scala-d58dc0f1868b479b415c29ea264f106dc9699c21.zip
matching
Diffstat (limited to 'sources/scalac/transformer/matching/PatternNode.java')
-rw-r--r--sources/scalac/transformer/matching/PatternNode.java33
1 files changed, 19 insertions, 14 deletions
diff --git a/sources/scalac/transformer/matching/PatternNode.java b/sources/scalac/transformer/matching/PatternNode.java
index 6feb28dd21..d089c6f432 100644
--- a/sources/scalac/transformer/matching/PatternNode.java
+++ b/sources/scalac/transformer/matching/PatternNode.java
@@ -23,20 +23,23 @@ public class PatternNode {
public PatternNode or;
public PatternNode and;
- public case Header(Tree selector, Header next);
- public case Body(Tree.ValDef[][] bound, Tree[] guard, Tree[] body);
+ public case Header( Tree selector, Header next );
+ 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, Tree seqpat);
- public case ConstantPat(Object value);
- public case VariablePat(Tree tree);
+ 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 Symbol symbol() {
switch (this) {
- case ConstrPat(Symbol casted):
+ case ConstrPat( Symbol casted ):
return casted;
- case SequencePat(Symbol casted, _, _):
+ case SequencePat( Symbol casted, _ ):
+ return casted;
+ case SeqContainerPat( Symbol casted, _ ):
return casted;
default:
return Symbol.NONE;
@@ -45,19 +48,21 @@ public class PatternNode {
public String toString() {
switch (this) {
- case Header(Tree selector, Header next):
+ case Header( Tree selector, Header next ):
return "Header(" + selector + ")";
- case Body(_, _, _):
+ case Body( _, _, _ ):
return "Body";
case DefaultPat():
return "DefaultPat";
- case ConstrPat(Symbol casted):
+ case ConstrPat( Symbol casted ):
return "ConstrPat(" + casted + ")";
- case SequencePat(Symbol casted, int len, Tree seqpat):
+ case SequencePat( Symbol casted, int len ):
return "SequencePat(" + casted + ", " + len + "...)";
- case ConstantPat(Object value):
+ case SeqContainerPat( Symbol casted, Tree seqpat ):
+ return "SeqContainerPat(" + casted + ", " + seqpat + ")";
+ case ConstantPat( Object value ):
return "ConstantPat(" + value + ")";
- case VariablePat(Tree tree):
+ case VariablePat( Tree tree ):
return "VariablePat";
default:
return "<unknown pat>";