diff --git a/src/it/scala/inox/tip/TipPrintingSuite.scala b/src/it/scala/inox/tip/TipPrintingSuite.scala index 8eb71ef04a918ed07d9045e4c2fa4f2d97911c6d..ccce4fe178ff12c188234c563d85872f7e457d37 100644 --- a/src/it/scala/inox/tip/TipPrintingSuite.scala +++ b/src/it/scala/inox/tip/TipPrintingSuite.scala @@ -10,8 +10,8 @@ class TipPrintingSuite extends FunSuite with ResourceUtils { val ctx = TestContext.empty - val files = resourceFiles("regression/tip/SAT", _.endsWith(".tip")).toList ++ - resourceFiles("regression/tip/UNSAT", _.endsWith(".tip")) + val files = resourceFiles("regression/tip/SAT", _.endsWith(".tip")).toList.map("SAT" -> _) ++ + resourceFiles("regression/tip/UNSAT", _.endsWith(".tip")).map("UNSAT" -> _) private def checkScript(syms: Symbols, expr: Expr): Unit = { for (fd <- syms.functions.values) { @@ -21,14 +21,14 @@ class TipPrintingSuite extends FunSuite with ResourceUtils { assert(expr.getType(syms) != Untyped) } - for (file <- files) { - test(s"Parsing file ${file.getName}") { + for ((cat, file) <- files) { + test(s"Parsing file $cat/${file.getName}") { for ((syms, expr) <- new Parser(file).parseScript) { checkScript(syms, expr) } } - test(s"Re-printing file ${file.getName}") { + test(s"Re-printing file $cat/${file.getName}") { for ((syms, expr) <- new Parser(file).parseScript) { val program = InoxProgram(ctx, syms) diff --git a/src/main/scala/inox/tip/Parser.scala b/src/main/scala/inox/tip/Parser.scala index 422cedd2bf3e2d75f72e78d7158512ce21bcf474..bacfda92237e6949123253bfd0dc2adb90c04f75 100644 --- a/src/main/scala/inox/tip/Parser.scala +++ b/src/main/scala/inox/tip/Parser.scala @@ -272,7 +272,7 @@ class Parser(file: File) { ) ).setPos(pred.optPos) } else { - extractTerm(pred)(locals.withVariable(s, vd.toVariable)) + extractTerm(pred)(locals.withGenerics(syms zip root.typeArgs).withVariable(s, vd.toVariable)) } val (optAdt, fd) = root.invariant(locals.symbols) match {