]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/codegen/chr/CHRCodeGenerationConstants.java
(refs #7250) CHR rules modularization (first working version)
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / codegen / chr / CHRCodeGenerationConstants.java
1 package org.simantics.scl.compiler.internal.codegen.chr;
2
3 import org.cojen.classfile.TypeDesc;
4 import org.simantics.scl.compiler.elaboration.expressions.block.IncludeStatement;
5
6 public interface CHRCodeGenerationConstants {
7
8     public static final TypeDesc FACT_ID_TYPE = TypeDesc.INT;
9     
10     public static final String CHRHashIndex_name = "org/simantics/scl/runtime/chr/CHRHashIndex";
11     public static final TypeDesc CHRHashIndex = TypeDesc.forClass(CHRHashIndex_name);
12     
13     public static final String CHRFact_name = "org/simantics/scl/runtime/chr/CHRFact";
14     public static final TypeDesc CHRFact = TypeDesc.forClass(CHRFact_name);
15     
16     public static final String CHRPriority_name = "org/simantics/scl/runtime/chr/CHRPriority";
17     
18     public static final String CHRPriorityFactContainer_name = "org/simantics/scl/runtime/chr/CHRPriorityFactContainer";
19     public static final TypeDesc CHRPriorityFactContainer = TypeDesc.forClass(CHRPriorityFactContainer_name);
20     
21     public static final String CHRContext_name = "org/simantics/scl/runtime/chr/CHRContext";
22     public static final TypeDesc CHRContext = TypeDesc.forClass(CHRContext_name);
23     
24     public static final String CHRRuntimeRuleset_name = "org/simantics/scl/runtime/chr/CHRRuntimeRuleset";
25     public static final TypeDesc CHRRuntimeRuleset = TypeDesc.forClass(CHRRuntimeRuleset_name);
26
27     public static String priorityName(int priority) {
28         return "l" + priority;
29     }
30
31     public static String fieldName(int id) {
32         return "c" + id;
33     }
34
35     public static String parameterName(int i) {
36         return "p" + i;
37     }
38
39     public static String includedName(IncludeStatement include) {
40         return "included" + include.name.text; 
41     }
42
43     public static String nextContainerName(String name) {
44         return name + "$nextContainer";
45     }
46 }