PATH:
opt
/
cpanel
/
ea-wappspector
/
vendor
/
slevomat
/
coding-standard
/
SlevomatCodingStandard
/
Helpers
<?php declare(strict_types = 1); namespace SlevomatCodingStandard\Helpers; use Closure; use PHP_CodeSniffer\Files\File; use function array_key_exists; use function sprintf; /** * @internal */ final class SniffLocalCache { /** * @phpcsSuppress SlevomatCodingStandard.TypeHints.DisallowMixedTypeHint * @var array<int, array<string, mixed>> */ private static array $cache = []; /** * @phpcsSuppress SlevomatCodingStandard.TypeHints.DisallowMixedTypeHint * @return mixed */ public static function getAndSetIfNotCached(File $phpcsFile, string $key, Closure $lazyValue) { $fixerLoops = $phpcsFile->fixer !== null ? $phpcsFile->fixer->loops : 0; $internalKey = sprintf('%s-%s', $phpcsFile->getFilename(), $key); self::setIfNotCached($fixerLoops, $internalKey, $lazyValue); return self::$cache[$fixerLoops][$internalKey] ?? null; } private static function setIfNotCached(int $fixerLoops, string $internalKey, Closure $lazyValue): void { if (array_key_exists($fixerLoops, self::$cache) && array_key_exists($internalKey, self::$cache[$fixerLoops])) { return; } self::$cache[$fixerLoops][$internalKey] = $lazyValue(); if ($fixerLoops > 0) { unset(self::$cache[$fixerLoops - 1]); } } }
[-] Attribute.php
[edit]
[-] ArrayHelper.php
[edit]
[-] TernaryOperatorHelper.php
[edit]
[-] ConstantHelper.php
[edit]
[-] CatchHelper.php
[edit]
[+]
..
[-] TypeHint.php
[edit]
[-] ConditionHelper.php
[edit]
[-] IndentationHelper.php
[edit]
[-] SuppressHelper.php
[edit]
[-] TokenPointerOutOfBoundsException.php
[edit]
[-] VariableHelper.php
[edit]
[-] StringHelper.php
[edit]
[-] TypeHintHelper.php
[edit]
[-] AnnotationHelper.php
[edit]
[-] SniffLocalCache.php
[edit]
[-] ReferencedNameHelper.php
[edit]
[-] NamespaceHelper.php
[edit]
[-] ScopeHelper.php
[edit]
[-] ParameterHelper.php
[edit]
[-] AnnotationTypeHelper.php
[edit]
[-] TokenHelper.php
[edit]
[-] DocCommentHelper.php
[edit]
[-] AttributeHelper.php
[edit]
[-] Comment.php
[edit]
[-] SniffSettingsHelper.php
[edit]
[-] UseStatement.php
[edit]
[-] FunctionHelper.php
[edit]
[-] YodaHelper.php
[edit]
[-] IdentificatorHelper.php
[edit]
[-] PropertyHelper.php
[edit]
[-] UseStatementHelper.php
[edit]
[-] FixerHelper.php
[edit]
[-] PhpDocParserHelper.php
[edit]
[-] CommentHelper.php
[edit]
[-] Annotation.php
[edit]
[-] ArrayKeyValue.php
[edit]
[-] TypeHelper.php
[edit]
[-] ClassHelper.php
[edit]
[-] ParsedDocComment.php
[edit]
[-] EmptyFileException.php
[edit]
[-] ReferencedName.php
[edit]