@@ -84,22 +84,19 @@ public function analyseFiles(array $files): LatteContextData
8484 $ relatedFiles = [];
8585 foreach ($ files as $ file ) {
8686 $ fileResult = $ this ->loadLatteContextDataFromCache ($ file );
87- if (!$ fileResult ) {
88- $ fileResult = $ this ->analyseFile ($ file );
89- if ($ fileResult ->getErrors () === []) {
87+ if (!$ fileResult ) {
88+ $ fileResult = $ this ->analyseFile ($ file );
89+ if ($ fileResult ->getErrors () === []) {
9090 $ this ->saveLatteContextDataToCache ($ file , $ fileResult );
91- $ this ->loadLatteContextDataFromCache ($ file );
91+ } else {
92+ $ errors = array_merge ($ errors , $ fileResult ->getErrors ());
9293 }
93- }
94- if ($ fileResult ->getErrors () !== []) {
95- $ errors = array_merge ($ errors , $ fileResult ->getErrors ());
9694 }
9795 if ($ fileResult ->getAllCollectedData () !== []) {
9896 $ collectedData = array_merge ($ collectedData , $ fileResult ->getAllCollectedData ());
9997 $ processedFiles = array_unique (array_merge ($ processedFiles , $ fileResult ->getProcessedFiles ()));
10098 $ relatedFiles = array_unique (array_merge ($ relatedFiles , $ fileResult ->getRelatedFiles ()));
10199 }
102-
103100 }
104101 $ files = array_diff ($ relatedFiles , $ processedFiles );
105102 } while (count ($ files ) > 0 );
@@ -209,14 +206,14 @@ private function saveLatteContextDataToCache(string $file, LatteContextData $fil
209206 $ cacheFile = $ this ->cacheFilename ($ file );
210207
211208 try {
212- $ data = $ fileResult ->jsonSerialize ();
213- } catch (InvalidArgumentException $ e ) {
214- // Cannot serialize data, skip caching
215- if (is_file ($ cacheFile )) {
216- FileSystem::delete ($ cacheFile );
217- }
218- return ;
219- }
209+ $ data = $ fileResult ->jsonSerialize ();
210+ } catch (InvalidArgumentException $ e ) {
211+ // Cannot serialize data, skip caching
212+ if (is_file ($ cacheFile )) {
213+ FileSystem::delete ($ cacheFile );
214+ }
215+ return ;
216+ }
220217
221218 $ cacheData = [
222219 'file ' => $ file ,
@@ -245,9 +242,9 @@ private function loadLatteContextDataFromCache(string $file): ?LatteContextData
245242 try {
246243 $ cacheData = Json::decode (Filesystem::read ($ cacheFile ), true );
247244 } catch (Exception ) {
248- FileSystem::delete ($ cacheFile );
249- return null ;
250- }
245+ FileSystem::delete ($ cacheFile );
246+ return null ;
247+ }
251248
252249 if (!is_array ($ cacheData ) || !isset ($ cacheData ['file ' ], $ cacheData ['fileHash ' ], $ cacheData ['data ' ])) {
253250 FileSystem::delete ($ cacheFile );
@@ -276,9 +273,9 @@ private function loadLatteContextDataFromCache(string $file): ?LatteContextData
276273
277274 try {
278275 return LatteContextData::fromJson ($ cacheData ['data ' ], $ this ->typeStringResolver );
279- } catch (Exception ) {
280- FileSystem::delete ($ cacheFile );
281- return null ;
276+ } catch (Exception ) {
277+ FileSystem::delete ($ cacheFile );
278+ return null ;
282279 }
283280 }
284281}
0 commit comments