Commit | Line | Data |
---|---|---|
34e49164 C |
1 | // we were using some minirules before where fn1 and fn2 were in same rule |
2 | ||
3 | // pad: il manque un E dans check_region dans rule3 car il a 2 args | |
4 | // mais je sais pas si faut le propager dans request_region | |
5 | ||
6 | @ rule1 @ | |
7 | expression req8_reg_arg2; | |
8 | expression E; | |
9 | identifier fn1; | |
10 | @@ | |
11 | ||
12 | fn1(...) { | |
13 | ... | |
14 | for(...; ...; ...) { | |
15 | ... | |
16 | if (check_region(E, req8_reg_arg2)) | |
17 | { ... when = \( printk(...); \| dbg(...); \) | |
18 | continue; } | |
19 | ... | |
20 | } | |
21 | ... | |
22 | } | |
23 | ||
24 | @ rule2 depends on rule1 @ | |
25 | expression rule1.req8_reg_arg2; | |
26 | expression req8_reg_arg1; | |
27 | expression req8_reg_arg3; | |
28 | identifier fn2; | |
29 | @@ | |
30 | ||
31 | fn2(...) { | |
32 | - request_region(req8_reg_arg1, req8_reg_arg2, req8_reg_arg3); | |
33 | } | |
34 | ||
35 | @ rule3 depends on rule1 @ | |
36 | expression rule1.req8_reg_arg2; | |
37 | expression rule2.req8_reg_arg3; | |
38 | statement S; | |
39 | @@ | |
40 | ||
41 | - if (check_region(req8_reg_arg2)) S | |
42 | + if (!request_region(req8_reg_arg2, req8_reg_arg3)) S |