private Context resolve(Context context) { resetVars(); gatherVars(context.body()); gatherVars(context.requires()); gatherTerms(context.body(), true); gatherTerms(context.requires(), false); filterTerms(context.body(), true); filterTerms(context.requires(), false); return new Context( transform(context.body(), true), transform(context.requires(), false), context.att()); }
private Rule resolve(Rule rule) { resetVars(); gatherVars(rule.body()); gatherVars(rule.requires()); gatherVars(rule.ensures()); gatherTerms(rule.body(), true); gatherTerms(rule.requires(), false); gatherTerms(rule.ensures(), false); filterTerms(rule.body(), true); filterTerms(rule.requires(), false); filterTerms(rule.ensures(), false); return new Rule( transform(rule.body(), true), transform(rule.requires(), false), transform(rule.ensures(), false), rule.att()); }