]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/codegen/chr/ExampleStore.java
(refs #7250) Merging master, minor CHR bugfixes
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / codegen / chr / ExampleStore.java
index 315d2e82943acb9df3a6ecfc85bf1a3e78dc77bd..d4c102204fe95e50f6bfa126c1868301ce5f7065 100644 (file)
@@ -1,10 +1,10 @@
 package org.simantics.scl.compiler.internal.codegen.chr;
 
+import org.simantics.scl.runtime.chr.CHRFact;
 import org.simantics.scl.runtime.chr.CHRHashIndex;
-import org.simantics.scl.runtime.chr.Fact;
-import org.simantics.scl.runtime.chr.FactActivationQueue;
+import org.simantics.scl.runtime.chr.CHRRuntimeRuleset;
 
-public class ExampleStore {
+public class ExampleStore extends CHRRuntimeRuleset {
     /*
      * constraint ExampleFact Integer Integer where
      *     index(bf)
@@ -33,8 +33,6 @@ public class ExampleStore {
         }
     };
     
-    public FactActivationQueue queue = new FactActivationQueue(2);
-    
     private ExampleFact ExampleFact_temp = new ExampleFact();
         
     public ExampleFact getExampleFact_bf(int c0) {
@@ -42,8 +40,7 @@ public class ExampleStore {
         return (ExampleFact)ExampleFact_bfIndex.getEqual(ExampleFact_temp);
     }
     
-    public static class ExampleFact implements Fact {
-        public int id;
+    public static class ExampleFact extends CHRFact {
         public int c0; // key
         public int c1;
         public ExampleFact bfPrev;
@@ -78,16 +75,6 @@ public class ExampleStore {
                     bfNext.bfPrev = bfPrev;
             }
         }
-
-        @Override
-        public int activate(Object context, int priority) {
-            return -1;
-        }
-
-        @Override
-        public boolean isAlive() {
-            return id >= 0;
-        }
     }
 
 }