1
- member.adb:5 :7: rule violation: expression may be replaced by a membership test
2
- 5 | if A = 0 -- FLAG
3
- | _______^
4
- ||
5
- || ~~~ 2 other lines ~~~
6
- ||
7
- 8 || or (A >= 3 and A <= 5)
8
- ||___________________________^
1
+ member.adb:8 :7: rule violation: expression may be replaced by a membership test
2
+ 8 | if A = 0 -- FLAG
3
+ | _______^
4
+ ||
5
+ || ~~~ 2 other lines ~~~
6
+ ||
7
+ 11 || or (A >= 3 and A <= 5)
8
+ ||___________________________^
9
9
10
- member.adb:13 :7: rule violation: expression may be replaced by a membership test
11
- 13 | if A = 0 -- FLAG if short_circuit
10
+ member.adb:16 :7: rule violation: expression may be replaced by a membership test
11
+ 16 | if A = 0 -- FLAG if short_circuit
12
12
| _______^
13
- 14 || or else (A >= 3 and A <= 5)
13
+ 17 || or else (A >= 3 and A <= 5)
14
14
||________________________________^
15
15
16
- member.adb:39 :12: rule violation: expression may be replaced by a membership test
17
- 39 | Bool := A = B or (A >= 1 and A <= B); -- FLAG
16
+ member.adb:42 :12: rule violation: expression may be replaced by a membership test
17
+ 42 | Bool := A = B or (A >= 1 and A <= B); -- FLAG
18
18
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19
19
20
- member.adb:40 :12: rule violation: expression may be replaced by a membership test
21
- 40 | Bool := A >= 1 and A <= B; -- FLAG
20
+ member.adb:43 :12: rule violation: expression may be replaced by a membership test
21
+ 43 | Bool := A >= 1 and A <= B; -- FLAG
22
22
| ^^^^^^^^^^^^^^^^^
23
23
24
- member.adb:41 :12: rule violation: expression may be replaced by a membership test
25
- 41 | Bool := A = 100 or A in S; -- FLAG
24
+ member.adb:44 :12: rule violation: expression may be replaced by a membership test
25
+ 44 | Bool := A = 100 or A in S; -- FLAG
26
26
| ^^^^^^^^^^^^^^^^^
27
27
28
- member.adb:42 :12: rule violation: expression may be replaced by a membership test
29
- 42 | Bool := A = 100 or A in 1 .. B; -- FLAG
28
+ member.adb:45 :12: rule violation: expression may be replaced by a membership test
29
+ 45 | Bool := A = 100 or A in 1 .. B; -- FLAG
30
30
| ^^^^^^^^^^^^^^^^^^^^^^
31
31
32
32
Patched "member.adb":
@@ -35,6 +35,9 @@ Patched "member.adb":
35
35
procedure Member (A, B : Integer) is
36
36
Bool : Boolean;
37
37
subtype S is Integer range 1 .. B;
38
+ type E is (X, Y, Z);
39
+
40
+ function Func (A, B, C : Integer) return E is (X);
38
41
begin
39
42
if A in 0 -- FLAG
40
43
|Natural
72
75
Bool := A in 1 ..B; -- FLAG
73
76
Bool := A in 100 |S; -- FLAG
74
77
Bool := A in 100 |1 .. B; -- FLAG
78
+
79
+ if Func (1, 2, 3) in X or -- NOFLAG
80
+ Func (3, 4, 5) in Y then
81
+ null;
82
+ end if;
75
83
end Member;
76
84
0 commit comments