annotate run/invariant_27.d @ 392:9faddc0de2ba

1) fixed meta data 2) evade dmd-0.118 loop code
author thomask
date Wed, 06 Apr 2005 18:56:06 +0000
parents
children 1e6afb94ce6d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
392
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
1 // $HeadURL$
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
2 // $Date$
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
3 // $Author$
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
4
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
5 module dstress.run.invariant_27;
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
6
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
7 int status;
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
8 int inv;
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
9
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
10 class MyClass{
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
11
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
12 this(){
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
13 }
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
14
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
15 public static void check(){
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
16 status++;
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
17 }
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
18
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
19 private void middle(){
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
20 check();
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
21 }
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
22
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
23 invariant{
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
24 middle();
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
25 inv++;
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
26 }
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
27 }
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
28
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
29 int main(){
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
30
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
31 MyClass o;
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
32 assert(status==0);
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
33 assert(inv==0);
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
34
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
35 o=new MyClass();
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
36 assert(status==1);
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
37 assert(inv==1);
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
38
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
39 o.check();
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
40 assert(status==2);
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
41 assert(inv==1);
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
42
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
43 MyClass.check();
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
44 assert(status==3);
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
45 assert(inv==1);
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
46
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
47 return 0;
9faddc0de2ba 1) fixed meta data
thomask
parents:
diff changeset
48 }