@@ -123,8 +123,9 @@ private function processDirectory(DirectoryNode $directory, Node $context): void
123123 $ directoryName = '/ ' ;
124124 }
125125
126- $ this ->xmlWriter ->startElement ('directory ' );
127- $ this ->xmlWriter ->writeAttribute ('name ' , $ directoryName );
126+ $ writer = $ this ->project ->getWriter ();
127+ $ writer ->startElement ('directory ' );
128+ $ writer ->writeAttribute ('name ' , $ directoryName );
128129 $ directoryObject = $ context ->addDirectory ();
129130
130131 $ this ->setTotals ($ directory , $ directoryObject ->totals ());
@@ -136,22 +137,24 @@ private function processDirectory(DirectoryNode $directory, Node $context): void
136137 foreach ($ directory ->files () as $ node ) {
137138 $ this ->processFile ($ node , $ directoryObject );
138139 }
139- $ this -> xmlWriter ->endElement ();
140+ $ writer ->endElement ();
140141 }
141142
142143 /**
143144 * @throws XmlException
144145 */
145146 private function processFile (FileNode $ file , Directory $ context ): void
146147 {
147- $ this -> xmlWriter ->startElement ('file ' );
148- $ this -> xmlWriter ->writeAttribute ('name ' , $ file ->name ());
149- $ this -> xmlWriter ->writeAttribute ('href ' , $ file ->id () . '.xml ' );
148+ $ context -> getWriter () ->startElement ('file ' );
149+ $ context -> getWriter () ->writeAttribute ('name ' , $ file ->name ());
150+ $ context -> getWriter () ->writeAttribute ('href ' , $ file ->id () . '.xml ' );
150151
151152 $ fileObject = $ context ->addFile ();
152153
153154 $ this ->setTotals ($ file , $ fileObject ->totals ());
154155
156+ $ context ->getWriter ()->endElement ();
157+
155158 $ path = substr (
156159 $ file ->pathAsString (),
157160 strlen ($ this ->project ->projectSourceDirectory ()),
@@ -171,7 +174,7 @@ private function processFile(FileNode $file, Directory $context): void
171174 $ this ->processFunction ($ function , $ fileReport );
172175 }
173176
174- $ this -> xmlWriter ->startElement ('coverage ' );
177+ $ fileReport -> getWriter () ->startElement ('coverage ' );
175178 foreach ($ file ->lineCoverageData () as $ line => $ tests ) {
176179 if (!is_array ($ tests ) || count ($ tests ) === 0 ) {
177180 continue ;
@@ -180,23 +183,21 @@ private function processFile(FileNode $file, Directory $context): void
180183 $ coverage = $ fileReport ->lineCoverage ((string ) $ line );
181184 $ coverage ->finalize ($ tests );
182185 }
183- $ this ->xmlWriter ->endElement ();
184-
185- $ this ->xmlWriter ->endElement ();
186+ $ fileReport ->getWriter ()->endElement ();
186187
187- $ this -> xmlWriter ->startElement ('source ' );
188+ $ fileReport -> getWriter () ->startElement ('source ' );
188189 $ fileReport ->source ()->setSourceCode (
189190 file_get_contents ($ file ->pathAsString ()),
190191 );
191- $ this -> xmlWriter ->endElement ();
192+ $ fileReport -> getWriter () ->endElement ();
192193
193194 $ fileReport ->finalize ();
194195 }
195196
196197 private function processUnit (ProcessedClassType |ProcessedTraitType $ unit , Report $ report ): void
197198 {
198199 if ($ unit instanceof ProcessedClassType) {
199- $ this -> xmlWriter ->startElement ('class ' );
200+ $ report -> getWriter () ->startElement ('class ' );
200201
201202 $ unitObject = $ report ->classObject (
202203 $ unit ->className ,
@@ -207,7 +208,7 @@ private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report
207208 (float ) $ unit ->crap ,
208209 );
209210 } else {
210- $ this -> xmlWriter ->startElement ('trait ' );
211+ $ report -> getWriter () ->startElement ('trait ' );
211212
212213 $ unitObject = $ report ->traitObject (
213214 $ unit ->traitName ,
@@ -220,7 +221,7 @@ private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report
220221 }
221222
222223 foreach ($ unit ->methods as $ method ) {
223- $ this -> xmlWriter ->startElement ('method ' );
224+ $ report -> getWriter () ->startElement ('method ' );
224225
225226 $ unitObject ->addMethod (
226227 $ method ->methodName ,
@@ -233,15 +234,15 @@ private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report
233234 $ method ->crap ,
234235 );
235236
236- $ this -> xmlWriter ->endElement ();
237+ $ report -> getWriter () ->endElement ();
237238 }
238239
239- $ this -> xmlWriter ->endElement ();
240+ $ report -> getWriter () ->endElement ();
240241 }
241242
242243 private function processFunction (ProcessedFunctionType $ function , Report $ report ): void
243244 {
244- $ this -> xmlWriter ->startElement ('function ' );
245+ $ report -> getWriter () ->startElement ('function ' );
245246
246247 $ report ->functionObject (
247248 $ function ->functionName ,
@@ -254,7 +255,7 @@ private function processFunction(ProcessedFunctionType $function, Report $report
254255 $ function ->crap ,
255256 );
256257
257- $ this -> xmlWriter ->endElement ();
258+ $ report -> getWriter () ->endElement ();
258259 }
259260
260261 /**
0 commit comments