Skip to content

Commit

Permalink
Fix split printing (#996)
Browse files Browse the repository at this point in the history
  • Loading branch information
keyboardDrummer authored Jan 23, 2025
1 parent 7f9f784 commit c1b83b6
Show file tree
Hide file tree
Showing 10 changed files with 39 additions and 39 deletions.
2 changes: 1 addition & 1 deletion Source/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!-- Target framework and package configuration -->
<PropertyGroup>
<Version>3.4.3</Version>
<Version>3.4.4</Version>
<TargetFramework>net6.0</TargetFramework>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<Authors>Boogie</Authors>
Expand Down
2 changes: 1 addition & 1 deletion Source/VCGeneration/Splits/Split.cs
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ private void PrintSplit() {
Thread.Sleep(100);
}

var prefix = this is ManualSplit manualSplit ? manualSplit.Token.ShortName : "";
var prefix = this is ManualSplit manualSplit ? "-" + manualSplit.SplitIndex + manualSplit.Token.ShortName : "";
var name = Implementation.Name + prefix;
using var writer = printToConsole
? new TokenTextWriter("<console>", Options.OutputWriter, false, Options.PrettyPrint, Options)
Expand Down
12 changes: 6 additions & 6 deletions Test/implementationDivision/focus/focus.bpl.expect
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
implementation Ex() returns (y: int)
implementation Ex-0() returns (y: int)
{

anon0:
Expand All @@ -13,7 +13,7 @@ implementation Ex() returns (y: int)
}


implementation Ex/focus[+16,-20,-25]/afterSplit@15() returns (y: int)
implementation Ex-1/focus[+16,-20,-25]/afterSplit@15() returns (y: int)
{

anon0:
Expand All @@ -32,7 +32,7 @@ implementation Ex/focus[+16,-20,-25]/afterSplit@15() returns (y: int)
}


implementation Ex/focus[+16,-20,+25]() returns (y: int)
implementation Ex-2/focus[+16,-20,+25]() returns (y: int)
{

anon0:
Expand All @@ -56,7 +56,7 @@ implementation Ex/focus[+16,-20,+25]() returns (y: int)
}


implementation Ex/focus[+16,+20,-25]() returns (y: int)
implementation Ex-3/focus[+16,+20,-25]() returns (y: int)
{

anon0:
Expand All @@ -76,7 +76,7 @@ implementation Ex/focus[+16,+20,-25]() returns (y: int)
}


implementation Ex/focus[+16,+20,+25]() returns (y: int)
implementation Ex-4/focus[+16,+20,+25]() returns (y: int)
{

anon0:
Expand All @@ -102,7 +102,7 @@ implementation Ex/focus[+16,+20,+25]() returns (y: int)


focus.bpl(15,5): Error: this assertion could not be proved
implementation focusInconsistency/focus[+38](x: int) returns (y: int)
implementation focusInconsistency--1/focus[+38](x: int) returns (y: int)
{

anon0:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
implementation IsolateAssertion/assert@20(x: int, y: int)
implementation IsolateAssertion-0/assert@20(x: int, y: int)
{

anon0:
Expand Down Expand Up @@ -38,7 +38,7 @@ implementation IsolateAssertion/assert@20(x: int, y: int)
}


implementation IsolateAssertion(x: int, y: int)
implementation IsolateAssertion-1(x: int, y: int)
{

anon0:
Expand Down Expand Up @@ -81,7 +81,7 @@ implementation IsolateAssertion(x: int, y: int)

isolateAssertion.bpl(20,3): Error: this assertion could not be proved
isolateAssertion.bpl(21,3): Error: this assertion could not be proved
implementation IsolatePathsAssertion/assert@50/path[29,45](x: int, y: int)
implementation IsolatePathsAssertion-0/assert@50/path[29,45](x: int, y: int)
{

anon0:
Expand Down Expand Up @@ -112,7 +112,7 @@ implementation IsolatePathsAssertion/assert@50/path[29,45](x: int, y: int)
}


implementation IsolatePathsAssertion/assert@50/path[29,47](x: int, y: int)
implementation IsolatePathsAssertion-1/assert@50/path[29,47](x: int, y: int)
{

anon0:
Expand Down Expand Up @@ -143,7 +143,7 @@ implementation IsolatePathsAssertion/assert@50/path[29,47](x: int, y: int)
}


implementation IsolatePathsAssertion/assert@50/path[31,32,45](x: int, y: int)
implementation IsolatePathsAssertion-2/assert@50/path[31,32,45](x: int, y: int)
{

anon0:
Expand Down Expand Up @@ -175,7 +175,7 @@ implementation IsolatePathsAssertion/assert@50/path[31,32,45](x: int, y: int)
}


implementation IsolatePathsAssertion/assert@50/path[31,32,47](x: int, y: int)
implementation IsolatePathsAssertion-3/assert@50/path[31,32,47](x: int, y: int)
{

anon0:
Expand Down Expand Up @@ -207,7 +207,7 @@ implementation IsolatePathsAssertion/assert@50/path[31,32,47](x: int, y: int)
}


implementation IsolatePathsAssertion/assert@50/path[31,35,45](x: int, y: int)
implementation IsolatePathsAssertion-4/assert@50/path[31,35,45](x: int, y: int)
{

anon0:
Expand Down Expand Up @@ -239,7 +239,7 @@ implementation IsolatePathsAssertion/assert@50/path[31,35,45](x: int, y: int)
}


implementation IsolatePathsAssertion/assert@50/path[31,35,47](x: int, y: int)
implementation IsolatePathsAssertion-5/assert@50/path[31,35,47](x: int, y: int)
{

anon0:
Expand Down Expand Up @@ -271,7 +271,7 @@ implementation IsolatePathsAssertion/assert@50/path[31,35,47](x: int, y: int)
}


implementation IsolatePathsAssertion(x: int, y: int)
implementation IsolatePathsAssertion-6(x: int, y: int)
{

anon0:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
implementation IsolateContinue/remainingAssertions(x: int) returns (r: int)
implementation IsolateContinue-0/remainingAssertions(x: int) returns (r: int)
{

anon0:
Expand Down Expand Up @@ -26,7 +26,7 @@ implementation IsolateContinue/remainingAssertions(x: int) returns (r: int)
}


implementation IsolateContinue/goto@17(x: int) returns (r: int)
implementation IsolateContinue-1/goto@17(x: int) returns (r: int)
{

anon0:
Expand Down
12 changes: 6 additions & 6 deletions Test/implementationDivision/isolateJump/isolateJump.bpl.expect
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
implementation IsolateReturn/remainingAssertions(x: int, y: int) returns (r: int)
implementation IsolateReturn-0/remainingAssertions(x: int, y: int) returns (r: int)
{

anon0:
Expand All @@ -25,7 +25,7 @@ implementation IsolateReturn/remainingAssertions(x: int, y: int) returns (r: int
}


implementation IsolateReturn/return@16(x: int, y: int) returns (r: int)
implementation IsolateReturn-1/return@16(x: int, y: int) returns (r: int)
{

anon0:
Expand Down Expand Up @@ -54,7 +54,7 @@ implementation IsolateReturn/return@16(x: int, y: int) returns (r: int)

isolateJump.bpl(16,21): Error: a postcondition could not be proved on this return path
isolateJump.bpl(5,3): Related location: this is the postcondition that could not be proved
implementation IsolateReturnPaths/remainingAssertions(x: int, y: int) returns (r: int)
implementation IsolateReturnPaths-0/remainingAssertions(x: int, y: int) returns (r: int)
{

anon0:
Expand Down Expand Up @@ -98,7 +98,7 @@ implementation IsolateReturnPaths/remainingAssertions(x: int, y: int) returns (r
}


implementation IsolateReturnPaths/return@44/path[27](x: int, y: int) returns (r: int)
implementation IsolateReturnPaths-1/return@44/path[27](x: int, y: int) returns (r: int)
{

anon0:
Expand All @@ -125,7 +125,7 @@ implementation IsolateReturnPaths/return@44/path[27](x: int, y: int) returns (r:
}


implementation IsolateReturnPaths/return@44/path[29,30](x: int, y: int) returns (r: int)
implementation IsolateReturnPaths-2/return@44/path[29,30](x: int, y: int) returns (r: int)
{

anon0:
Expand Down Expand Up @@ -153,7 +153,7 @@ implementation IsolateReturnPaths/return@44/path[29,30](x: int, y: int) returns
}


implementation IsolateReturnPaths/return@44/path[29,33](x: int, y: int) returns (r: int)
implementation IsolateReturnPaths-3/return@44/path[29,33](x: int, y: int) returns (r: int)
{

anon0:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
implementation {:vcs_split_on_every_assert} MergeAtEnd/assert@5(x: int) returns (r: int)
implementation {:vcs_split_on_every_assert} MergeAtEnd--1/assert@5(x: int) returns (r: int)
{

anon0:
Expand All @@ -22,7 +22,7 @@ implementation {:vcs_split_on_every_assert} MergeAtEnd/assert@5(x: int) returns

isolateJumpAndSplitOnEveryAssert.bpl(9,3): Error: a postcondition could not be proved on this return path
isolateJumpAndSplitOnEveryAssert.bpl(5,3): Related location: this is the postcondition that could not be proved
implementation {:vcs_split_on_every_assert} MultipleEnsures/return@25/assert@16(x: int) returns (r: int)
implementation {:vcs_split_on_every_assert} MultipleEnsures-0/return@25/assert@16(x: int) returns (r: int)
{

anon0:
Expand All @@ -33,7 +33,7 @@ implementation {:vcs_split_on_every_assert} MultipleEnsures/return@25/assert@16(
}


implementation {:vcs_split_on_every_assert} MultipleEnsures/return@25/assert@17(x: int) returns (r: int)
implementation {:vcs_split_on_every_assert} MultipleEnsures-1/return@25/assert@17(x: int) returns (r: int)
{

anon0:
Expand All @@ -45,7 +45,7 @@ implementation {:vcs_split_on_every_assert} MultipleEnsures/return@25/assert@17(
}


implementation {:vcs_split_on_every_assert} MultipleEnsures/return@21/assert@16(x: int) returns (r: int)
implementation {:vcs_split_on_every_assert} MultipleEnsures-2/return@21/assert@16(x: int) returns (r: int)
{

anon0:
Expand All @@ -56,7 +56,7 @@ implementation {:vcs_split_on_every_assert} MultipleEnsures/return@21/assert@16(
}


implementation {:vcs_split_on_every_assert} MultipleEnsures/return@21/assert@17(x: int) returns (r: int)
implementation {:vcs_split_on_every_assert} MultipleEnsures-3/return@21/assert@17(x: int) returns (r: int)
{

anon0:
Expand Down
6 changes: 3 additions & 3 deletions Test/implementationDivision/split/AssumeFalseSplit.bpl.expect
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
implementation Foo/untilFirstSplit()
implementation Foo-0/untilFirstSplit()
{

anon3_Then:
Expand All @@ -8,7 +8,7 @@ implementation Foo/untilFirstSplit()
}


implementation Foo/afterSplit@11()
implementation Foo-1/afterSplit@11()
{

anon3_Else:
Expand All @@ -20,7 +20,7 @@ implementation Foo/afterSplit@11()
}


implementation Foo/afterSplit@12()
implementation Foo-2/afterSplit@12()
{

anon3_Else:
Expand Down
10 changes: 5 additions & 5 deletions Test/implementationDivision/split/Split.bpl.expect
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
implementation Foo/untilFirstSplit() returns (y: int)
implementation Foo-0/untilFirstSplit() returns (y: int)
{

anon0:
Expand All @@ -13,7 +13,7 @@ implementation Foo/untilFirstSplit() returns (y: int)
}


implementation Foo/afterSplit@15() returns (y: int)
implementation Foo-1/afterSplit@15() returns (y: int)
{

anon0:
Expand All @@ -32,7 +32,7 @@ implementation Foo/afterSplit@15() returns (y: int)
}


implementation Foo/afterSplit@22() returns (y: int)
implementation Foo-2/afterSplit@22() returns (y: int)
{

anon0:
Expand All @@ -51,7 +51,7 @@ implementation Foo/afterSplit@22() returns (y: int)
}


implementation Foo/afterSplit@25() returns (y: int)
implementation Foo-3/afterSplit@25() returns (y: int)
{

anon0:
Expand Down Expand Up @@ -86,7 +86,7 @@ implementation Foo/afterSplit@25() returns (y: int)
}


implementation Foo/afterSplit@19() returns (y: int)
implementation Foo-4/afterSplit@19() returns (y: int)
{

anon0:
Expand Down
2 changes: 1 addition & 1 deletion Test/pruning/MonomorphicSplit.bpl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// RUN: %parallel-boogie /prune:1 /errorTrace:0 /printSplit:"%t" /printSplitDeclarations "%s" > "%t"
// RUN: %OutputCheck "%s" --file-to-check="%t-monomorphicSplit.spl"
// RUN: %OutputCheck "%s" --file-to-check="%t-monomorphicSplit--1.spl"

// The following checks are a bit simplistic, but this is
// on purpose to reduce brittleness. We assume there would now be two uses clauses
Expand Down

0 comments on commit c1b83b6

Please sign in to comment.