]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/CHRStatement.java
Merge "Ensure GetElementClassRequest is not constructed without elementFactory"
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / block / CHRStatement.java
1 package org.simantics.scl.compiler.elaboration.expressions.block;\r
2 \r
3 import org.simantics.scl.compiler.elaboration.contexts.EnvironmentalContext;\r
4 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;\r
5 import org.simantics.scl.compiler.elaboration.expressions.Expression;\r
6 import org.simantics.scl.compiler.elaboration.expressions.list.ListQualifier;\r
7 import org.simantics.scl.compiler.errors.Locations;\r
8 \r
9 public class CHRStatement extends Statement {\r
10 \r
11     public ListQualifier[] head;\r
12     public ListQualifier[] body;\r
13 \r
14     public CHRStatement(ListQualifier[] head, ListQualifier[] body) {\r
15         this.head = head;\r
16         this.body = body;\r
17     }\r
18 \r
19     @Override\r
20     public Expression toExpression(EnvironmentalContext context, boolean monadic, Expression in) {\r
21         throw new UnsupportedOperationException();\r
22     }\r
23 \r
24     @Override\r
25     public void setLocationDeep(long loc) {\r
26         if(location == Locations.NO_LOCATION) {\r
27             location = loc;\r
28             for(ListQualifier lq : head)\r
29                 lq.setLocationDeep(loc);\r
30             for(ListQualifier lq : body)\r
31                 lq.setLocationDeep(loc);\r
32         }\r
33     }\r
34 \r
35     @Override\r
36     public void resolvePattern(TranslationContext context) {\r
37         throw new UnsupportedOperationException();\r
38     }\r
39 \r
40     @Override\r
41     public boolean mayBeRecursive() {\r
42         return true;\r
43     }\r
44 \r
45     @Override\r
46     public void accept(StatementVisitor visitor) {\r
47         throw new UnsupportedOperationException();\r
48     }\r
49     \r
50     @Override\r
51     public StatementGroup getStatementGroup() {\r
52         return StatementGroup.CHR;\r
53     }\r
54 \r
55 }\r