Skip to content

Commit 651fcdb

Browse files
author
Aaron Tomb
committed
Update various Java examples
Use `java_assert_eq` instead of `java_assert`. Add an example of returning an array with `java_symexec`. Fixes #68 (or shows that it's been fixed).
1 parent 04d2c75 commit 651fcdb

File tree

5 files changed

+12
-9
lines changed

5 files changed

+12
-9
lines changed

examples/java/arrayfield.saw

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
let init_spec = do {
22
a <- java_var "this.a" (java_array 5 java_int);
33
x <- java_var "x" java_int;
4-
java_assert {{ x == 22 }};
4+
java_assert_eq "x" {{ 22 : [32] }};
55
java_ensure_eq "this.a" {{ [x, x, x, x, x] }};
66
java_allow_alloc;
77
java_verify_tactic abc;

examples/java/branchsat.saw

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
let f_spec = do {
22
x <- java_var "x" java_int;
3-
java_assert {{ x == (4:[32]) }};
3+
java_assert_eq "x" {{ 4:[32] }};
44
java_sat_branches true;
55
java_return {{ 6 : [32] }};
66
java_verify_tactic abc;

examples/java/java_add.saw

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ let setup (add : Term) : JavaSetup () = do {
22
x <- java_var "x" java_int;
33
y <- java_var "y" java_int;
44
java_return {{ add x y }};
5-
java_verify_tactic (do { unfolding ["add"]; yices; });
5+
java_verify_tactic (do { unfolding ["add"]; z3; });
66
};
77

88
let setup' (add : Term) : JavaSetup () = do {
99
x <- java_var "x" java_int;
1010
java_return {{ add x x }};
11-
java_verify_tactic yices;
11+
java_verify_tactic z3;
1212
};
1313

1414
let main : TopLevel () = do {

examples/java/return.saw

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
let fill_spec = do {
22
x <- java_var "n" java_int;
33
java_var "return" (java_array 5 java_int);
4-
java_assert {{ x == 22 }};
4+
java_assert_eq "n" {{ 22 : [32] }};
55
java_ensure_eq "return" {{ [x, x, x, x, x] }};
66
// This also works, and means the same thing.
77
// java_return {{ [x, x, x, x, x] }};
@@ -15,8 +15,8 @@ let newSimple_spec = do {
1515
java_class_var "return" (java_class "SimpleObj");
1616
java_var "return.x" java_int;
1717
java_var "return.y" java_int;
18-
java_assert {{ x == 43 }};
19-
java_assert {{ y == 77 }};
18+
java_assert_eq "x" {{ 43 : [32] }};
19+
java_assert_eq "y" {{ 77 : [32] }};
2020
java_ensure_eq "return.x" {{ x }};
2121
java_ensure_eq "return.y" {{ y }};
2222
java_allow_alloc;
@@ -27,8 +27,8 @@ let simpleWrap2_spec = do {
2727
java_requires_class "SimpleObj";
2828
x <- java_var "x" java_int;
2929
y <- java_var "y" java_int;
30-
java_assert {{ x == 43 }};
31-
java_assert {{ y == 77 }};
30+
java_assert_eq "x" {{ 43 : [32] }};
31+
java_assert_eq "y" {{ 77 : [32] }};
3232
java_return {{ 2 : [32] }};
3333
java_allow_alloc;
3434
java_verify_tactic abc;

examples/java/returnsym.saw

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
c <- java_load_class "Return";
2+
t <- java_symexec c "fill" [("n", {{ 22:[32] }})] ["return"] false;
3+
print_term t;

0 commit comments

Comments
 (0)