this.in = in;
}
- @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 forVariables(VariableProcedure procedure) {
- ruleset.forVariables(procedure);
- in.forVariables(procedure);
- }
+
@Override
protected void updateType() throws MatchException {
setType(in.getType());
}
+
@Override
public IVal toVal(CompilationContext context, CodeWriter w) {
ruleset.generateCode(w);
return in.toVal(context, w);
}
+
@Override
public void collectFreeVariables(THashSet<Variable> vars) {
ruleset.collectFreeVariables(vars);
in.collectFreeVariables(vars);
}
+
@Override
public Expression resolve(TranslationContext context) {
if(context.currentRuleset != null) {