Skip to content
Snippets Groups Projects
Commit e69edd4d authored by Mikaël Mayer's avatar Mikaël Mayer
Browse files

ExamplesAdder.scala now simplifies the postcondition before adding examples to it.

parent 324a83d6
No related branches found
No related tags found
No related merge requests found
...@@ -11,6 +11,7 @@ import purescala.Definitions.{ FunDef, Program, ValDef } ...@@ -11,6 +11,7 @@ import purescala.Definitions.{ FunDef, Program, ValDef }
import purescala.ExprOps import purescala.ExprOps
import purescala.Extractors.TopLevelAnds import purescala.Extractors.TopLevelAnds
import purescala.Expressions._ import purescala.Expressions._
import leon.utils.Simplifiers
/** /**
* @author Mikael * @author Mikael
...@@ -54,7 +55,8 @@ class ExamplesAdder(ctx0: LeonContext, program: Program) { ...@@ -54,7 +55,8 @@ class ExamplesAdder(ctx0: LeonContext, program: Program) {
private def filterCases(cases: Seq[MatchCase]) = cases.filter(c => c.optGuard != Some(BooleanLiteral(false))) private def filterCases(cases: Seq[MatchCase]) = cases.filter(c => c.optGuard != Some(BooleanLiteral(false)))
def addToExpr(post: Expr, id: Identifier, inputVariables: Expr, newCases: Seq[MatchCase]): Expr = { def addToExpr(_post: Expr, id: Identifier, inputVariables: Expr, newCases: Seq[MatchCase]): Expr = {
val post= Simplifiers.bestEffort(ctx0, program)(_post)
if(purescala.ExprOps.exists(_.isInstanceOf[Passes])(post)) { if(purescala.ExprOps.exists(_.isInstanceOf[Passes])(post)) {
post match { post match {
case TopLevelAnds(exprs) => case TopLevelAnds(exprs) =>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment