import org.simantics.scl.compiler.elaboration.chr.CHRRuleset;
import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext;
import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
import org.simantics.scl.compiler.elaboration.contexts.TypingContext;
import org.simantics.scl.compiler.elaboration.chr.CHRRuleset;
import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext;
import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
import org.simantics.scl.compiler.elaboration.contexts.TypingContext;
import org.simantics.scl.compiler.errors.Locations;
import org.simantics.scl.compiler.internal.codegen.references.IVal;
import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter;
import org.simantics.scl.compiler.errors.Locations;
import org.simantics.scl.compiler.internal.codegen.references.IVal;
import org.simantics.scl.compiler.internal.codegen.writer.CodeWriter;
import org.simantics.scl.compiler.internal.interpreted.IExpression;
import org.simantics.scl.compiler.top.ExpressionInterpretationContext;
import org.simantics.scl.compiler.types.Type;
import org.simantics.scl.compiler.internal.interpreted.IExpression;
import org.simantics.scl.compiler.top.ExpressionInterpretationContext;
import org.simantics.scl.compiler.types.Type;
- @Override
- public void collectRefs(TObjectIntHashMap<Object> allRefs, TIntHashSet refs) {
- ruleset.collectRefs(allRefs, refs);
- in.collectRefs(allRefs, refs);
- }
@Override
public void collectVars(TObjectIntHashMap<Variable> allVars, TIntHashSet vars) {
ruleset.collectVars(allVars, vars);
in.collectVars(allVars, vars);
}
@Override
public void collectVars(TObjectIntHashMap<Variable> allVars, TIntHashSet vars) {
ruleset.collectVars(allVars, vars);
in.collectVars(allVars, vars);
}
@Override
public void collectFreeVariables(THashSet<Variable> vars) {
ruleset.collectFreeVariables(vars);
in.collectFreeVariables(vars);
}
@Override
public void collectFreeVariables(THashSet<Variable> vars) {
ruleset.collectFreeVariables(vars);
in.collectFreeVariables(vars);
}
context.pushFrame();
context.pushCHRConstraintFrame();
ruleset.resolve(context);
in = in.resolve(context);
context.popCHRConstraintFrame(ruleset.constraints);
context.popFrame();
context.pushFrame();
context.pushCHRConstraintFrame();
ruleset.resolve(context);
in = in.resolve(context);
context.popCHRConstraintFrame(ruleset.constraints);
context.popFrame();
public void collectEffects(THashSet<Type> effects) {
ruleset.collectEffects(effects);
in.collectEffects(effects);
public void collectEffects(THashSet<Type> effects) {
ruleset.collectEffects(effects);
in.collectEffects(effects);