Dear Developers,
Why don't you use Quantified Expressions at the following locations?
|
for R of VS loop |
|
if not Satisfies (V, R) then |
|
return False; |
|
end if; |
|
end loop; |
|
|
|
return True; |
- for R of VS loop
- if not Satisfies (V, R) then
- return False;
- end if;
- end loop;
-
- return True;
+ return (for all R of VS => Satisfies (V, R));
|
return OK : Boolean := True do |
|
Trace ("AND children count:" & Trees.Child_Count (Pos)'Img); |
|
for Child in VS.Set.Iterate_Children (Pos) loop |
|
OK := OK and then Is_In (Child); |
|
end loop; |
|
end return; |
when Anded =>
return OK : Boolean := True do
Trace ("AND children count:" & Trees.Child_Count (Pos)'Img);
- for Child in VS.Set.Iterate_Children (Pos) loop
- OK := OK and then Is_In (Child);
- end loop;
+ OK :=
+ OK
+ and then
+ (for all Child in VS.Set.Iterate_Children (Pos) =>
+ Is_In (Child));
end return;
Note that further simplifications are still possible ;-)
|
return OK : Boolean := False do |
|
Trace ("OR children count:" & Trees.Child_Count (Pos)'Img); |
|
for Child in VS.Set.Iterate_Children (Pos) loop |
|
OK := OK or else Is_In (Child); |
|
end loop; |
|
end return; |
when Ored =>
return OK : Boolean := False do
Trace ("OR children count:" & Trees.Child_Count (Pos)'Img);
- for Child in VS.Set.Iterate_Children (Pos) loop
- OK := OK or else Is_In (Child);
- end loop;
+ OK :=
+ OK
+ or else
+ (for some Child in VS.Set.Iterate_Children (Pos) =>
+ Is_In (Child));
end return;
Note that also in this case further simplifications are still possible ;-)
Greetings,
Pierre
Dear Developers,
Why don't you use Quantified Expressions at the following locations?
semantic_versioning/src/semantic_versioning-basic.adb
Lines 81 to 87 in cc69201
semantic_versioning/src/semantic_versioning-extended.adb
Lines 233 to 238 in cc69201
when Anded => return OK : Boolean := True do Trace ("AND children count:" & Trees.Child_Count (Pos)'Img); - for Child in VS.Set.Iterate_Children (Pos) loop - OK := OK and then Is_In (Child); - end loop; + OK := + OK + and then + (for all Child in VS.Set.Iterate_Children (Pos) => + Is_In (Child)); end return;Note that further simplifications are still possible ;-)
semantic_versioning/src/semantic_versioning-extended.adb
Lines 241 to 246 in cc69201
when Ored => return OK : Boolean := False do Trace ("OR children count:" & Trees.Child_Count (Pos)'Img); - for Child in VS.Set.Iterate_Children (Pos) loop - OK := OK or else Is_In (Child); - end loop; + OK := + OK + or else + (for some Child in VS.Set.Iterate_Children (Pos) => + Is_In (Child)); end return;Note that also in this case further simplifications are still possible ;-)
Greetings,
Pierre