Variable result table pruning is buggy, remove for now, also adding improved tests...
[IRC.git] / Robust / src / Tests / mlp / regression / test.java
1
2 public class Test {
3
4   public static void main( String args[] ) {        
5     int x = Integer.parseInt( args[0] );
6     doSomeWork( x );
7     nullMethodBodyFinalNode();
8   }
9
10   public static void doSomeWork( int x ) {
11     for( int i = 0; i < x; ++i ) {
12       sese calc {
13         int sum = 0;
14         for( int j = 0; j <= i; ++j ) {
15           sum = calculateStuff( sum, 1, 0 );
16         }
17       }
18       sese forceVirtualReal {
19         if( i % 3 == 0 ) {
20           sum = sum + (i % 20);
21         }
22       }
23       if( i % 2 == 0 ) {
24         sese change {
25           for( int k = 0; k < i*2; ++k ) {
26             sum = calculateStuff( sum, k, 1 );
27           }
28           sum = sum + 1;
29         }       
30         
31         for( int l = 0; l < 3; ++l ) {
32           sum = calculateStuff( sum, 2, 2 );
33         }
34       }
35       sese prnt {
36         mightPrint( x, i, sum );
37       }
38     }
39   }
40
41   public static int calculateStuff( int sum, int num, int mode ) {
42     int answer = sum;    
43     sese makePlaceholderStallAfter {
44       sum = sum + 1;
45     }
46     sum = sum + 1;
47     if( mode == 0 ) {
48       sese mode1 {
49         answer = sum + num;
50       }
51     } else if( mode == 1 ) {
52       sese mode2 {
53         answer = sum + (num/2);
54       }
55     } else {
56       sese mode3 {
57         answer = sum / num;
58       }
59     }    
60     return answer;
61   }
62
63   public static void nullMethodBodyFinalNode() {
64     int y = 1;
65     sese nothing {
66       int x = 0;
67     }
68     y = x;
69     if( x > y ) {
70       return;
71     } else {
72       return;
73     }
74   }
75
76   public static void mightPrint( int x, int i, int sum ) {
77     if( i == x - 1 ) {
78       System.out.println( "sum of integers 0-"+i+"("+x+") is "+sum );
79     }
80   }
81 }