]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/CHRStatement.java
New type class MonadE and corresponding monad syntax with edo keyword
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / block / CHRStatement.java
index a0efc8862b4b96e003730f3fbf06b37ff8edae59..dbfdf18b69e8b71bf4d7d6b4ef55b1bb5268b8d0 100644 (file)
@@ -1,35 +1,30 @@
 package org.simantics.scl.compiler.elaboration.expressions.block;
 
+import org.simantics.scl.compiler.elaboration.chr.ast.CHRAstQuery;
 import org.simantics.scl.compiler.elaboration.contexts.EnvironmentalContext;
 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
 import org.simantics.scl.compiler.elaboration.expressions.Expression;
-import org.simantics.scl.compiler.elaboration.expressions.list.ListQualifier;
 import org.simantics.scl.compiler.errors.Locations;
 
 public class CHRStatement extends Statement {
 
-    public ListQualifier[] head;
-    public ListQualifier[] body;
+    public CHRAstQuery head;
+    public CHRAstQuery body;
 
-    public CHRStatement(ListQualifier[] head, ListQualifier[] body) {
+    public CHRStatement(CHRAstQuery head, CHRAstQuery body) {
         this.head = head;
         this.body = body;
     }
 
     @Override
-    public Expression toExpression(EnvironmentalContext context, boolean monadic, Expression in) {
+    public Expression toExpression(EnvironmentalContext context, BlockType blockType, Expression in) {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void setLocationDeep(long loc) {
-        if(location == Locations.NO_LOCATION) {
+        if(location == Locations.NO_LOCATION)
             location = loc;
-            for(ListQualifier lq : head)
-                lq.setLocationDeep(loc);
-            for(ListQualifier lq : body)
-                lq.setLocationDeep(loc);
-        }
     }
 
     @Override
@@ -44,7 +39,7 @@ public class CHRStatement extends Statement {
 
     @Override
     public void accept(StatementVisitor visitor) {
-        throw new UnsupportedOperationException();
+        visitor.visit(this);
     }
     
     @Override