File tree Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -48,16 +48,30 @@ public function start()
4848 */
4949 public function stop ()
5050 {
51+ static $ fetchedLines = array ();
52+
5153 $ dbgData = phpdbg_end_oplog ();
5254
53- $ sourceLines = phpdbg_get_executable ();
55+ if ($ fetchedLines == array ()) {
56+ $ sourceLines = phpdbg_get_executable ();
57+ } else {
58+ $ newFiles = array_diff (get_included_files (), array_keys ($ fetchedLines ));
59+ if ($ newFiles ) {
60+ $ sourceLines = phpdbg_get_executable (array ("files " => $ newFiles ));
61+ } else {
62+ $ sourceLines = array ();
63+ }
64+ }
65+
5466 foreach ($ sourceLines as &$ lines ) {
5567 foreach ($ lines as &$ line ) {
5668 $ line = self ::LINE_NOT_EXECUTED ;
5769 }
5870 }
5971
60- $ data = $ this ->detectExecutedLines ($ sourceLines , $ dbgData );
72+ $ fetchedLines += $ sourceLines ;
73+
74+ $ data = $ this ->detectExecutedLines ($ fetchedLines , $ dbgData );
6175
6276 return $ data ;
6377 }
You can’t perform that action at this time.
0 commit comments