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()); }
public Context addImplicitCells(Context context) { return new Context( addImplicitCells(context.body()), context.requires(), context.att()); }
private Context lift(Context context) { return Context( lift(context.body()), lift(context.requires()), context.att()); }
private Context resolve(Context context) { return new Context( transform(context.body()), transform(context.requires()), context.att()); }
private Context expand(Context context) { return Context( expand(context.body()), expand(context.requires()), context.att()); }
private Context resolve(Context context) { reset(); analyze(context.body()); analyze(context.requires()); finishAnalysis(); if (kore) { return new Context( addFreshCell(transform(context.body())), transform(context.requires()), context.att()); } return new Context( context.body(), addSideCondition(context.requires()), context.att()); }
private Context resolve(Context context) { return new Context( transformBody(context.body(), context.att()), transform(context.requires(), context.att()), context.att()); }
} else if (sentence instanceof Context) { Context ctx = (Context) sentence; checkKLabels.apply(ctx.body()); checkKLabels.apply(ctx.requires()); } else if (sentence instanceof Production) {
public Sentence concretize(Sentence m) { if (m instanceof Rule) { Rule r = (Rule) m; return new Rule(concretize(r.body()), r.requires(), r.ensures(), r.att()); } else if (m instanceof Context) { Context c = (Context) m; return new Context(concretize(c.body()), c.requires(), c.att()); } else { return m; } } }
K body = context.body();
public Sentence apply(Sentence s) { if (s.att().contains(Attribute.MACRO_KEY) || s.att().contains(Attribute.ALIAS_KEY) || s.att().contains(Attribute.ANYWHERE_KEY)) { return s; } if (s instanceof Rule) { Rule rule = (Rule) s; return new Rule(apply(rule.body()), rule.requires(), rule.ensures(), rule.att()); } else if (s instanceof Context) { Context context = (Context) s; return new Context(apply(context.body()), context.requires(), context.att()); } else { return s; } }