Skip to content

Commit 5305850

Browse files
Caching WiP
1 parent 7400e34 commit 5305850

26 files changed

+45
-74
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
build: cs tests phpstan
44

55
tests:
6-
php vendor/bin/phpunit
6+
rm -rf tmp/* && php vendor/bin/phpunit
77

88
cs:
99
vendor/bin/phpcs src tests --standard=vendor/efabrica/coding-standard/eFabrica --extensions="php" -n

src/Analyser/LatteContextAnalyser.php

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

src/Analyser/LatteContextData.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
use Efabrica\PHPStanLatte\LatteContext\CollectedData\CollectedLatteContextObject;
99
use Efabrica\PHPStanLatte\LatteContext\CollectedData\CollectedRelatedFiles;
1010
use JsonSerializable;
11-
use PHPStan\Analyser\NameScope;
1211
use PHPStan\PhpDoc\TypeStringResolver;
1312
use PHPStan\Rules\IdentifierRuleError;
1413
use PHPStan\Rules\RuleErrorBuilder;

src/LatteContext/CollectedData/CollectedComponent.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
use Efabrica\PHPStanLatte\Template\Component;
88
use PhpParser\Node;
99
use PhpParser\Node\Stmt\ClassMethod;
10-
use PHPStan\Analyser\NameScope;
1110
use PHPStan\Analyser\Scope;
1211
use PHPStan\PhpDoc\TypeStringResolver;
1312
use PHPStan\Type\Type;

src/LatteContext/CollectedData/CollectedError.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace Efabrica\PHPStanLatte\LatteContext\CollectedData;
66

77
use PhpParser\Node;
8-
use PHPStan\Analyser\NameScope;
98
use PHPStan\Analyser\Scope;
109
use PHPStan\PhpDoc\TypeStringResolver;
1110

src/LatteContext/CollectedData/CollectedFilter.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace Efabrica\PHPStanLatte\LatteContext\CollectedData;
66

77
use Efabrica\PHPStanLatte\Template\Filter;
8-
use PHPStan\Analyser\NameScope;
98
use PHPStan\PhpDoc\TypeStringResolver;
109

1110
final class CollectedFilter extends CollectedLatteContextObject

src/LatteContext/CollectedData/CollectedMethod.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Efabrica\PHPStanLatte\LatteContext\CollectedData;
66

7-
use PHPStan\Analyser\NameScope;
87
use PHPStan\PhpDoc\TypeStringResolver;
98
use PHPStan\Type\Type;
109
use PHPStan\Type\TypeCombinator;

src/LatteContext/CollectedData/CollectedMethodCall.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
use PhpParser\Node;
88
use PhpParser\Node\Stmt\ClassMethod;
9-
use PHPStan\Analyser\NameScope;
109
use PHPStan\Analyser\Scope;
1110
use PHPStan\PhpDoc\TypeStringResolver;
1211
use PHPStan\Reflection\ClassReflection;

src/LatteContext/CollectedData/CollectedRelatedFiles.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Efabrica\PHPStanLatte\LatteContext\CollectedData;
66

7-
use PHPStan\Analyser\NameScope;
87
use PHPStan\PhpDoc\TypeStringResolver;
98

109
final class CollectedRelatedFiles extends CollectedLatteContextObject

src/LatteContext/CollectedData/CollectedTemplatePath.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Efabrica\PHPStanLatte\LatteContext\CollectedData;
66

7-
use PHPStan\Analyser\NameScope;
87
use PHPStan\PhpDoc\TypeStringResolver;
98

109
final class CollectedTemplatePath extends CollectedLatteContextObject

0 commit comments

Comments
 (0)