Skip to content

Commit df986ed

Browse files
committed
Added for and do-while
1 parent 9c508c3 commit df986ed

File tree

2 files changed

+55
-6
lines changed

2 files changed

+55
-6
lines changed

src/StaticAnalysis/ExecutableLinesFindingVisitor.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public function enterNode(Node $node): void
5252
if ($node instanceof Node\Stmt\If_ ||
5353
$node instanceof Node\Stmt\ElseIf_ ||
5454
$node instanceof Node\Stmt\Else_ ||
55+
$node instanceof Node\Stmt\For_ ||
5556
$node instanceof Node\Stmt\Foreach_ ||
5657
$node instanceof Node\Stmt\While_) {
5758
if (isset($this->executableLinesGroupedByBranch[$node->getStartLine()])) {

tests/_files/source_for_branched_exec_lines.php

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,19 +77,19 @@ public function withForeach() // +2
7777
public function withWhile() // +5
7878
{ // 0
7979
$var = 1; // 0
80-
while (1 === $var); // 0
81-
while (1 === $var) ++$var; // 0
82-
while (1 === $var) { // 0
80+
while (0 === $var); // 0
81+
while (0 === $var) ++$var; // 0
82+
while (0 === $var) { // 0
8383
++$var; // +1
8484
} // -1
85-
while (1 === $var) { ++$var; // 0
85+
while (0 === $var) { ++$var; // 0
8686
++$var; // +2
8787
++$var; } // -2
88-
while (1 === $var): // 0
88+
while (0 === $var): // 0
8989
++$var; // +3
9090
endwhile; // -3
9191
while ( // 0
92-
1 // 0
92+
0 // 0
9393
=== // 0
9494
$var // 0
9595
) // 0
@@ -141,4 +141,52 @@ public function withIfElseifElse() // +5
141141
++$var; // +12
142142
} // -12
143143
} // 0
144+
public function withFor() // +13
145+
{ // 0
146+
$var = 1; // 0
147+
for (;false;); // 0
148+
for (;false;) $var += 2; // 0
149+
for (;false;) { // 0
150+
$var += 2; // +1
151+
} // -1
152+
for (;false;): // 0
153+
$var += 2; // +2
154+
endfor; // -2
155+
for (;false;) { $var +=2; // 0
156+
$var += 2; // +3
157+
$var += 2; } // -3
158+
for ( // 0
159+
$inc = 0; // 0
160+
false; // 0
161+
++$inc // 0
162+
) // 0
163+
{ // 0
164+
$var += 2; // +4
165+
} // -4
166+
} // 0
167+
public function withDoWhile() // +5
168+
{ // 0
169+
$var = 1; // 0
170+
do {} while (0 === $var); // 0
171+
do ++$var; while (0 === $var); // 0
172+
do // 0
173+
++$var; // 0
174+
while (0 === $var); // 0
175+
do { // 0
176+
++$var; // 0
177+
} while (0 === $var); // 0
178+
do { ++$var; // 0
179+
++$var; // 0
180+
++$var; } while (0 === $var); // 0
181+
do { // 0
182+
++$var; // 0
183+
} // 0
184+
while // 0
185+
( // 0
186+
0 // 0
187+
=== // 0
188+
$var // 0
189+
) // 0
190+
; // 0
191+
} // 0
144192
}

0 commit comments

Comments
 (0)