]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/query/compilation/EnforcingContext.java
Merge "Ensure GetElementClassRequest is not constructed without elementFactory"
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / query / compilation / EnforcingContext.java
1 package org.simantics.scl.compiler.elaboration.query.compilation;
2
3 import org.simantics.scl.compiler.compilation.CompilationContext;
4 import org.simantics.scl.compiler.elaboration.contexts.TypingContext;
5 import org.simantics.scl.compiler.elaboration.expressions.EVariable;
6 import org.simantics.scl.compiler.errors.ErrorLog;
7 import org.simantics.scl.compiler.types.TPred;
8
9 public class EnforcingContext {
10     TypingContext context;
11
12     public EnforcingContext(TypingContext context) {
13         this.context = context;
14     }
15
16     public ErrorLog getErrorLog() {
17         return context.getErrorLog();
18     }
19     
20     public TypingContext getTypingContext() {
21         return context;
22     }
23
24     public EVariable getEvidence(long location, TPred pred) {
25         EVariable evidence = new EVariable(location, null);
26         evidence.setType(pred);
27         context.addConstraintDemand(evidence);
28         return evidence;
29     }
30
31     public CompilationContext getCompilationContext() {
32         return context.getCompilationContext();
33     }
34 }