From 4769646a126da145fa1e3509867fc4ed1d72ccee Mon Sep 17 00:00:00 2001 From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch> Date: Mon, 14 Sep 2015 15:49:26 +0200 Subject: [PATCH] Add test for new inlining --- .../integration/purescala/InliningSuite.scala | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/test/scala/leon/integration/purescala/InliningSuite.scala b/src/test/scala/leon/integration/purescala/InliningSuite.scala index fbbc8765a..069a0e5ba 100644 --- a/src/test/scala/leon/integration/purescala/InliningSuite.scala +++ b/src/test/scala/leon/integration/purescala/InliningSuite.scala @@ -20,7 +20,7 @@ class InliningSuite extends LeonTestSuiteWithProgram with helpers.ExpressionsDSL | |} """.stripMargin, - """ |import leon.lang._ + """|import leon.lang._ |import leon.annotation._ | |object InlineBad { @@ -30,6 +30,21 @@ class InliningSuite extends LeonTestSuiteWithProgram with helpers.ExpressionsDSL | | def bar(a: BigInt) = foo(a) | + |}""".stripMargin, + + """|import leon.lang._ + |import leon.annotation._ + | + |object InlineGood2 { + | + | @inline + | def foo(a: BigInt) = true + | + | @inline + | def bar(a: BigInt) = foo(a) + | + | def baz(a: BigInt) = bar(a) + | |}""".stripMargin ) @@ -45,4 +60,9 @@ class InliningSuite extends LeonTestSuiteWithProgram with helpers.ExpressionsDSL fail(s"Resultig body should be a call to 'foo', got '$b'") } } + + test("Double Inlining") { implicit fix => + assert(funDef("InlineGood2.baz").fullBody == BooleanLiteral(true), "Inlined function invocation not inlined in turn?") + } + } -- GitLab