blob: e4bd4605e4e2c399517b6dab486aee64c34bfc24 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
abstract module R1 {
var f: int;
method m(y: set<int>) returns (r: int)
modifies this;
{
var t := y;
}
}
abstract module R2 refines R1 {
var g: nat;
method m ...
{
...;
var x := 3;
t := {1}; // error: previous local
r := 3; // error: out parameter
f := 4; // fine: all fields, will cause re-verification
x := 6; // fine: new local
g := 34;// fine: new field
}
}
|