[ '017' => true, '018' => true, '019' => true, '020' => true, '021' => true, '022' => true, '023' => true, '024' => true, '025' => true, '026' => true, '028' => true, '029' => true, '030' => true, '031' => true, '032' => true, '033' => true, '034' => true, '035' => true, '036' => true, '037' => true, '038' => true, ], 'phpstan.stubFilesExtension' => ['049' => true, '051' => true, '052' => true, '055' => true], 'phpstan.rules.rule' => [ '0108' => true, '0109' => true, '0110' => true, '0111' => true, '0112' => true, '0113' => true, '0114' => true, '0115' => true, '0116' => true, '0117' => true, '0124' => true, '0125' => true, '0126' => true, '0127' => true, '0354' => true, '0355' => true, '0356' => true, '0357' => true, '0358' => true, '0359' => true, '0360' => true, '0361' => true, '0362' => true, '0363' => true, '0364' => true, '0365' => true, '0366' => true, '0367' => true, '0368' => true, '0369' => true, '0370' => true, '0371' => true, '0372' => true, '0373' => true, '0374' => true, '0375' => true, '0376' => true, '0377' => true, '0378' => true, '0379' => true, '0380' => true, '0381' => true, '0382' => true, '0383' => true, '0384' => true, '0385' => true, '0386' => true, '0387' => true, '0388' => true, '0389' => true, '0390' => true, '0391' => true, '0392' => true, '0393' => true, '0394' => true, '0395' => true, '0396' => true, '0397' => true, '0398' => true, '0399' => true, '0400' => true, '0401' => true, '0402' => true, '0403' => true, '0404' => true, '0405' => true, '0406' => true, '0407' => true, '0408' => true, '0409' => true, '0410' => true, '0411' => true, '0412' => true, '0413' => true, '0414' => true, '0415' => true, '0416' => true, '0417' => true, '0418' => true, '0419' => true, '0420' => true, '0421' => true, '0422' => true, '0423' => true, '0424' => true, '0425' => true, '0426' => true, '0427' => true, '0428' => true, '0429' => true, '0430' => true, '0431' => true, '0432' => true, '0433' => true, '0434' => true, '0435' => true, '0436' => true, '0437' => true, '0438' => true, '0439' => true, '0440' => true, '0441' => true, '0442' => true, '0443' => true, '0444' => true, '0445' => true, '0446' => true, '0447' => true, '0448' => true, '0449' => true, '0450' => true, '0451' => true, '0452' => true, '0453' => true, '0454' => true, '0455' => true, '0456' => true, '0457' => true, '0458' => true, '0459' => true, '0460' => true, '0461' => true, '0462' => true, '0463' => true, '0464' => true, '0465' => true, '0466' => true, '0467' => true, '0468' => true, '0469' => true, '0470' => true, '0471' => true, '0472' => true, '0473' => true, '0474' => true, '0475' => true, '0476' => true, '0477' => true, '0478' => true, '0479' => true, '0480' => true, '0481' => true, '0482' => true, '0483' => true, '0484' => true, '0485' => true, 'rules.0' => true, 'rules.1' => true, 'rules.2' => true, 'rules.3' => true, 'rules.4' => true, 'rules.5' => true, ], 'phpstan.broker.dynamicMethodReturnTypeExtension' => [ '0129' => true, '0135' => true, '0139' => true, '0167' => true, '0178' => true, '0208' => true, '0222' => true, '0286' => true, '0287' => true, '0318' => true, '0507' => true, '0508' => true, '0509' => true, '0510' => true, '0511' => true, '0512' => true, '0513' => true, '0514' => true, '0515' => true, '0516' => true, '0517' => true, ], 'phpstan.broker.dynamicFunctionReturnTypeExtension' => [ '0130' => true, '0131' => true, '0132' => true, '0133' => true, '0134' => true, '0138' => true, '0142' => true, '0143' => true, '0144' => true, '0146' => true, '0147' => true, '0148' => true, '0149' => true, '0151' => true, '0153' => true, '0154' => true, '0155' => true, '0156' => true, '0157' => true, '0158' => true, '0160' => true, '0161' => true, '0163' => true, '0164' => true, '0165' => true, '0166' => true, '0168' => true, '0169' => true, '0170' => true, '0171' => true, '0173' => true, '0175' => true, '0177' => true, '0180' => true, '0181' => true, '0182' => true, '0183' => true, '0185' => true, '0186' => true, '0187' => true, '0188' => true, '0189' => true, '0192' => true, '0193' => true, '0196' => true, '0197' => true, '0198' => true, '0200' => true, '0201' => true, '0202' => true, '0204' => true, '0205' => true, '0206' => true, '0207' => true, '0209' => true, '0212' => true, '0213' => true, '0214' => true, '0216' => true, '0217' => true, '0218' => true, '0219' => true, '0221' => true, '0222' => true, '0223' => true, '0227' => true, '0228' => true, '0229' => true, '0230' => true, '0232' => true, '0234' => true, '0235' => true, '0237' => true, '0240' => true, '0243' => true, '0244' => true, '0246' => true, '0247' => true, '0250' => true, '0251' => true, '0252' => true, '0253' => true, '0254' => true, '0255' => true, '0256' => true, '0259' => true, '0263' => true, '0264' => true, '0265' => true, '0269' => true, '0271' => true, '0273' => true, '0276' => true, '0278' => true, '0279' => true, '0280' => true, '0281' => true, '0282' => true, '0283' => true, '0285' => true, '0288' => true, '0290' => true, '0291' => true, ], 'phpstan.dynamicStaticMethodThrowTypeExtension' => [ '0136' => true, '0226' => true, '0241' => true, '0245' => true, '0258' => true, '0268' => true, '0289' => true, '0293' => true, ], 'phpstan.broker.dynamicStaticMethodReturnTypeExtension' => [ '0137' => true, '0159' => true, '0190' => true, '0208' => true, '0211' => true, '0215' => true, '0236' => true, ], 'phpstan.dynamicFunctionThrowTypeExtension' => ['0140' => true, '0224' => true, '0284' => true], 'phpstan.typeSpecifier.functionTypeSpecifyingExtension' => [ '0141' => true, '0150' => true, '0152' => true, '0162' => true, '0184' => true, '0194' => true, '0195' => true, '0199' => true, '0203' => true, '0210' => true, '0233' => true, '0239' => true, '0242' => true, '0249' => true, '0261' => true, '0267' => true, '0270' => true, '0275' => true, '0277' => true, '0292' => true, ], 'phpstan.dynamicMethodThrowTypeExtension' => ['0145' => true, '0172' => true, '0231' => true], 'phpstan.functionParameterClosureTypeExtension' => ['0176' => true], 'phpstan.broker.propertiesClassReflectionExtension' => ['0179' => true, '0303' => true], 'phpstan.functionParameterOutTypeExtension' => ['0220' => true, '0238' => true, '0257' => true], 'phpstan.typeSpecifier.methodTypeSpecifyingExtension' => ['0248' => true], 'phpstan.broker.operatorTypeSpecifyingExtension' => ['0262' => true], 'phpstan.broker.allowedSubTypesClassReflectionExtension' => ['0302' => true, '0304' => true], 'phpstan.diagnoseExtension' => ['0329' => true], ]; protected $types = ['container' => '_PHPStan_5878035a0\Nette\DI\Container']; protected $aliases = []; protected $wiring = [ '_PHPStan_5878035a0\Nette\DI\Container' => [['container']], 'PHPStan\Rules\Rule' => [ [ '0108', '0109', '0110', '0111', '0112', '0113', '0114', '0115', '0116', '0117', '0124', '0125', '0126', '0127', '0506', '0518', '0519', '0520', '0521', '0522', ], [ 'rules.0', 'rules.1', 'rules.2', 'rules.3', 'rules.4', 'rules.5', '0354', '0355', '0356', '0357', '0358', '0359', '0360', '0361', '0362', '0363', '0364', '0365', '0366', '0367', '0368', '0369', '0370', '0371', '0372', '0373', '0374', '0375', '0376', '0377', '0378', '0379', '0380', '0381', '0382', '0383', '0384', '0385', '0386', '0387', '0388', '0389', '0390', '0391', '0392', '0393', '0394', '0395', '0396', '0397', '0398', '0399', '0400', '0401', '0402', '0403', '0404', '0405', '0406', '0407', '0408', '0409', '0410', '0411', '0412', '0413', '0414', '0415', '0416', '0417', '0418', '0419', '0420', '0421', '0422', '0423', '0424', '0425', '0426', '0427', '0428', '0429', '0430', '0431', '0432', '0433', '0434', '0435', '0436', '0437', '0438', '0439', '0440', '0441', '0442', '0443', '0444', '0445', '0446', '0447', '0448', '0449', '0450', '0451', '0452', '0453', '0454', '0455', '0456', '0457', '0458', '0459', '0460', '0461', '0462', '0463', '0464', '0465', '0466', '0467', '0468', '0469', '0470', '0471', '0472', '0473', '0474', '0475', '0476', '0477', '0478', '0479', '0480', '0481', '0482', '0483', '0484', '0485', ], ], 'App\Framework\Quality\PHPStan\Rules\PreferValueObjectsRule' => [['rules.0']], 'App\Framework\Quality\PHPStan\Rules\UseFrameworkAbstractionsRule' => [['rules.1']], 'App\Framework\Quality\PHPStan\Rules\ForbiddenFunctionsRule' => [['rules.2']], 'App\Framework\Quality\PHPStan\Rules\UseClockAbstractionRule' => [['rules.3']], 'App\Framework\Quality\PHPStan\Rules\UseTimerAbstractionRule' => [['rules.4']], 'App\Framework\Quality\PHPStan\Rules\UseDateTimeAbstractionRule' => [['rules.5']], 'PHPStan\Analyser\ScopeFactory' => [['01']], 'PHPStan\Analyser\ConstantResolverFactory' => [['02']], 'PHPStan\Analyser\Analyser' => [['03']], 'PHPStan\Analyser\IgnoreErrorExtensionProvider' => [['04']], 'PHPStan\Analyser\TypeSpecifierFactory' => [['typeSpecifierFactory']], 'PHPStan\Analyser\Ignore\IgnoreLexer' => [['05']], 'PHPStan\Analyser\Ignore\IgnoredErrorHelper' => [['06']], 'PHPStan\Analyser\NodeScopeResolver' => [['07']], 'PHPStan\Analyser\RuleErrorTransformer' => [['08']], 'PHPStan\Analyser\TypeSpecifier' => [['typeSpecifier']], 'PHPStan\Analyser\AnalyserResultFinalizer' => [['09']], 'PHPStan\Analyser\InternalScopeFactory' => [['010']], 'PHPStan\Analyser\LazyInternalScopeFactory' => [['010']], 'PHPStan\Analyser\RicherScopeGetTypeHelper' => [['011']], 'PHPStan\Analyser\ConstantResolver' => [['012']], 'PHPStan\Analyser\ResultCache\ResultCacheClearer' => [['013']], 'PHPStan\Analyser\LocalIgnoresProcessor' => [['014']], 'PHPStan\Analyser\FileAnalyser' => [['015']], 'PHPStan\Cache\Cache' => [['016']], 'PhpParser\NodeVisitorAbstract' => [ [ '017', '018', '019', '020', '021', '022', '023', '024', '025', '026', '028', '029', '030', '031', '032', '033', '034', '035', '036', '037', '038', '0487', '0496', '0497', ], ], 'PhpParser\NodeVisitor' => [ [ '017', '018', '019', '020', '021', '022', '023', '024', '025', '026', '028', '029', '030', '031', '032', '033', '034', '035', '036', '037', '038', '0487', '0496', '0497', ], ], 'PHPStan\Parser\ArrayFilterArgVisitor' => [['017']], 'PHPStan\Parser\VariadicMethodsVisitor' => [['018']], 'PHPStan\Parser\DeclarePositionVisitor' => [['019']], 'PHPStan\Parser\ClosureBindToVarVisitor' => [['020']], 'PHPStan\Parser\ClosureBindArgVisitor' => [['021']], 'PHPStan\Parser\TypeTraverserInstanceofVisitor' => [['022']], 'PHPStan\Parser\ImmediatelyInvokedClosureVisitor' => [['023']], 'PHPStan\Parser\MagicConstantParamDefaultVisitor' => [['024']], 'PHPStan\Parser\TryCatchTypeVisitor' => [['025']], 'PHPStan\Parser\ArrayMapArgVisitor' => [['026']], 'PHPStan\Parser\LexerFactory' => [['027']], 'PHPStan\Parser\StandaloneThrowExprVisitor' => [['028']], 'PHPStan\Parser\CurlSetOptArgVisitor' => [['029']], 'PHPStan\Parser\ArrayFindArgVisitor' => [['030']], 'PHPStan\Parser\ParentStmtTypesVisitor' => [['031']], 'PHPStan\Parser\ArrayWalkArgVisitor' => [['032']], 'PHPStan\Parser\AnonymousClassVisitor' => [['033']], 'PHPStan\Parser\VariadicFunctionsVisitor' => [['034']], 'PHPStan\Parser\ClosureArgVisitor' => [['035']], 'PHPStan\Parser\ArrowFunctionArgVisitor' => [['036']], 'PHPStan\Parser\LastConditionVisitor' => [['037']], 'PHPStan\Parser\NewAssignedToPropertyVisitor' => [['038']], 'PHPStan\Broker\AnonymousClassNameHelper' => [['039']], 'PHPStan\Php\ComposerPhpVersionFactory' => [['040']], 'PHPStan\Php\PhpVersionFactoryFactory' => [['041']], 'PHPStan\Php\PhpVersionFactory' => [['042']], 'PHPStan\Php\PhpVersion' => [['043']], 'PHPStan\PhpDoc\PhpDocInheritanceResolver' => [['044']], 'PHPStan\PhpDoc\StubFilesProvider' => [['045']], 'PHPStan\PhpDoc\DefaultStubFilesProvider' => [['045']], 'PHPStan\PhpDoc\PhpDocStringResolver' => [['046']], 'PHPStan\PhpDoc\ConstExprNodeResolver' => [['047']], 'PHPStan\PhpDoc\PhpDocNodeResolver' => [['048']], 'PHPStan\PhpDoc\StubFilesExtension' => [['049', '051', '052', '055']], 'PHPStan\PhpDoc\ReflectionClassStubFilesExtension' => [['049']], 'PHPStan\PhpDoc\TypeNodeResolver' => [['050']], 'PHPStan\PhpDoc\JsonValidateStubFilesExtension' => [['051']], 'PHPStan\PhpDoc\SocketSelectStubFilesExtension' => [['052']], 'PHPStan\PhpDoc\TypeStringResolver' => [['053']], 'PHPStan\PhpDoc\TypeNodeResolverExtensionRegistryProvider' => [['054']], 'PHPStan\PhpDoc\LazyTypeNodeResolverExtensionRegistryProvider' => [['054']], 'PHPStan\PhpDoc\ReflectionEnumStubFilesExtension' => [['055']], 'PHPStan\PhpDoc\StubPhpDocProvider' => [['stubPhpDocProvider']], 'PHPStan\PhpDoc\StubValidator' => [['056']], 'PHPStan\Process\CpuCoreCounter' => [['057']], 'PHPStan\Node\Printer\ExprPrinter' => [['058']], 'PhpParser\PrettyPrinter\Standard' => [1 => ['059']], 'PhpParser\PrettyPrinterAbstract' => [1 => ['059']], 'PhpParser\PrettyPrinter' => [1 => ['059']], 'PHPStan\Node\Printer\Printer' => [['059']], 'PHPStan\Fixable\PhpDoc\PhpDocEditor' => [['060']], 'PHPStan\Fixable\Patcher' => [['061']], 'PHPStan\Rules\Pure\FunctionPurityCheck' => [['062']], 'PHPStan\Rules\Classes\MixinCheck' => [['063']], 'PHPStan\Rules\Classes\PropertyTagCheck' => [['064']], 'PHPStan\Rules\Classes\LocalTypeAliasesCheck' => [['065']], 'PHPStan\Rules\Classes\MethodTagCheck' => [['066']], 'PHPStan\Rules\Registry' => [['registry']], 'PHPStan\Rules\LazyRegistry' => [['registry']], 'PHPStan\Rules\AttributesCheck' => [['067']], 'PHPStan\Rules\UnusedFunctionParametersCheck' => [['068']], 'PHPStan\Rules\FunctionDefinitionCheck' => [['069']], 'PHPStan\Rules\Properties\PropertyDescriptor' => [['070']], 'PHPStan\Rules\Properties\PropertyReflectionFinder' => [['071']], 'PHPStan\Rules\Properties\ReadWritePropertiesExtensionProvider' => [['072']], 'PHPStan\Rules\Properties\LazyReadWritePropertiesExtensionProvider' => [['072']], 'PHPStan\Rules\Properties\AccessPropertiesCheck' => [['073']], 'PHPStan\Rules\FunctionCallParametersCheck' => [['074']], 'PHPStan\Rules\FunctionReturnTypeCheck' => [['075']], 'PHPStan\Rules\PhpDoc\UnresolvableTypeHelper' => [['076']], 'PHPStan\Rules\PhpDoc\ConditionalReturnTypeRuleHelper' => [['077']], 'PHPStan\Rules\PhpDoc\AssertRuleHelper' => [['078']], 'PHPStan\Rules\PhpDoc\RequireExtendsCheck' => [['079']], 'PHPStan\Rules\PhpDoc\GenericCallableRuleHelper' => [['080']], 'PHPStan\Rules\PhpDoc\IncompatiblePhpDocTypeCheck' => [['081']], 'PHPStan\Rules\PhpDoc\VarTagTypeRuleHelper' => [['082']], 'PHPStan\Rules\Playground\NeverRuleHelper' => [['083']], 'PHPStan\Rules\ParameterCastableToStringCheck' => [['084']], 'PHPStan\Rules\Arrays\NonexistentOffsetInArrayDimFetchCheck' => [['085']], 'PHPStan\Rules\ClassCaseSensitivityCheck' => [['086']], 'PHPStan\Rules\NullsafeCheck' => [['087']], 'PHPStan\Rules\ClassNameCheck' => [['088']], 'PHPStan\Rules\IssetCheck' => [['089']], 'PHPStan\Rules\Api\ApiRuleHelper' => [['090']], 'PHPStan\Rules\Exceptions\MissingCheckedExceptionInThrowsCheck' => [['091']], 'PHPStan\Rules\Exceptions\TooWideThrowTypeCheck' => [['092']], 'PHPStan\Rules\Exceptions\ExceptionTypeResolver' => [['exceptionTypeResolver']], 'PHPStan\Rules\Exceptions\DefaultExceptionTypeResolver' => [['exceptionTypeResolver']], 'PHPStan\Rules\InternalTag\RestrictedInternalUsageHelper' => [['093']], 'PHPStan\Rules\MissingTypehintCheck' => [['094']], 'PHPStan\Rules\Constants\AlwaysUsedClassConstantsExtensionProvider' => [['095']], 'PHPStan\Rules\Constants\LazyAlwaysUsedClassConstantsExtensionProvider' => [['095']], 'PHPStan\Rules\TooWideTypehints\TooWideParameterOutTypeCheck' => [['096']], 'PHPStan\Rules\Functions\PrintfHelper' => [['097']], 'PHPStan\Rules\RuleLevelHelper' => [['098']], 'PHPStan\Rules\Methods\MethodCallCheck' => [['099']], 'PHPStan\Rules\Methods\AlwaysUsedMethodExtensionProvider' => [['0100']], 'PHPStan\Rules\Methods\LazyAlwaysUsedMethodExtensionProvider' => [['0100']], 'PHPStan\Rules\Methods\MethodVisibilityComparisonHelper' => [['0101']], 'PHPStan\Rules\Methods\MethodPrototypeFinder' => [['0102']], 'PHPStan\Rules\Methods\MethodParameterComparisonHelper' => [['0103']], 'PHPStan\Rules\Methods\StaticMethodCallCheck' => [['0104']], 'PHPStan\Rules\ClassForbiddenNameCheck' => [['0105']], 'PHPStan\Rules\Comparison\ConstantConditionRuleHelper' => [['0106']], 'PHPStan\Rules\Comparison\ImpossibleCheckTypeHelper' => [['0107']], 'PHPStan\Rules\RestrictedUsage\RestrictedStaticMethodCallableUsageRule' => [['0108']], 'PHPStan\Rules\RestrictedUsage\RestrictedStaticMethodUsageRule' => [['0109']], 'PHPStan\Rules\RestrictedUsage\RestrictedMethodCallableUsageRule' => [['0110']], 'PHPStan\Rules\RestrictedUsage\RestrictedFunctionCallableUsageRule' => [['0111']], 'PHPStan\Rules\RestrictedUsage\RestrictedPropertyUsageRule' => [['0112']], 'PHPStan\Rules\RestrictedUsage\RestrictedUsageOfDeprecatedStringCastRule' => [['0113']], 'PHPStan\Rules\RestrictedUsage\RestrictedStaticPropertyUsageRule' => [['0114']], 'PHPStan\Rules\RestrictedUsage\RestrictedMethodUsageRule' => [['0115']], 'PHPStan\Rules\RestrictedUsage\RestrictedFunctionUsageRule' => [['0116']], 'PHPStan\Rules\RestrictedUsage\RestrictedClassConstantUsageRule' => [['0117']], 'PHPStan\Rules\Generics\GenericAncestorsCheck' => [['0118']], 'PHPStan\Rules\Generics\CrossCheckInterfacesHelper' => [['0119']], 'PHPStan\Rules\Generics\VarianceCheck' => [['0120']], 'PHPStan\Rules\Generics\GenericObjectTypeCheck' => [['0121']], 'PHPStan\Rules\Generics\MethodTagTemplateTypeCheck' => [['0122']], 'PHPStan\Rules\Generics\TemplateTypeCheck' => [['0123']], 'PHPStan\Rules\Debug\DebugScopeRule' => [['0124']], 'PHPStan\Rules\Debug\DumpTypeRule' => [['0125']], 'PHPStan\Rules\Debug\FileAssertRule' => [['0126']], 'PHPStan\Rules\Debug\DumpPhpDocTypeRule' => [['0127']], 'PHPStan\Type\BitwiseFlagHelper' => [['0128']], 'PHPStan\Type\DynamicMethodReturnTypeExtension' => [ [ '0129', '0135', '0139', '0167', '0178', '0208', '0222', '0286', '0287', '0318', '0507', '0508', '0509', '0510', '0511', '0512', '0513', '0514', '0515', '0516', '0517', ], ], 'PHPStan\Type\PHPStan\ClassNameUsageLocationCreateIdentifierDynamicReturnTypeExtension' => [['0129']], 'PHPStan\Type\DynamicFunctionReturnTypeExtension' => [ [ '0130', '0131', '0132', '0133', '0134', '0138', '0142', '0143', '0144', '0146', '0147', '0148', '0149', '0151', '0153', '0154', '0155', '0156', '0157', '0158', '0160', '0161', '0163', '0164', '0165', '0166', '0168', '0169', '0170', '0171', '0173', '0175', '0177', '0180', '0181', '0182', '0183', '0185', '0186', '0187', '0188', '0189', '0192', '0193', '0196', '0197', '0198', '0200', '0201', '0202', '0204', '0205', '0206', '0207', '0209', '0212', '0213', '0214', '0216', '0217', '0218', '0219', '0221', '0222', '0223', '0227', '0228', '0229', '0230', '0232', '0234', '0235', '0237', '0240', '0243', '0244', '0246', '0247', '0250', '0251', '0252', '0253', '0254', '0255', '0256', '0259', '0263', '0264', '0265', '0269', '0271', '0273', '0276', '0278', '0279', '0280', '0281', '0282', '0283', '0285', '0288', '0290', '0291', ], ], 'PHPStan\Type\Php\StrlenFunctionReturnTypeExtension' => [['0130']], 'PHPStan\Type\Php\CountCharsFunctionDynamicReturnTypeExtension' => [['0131']], 'PHPStan\Type\Php\FilterInputDynamicReturnTypeExtension' => [['0132']], 'PHPStan\Type\Php\ArrayKeyDynamicReturnTypeExtension' => [['0133']], 'PHPStan\Type\Php\ArraySumFunctionDynamicReturnTypeExtension' => [['0134']], 'PHPStan\Type\Php\ClosureBindToDynamicReturnTypeExtension' => [['0135']], 'PHPStan\Type\DynamicStaticMethodThrowTypeExtension' => [ ['0136', '0226', '0241', '0245', '0258', '0268', '0289', '0293'], ], 'PHPStan\Type\Php\SimpleXMLElementConstructorThrowTypeExtension' => [['0136']], 'PHPStan\Type\DynamicStaticMethodReturnTypeExtension' => [['0137', '0159', '0190', '0208', '0211', '0215', '0236']], 'PHPStan\Type\Php\DatePeriodConstructorReturnTypeExtension' => [['0137']], 'PHPStan\Type\Php\Base64DecodeDynamicFunctionReturnTypeExtension' => [['0138']], 'PHPStan\Type\Php\DsMapDynamicReturnTypeExtension' => [['0139']], 'PHPStan\Type\DynamicFunctionThrowTypeExtension' => [['0140', '0224', '0284']], 'PHPStan\Type\Php\AssertThrowTypeExtension' => [['0140']], 'PHPStan\Type\FunctionTypeSpecifyingExtension' => [ [ '0141', '0150', '0152', '0162', '0184', '0194', '0195', '0199', '0203', '0210', '0233', '0239', '0242', '0249', '0261', '0267', '0270', '0275', '0277', '0292', ], ], 'PHPStan\Analyser\TypeSpecifierAwareExtension' => [ [ '0141', '0150', '0152', '0158', '0162', '0184', '0194', '0195', '0199', '0203', '0210', '0233', '0239', '0242', '0248', '0249', '0261', '0267', '0270', '0275', '0277', '0292', ], ], 'PHPStan\Type\Php\CtypeDigitFunctionTypeSpecifyingExtension' => [['0141']], 'PHPStan\Type\Php\ArrayRandFunctionReturnTypeExtension' => [['0142']], 'PHPStan\Type\Php\ArrayReplaceFunctionReturnTypeExtension' => [['0143']], 'PHPStan\Type\Php\StreamGetContentsFunctionReturnTypeExtension' => [['0144']], 'PHPStan\Type\DynamicMethodThrowTypeExtension' => [['0145', '0172', '0231']], 'PHPStan\Type\Php\DateTimeModifyMethodThrowTypeExtension' => [['0145']], 'PHPStan\Type\Php\StrSplitFunctionReturnTypeExtension' => [['0146']], 'PHPStan\Type\Php\IniGetReturnTypeExtension' => [['0147']], 'PHPStan\Type\Php\ClassImplementsFunctionReturnTypeExtension' => [['0148']], 'PHPStan\Type\Php\ArrayFillFunctionReturnTypeExtension' => [['0149']], 'PHPStan\Type\Php\ArraySearchFunctionTypeSpecifyingExtension' => [['0150']], 'PHPStan\Type\Php\GetCalledClassDynamicReturnTypeExtension' => [['0151']], 'PHPStan\Type\Php\SetTypeFunctionTypeSpecifyingExtension' => [['0152']], 'PHPStan\Type\Php\RandomIntFunctionReturnTypeExtension' => [['0153']], 'PHPStan\Type\Php\JsonThrowOnErrorDynamicReturnTypeExtension' => [['0154']], 'PHPStan\Type\Php\GetDefinedVarsFunctionReturnTypeExtension' => [['0155']], 'PHPStan\Type\Php\ArrayFindFunctionReturnTypeExtension' => [['0156']], 'PHPStan\Type\Php\HashFunctionsReturnTypeExtension' => [['0157']], 'PHPStan\Type\Php\TypeSpecifyingFunctionsDynamicReturnTypeExtension' => [['0158']], 'PHPStan\Type\Php\DateIntervalDynamicReturnTypeExtension' => [['0159']], 'PHPStan\Type\Php\ArrayFilterFunctionReturnTypeExtension' => [['0160']], 'PHPStan\Type\Php\StrCaseFunctionsReturnTypeExtension' => [['0161']], 'PHPStan\Type\Php\IsArrayFunctionTypeSpecifyingExtension' => [['0162']], 'PHPStan\Type\Php\CompactFunctionReturnTypeExtension' => [['0163']], 'PHPStan\Type\Php\ArrayValuesFunctionDynamicReturnTypeExtension' => [['0164']], 'PHPStan\Type\Php\GetParentClassDynamicFunctionReturnTypeExtension' => [['0165']], 'PHPStan\Type\Php\HighlightStringDynamicReturnTypeExtension' => [['0166']], 'PHPStan\Type\Php\SimpleXMLElementAsXMLMethodReturnTypeExtension' => [['0167']], 'PHPStan\Type\Php\RangeFunctionReturnTypeExtension' => [['0168']], 'PHPStan\Type\Php\PowFunctionReturnTypeExtension' => [['0169']], 'PHPStan\Type\Php\StrRepeatFunctionReturnTypeExtension' => [['0170']], 'PHPStan\Type\Php\DateFormatFunctionReturnTypeExtension' => [['0171']], 'PHPStan\Type\Php\DateTimeSubMethodThrowTypeExtension' => [['0172']], 'PHPStan\Type\Php\ArrayKeyLastDynamicReturnTypeExtension' => [['0173']], 'PHPStan\Type\Php\DateFunctionReturnTypeHelper' => [['0174']], 'PHPStan\Type\Php\ArrayKeyFirstDynamicReturnTypeExtension' => [['0175']], 'PHPStan\Type\FunctionParameterClosureTypeExtension' => [['0176']], 'PHPStan\Type\Php\PregReplaceCallbackClosureTypeExtension' => [['0176']], 'PHPStan\Type\Php\StrtotimeFunctionReturnTypeExtension' => [['0177']], 'PHPStan\Type\Php\ThrowableReturnTypeExtension' => [['0178']], 'PHPStan\Reflection\PropertiesClassReflectionExtension' => [['0179', '0303', '0498', '0500', '0502', '0505']], 'PHPStan\Type\Php\SimpleXMLElementClassPropertyReflectionExtension' => [['0179']], 'PHPStan\Type\Php\ArrayIntersectKeyFunctionReturnTypeExtension' => [['0180']], 'PHPStan\Type\Php\StrrevFunctionReturnTypeExtension' => [['0181']], 'PHPStan\Type\Php\AbsFunctionDynamicReturnTypeExtension' => [['0182']], 'PHPStan\Type\Php\GetClassDynamicReturnTypeExtension' => [['0183']], 'PHPStan\Type\Php\PropertyExistsTypeSpecifyingExtension' => [['0184']], 'PHPStan\Type\Php\StrvalFamilyFunctionReturnTypeExtension' => [['0185']], 'PHPStan\Type\Php\RoundFunctionReturnTypeExtension' => [['0186']], 'PHPStan\Type\Php\VersionCompareFunctionDynamicReturnTypeExtension' => [['0187']], 'PHPStan\Type\Php\ExplodeFunctionDynamicReturnTypeExtension' => [['0188']], 'PHPStan\Type\Php\ArrayPointerFunctionsDynamicReturnTypeExtension' => [['0189']], 'PHPStan\Type\Php\ClosureFromCallableDynamicReturnTypeExtension' => [['0190']], 'PHPStan\Type\Php\ArrayFilterFunctionReturnTypeHelper' => [['0191']], 'PHPStan\Type\Php\PregFilterFunctionReturnTypeExtension' => [['0192']], 'PHPStan\Type\Php\PathinfoFunctionDynamicReturnTypeExtension' => [['0193']], 'PHPStan\Type\Php\InArrayFunctionTypeSpecifyingExtension' => [['0194']], 'PHPStan\Type\Php\PregMatchTypeSpecifyingExtension' => [['0195']], 'PHPStan\Type\Php\ArrayPopFunctionReturnTypeExtension' => [['0196']], 'PHPStan\Type\Php\CurlGetinfoFunctionDynamicReturnTypeExtension' => [['0197']], 'PHPStan\Type\Php\StrPadFunctionReturnTypeExtension' => [['0198']], 'PHPStan\Type\Php\StrContainingTypeSpecifyingExtension' => [['0199']], 'PHPStan\Type\Php\NonEmptyStringFunctionsReturnTypeExtension' => [['0200']], 'PHPStan\Type\Php\MbStrlenFunctionReturnTypeExtension' => [['0201']], 'PHPStan\Type\Php\SprintfFunctionDynamicReturnTypeExtension' => [['0202']], 'PHPStan\Type\Php\ClassExistsFunctionTypeSpecifyingExtension' => [['0203']], 'PHPStan\Type\Php\NumberFormatFunctionDynamicReturnTypeExtension' => [['0204']], 'PHPStan\Type\Php\ArrayMergeFunctionDynamicReturnTypeExtension' => [['0205']], 'PHPStan\Type\Php\FilterVarDynamicReturnTypeExtension' => [['0206']], 'PHPStan\Type\Php\ReplaceFunctionsDynamicReturnTypeExtension' => [['0207']], 'PHPStan\Type\Php\XMLReaderOpenReturnTypeExtension' => [['0208']], 'PHPStan\Type\Php\TrimFunctionDynamicReturnTypeExtension' => [['0209']], 'PHPStan\Type\Php\CountFunctionTypeSpecifyingExtension' => [['0210']], 'PHPStan\Type\Php\PDOConnectReturnTypeExtension' => [['0211']], 'PHPStan\Type\Php\MbConvertEncodingFunctionReturnTypeExtension' => [['0212']], 'PHPStan\Type\Php\ArrayReverseFunctionReturnTypeExtension' => [['0213']], 'PHPStan\Type\Php\PregSplitDynamicReturnTypeExtension' => [['0214']], 'PHPStan\Type\Php\ClosureBindDynamicReturnTypeExtension' => [['0215']], 'PHPStan\Type\Php\IteratorToArrayFunctionReturnTypeExtension' => [['0216']], 'PHPStan\Type\Php\ConstantFunctionReturnTypeExtension' => [['0217']], 'PHPStan\Type\Php\HrtimeFunctionReturnTypeExtension' => [['0218']], 'PHPStan\Type\Php\ArraySearchFunctionDynamicReturnTypeExtension' => [['0219']], 'PHPStan\Type\FunctionParameterOutTypeExtension' => [['0220', '0238', '0257']], 'PHPStan\Type\Php\PregMatchParameterOutTypeExtension' => [['0220']], 'PHPStan\Type\Php\BcMathStringOrNullReturnTypeExtension' => [['0221']], 'PHPStan\Type\Php\StatDynamicReturnTypeExtension' => [['0222']], 'PHPStan\Type\Php\CountFunctionReturnTypeExtension' => [['0223']], 'PHPStan\Type\Php\IntdivThrowTypeExtension' => [['0224']], 'PHPStan\Type\Php\ArrayColumnHelper' => [['0225']], 'PHPStan\Type\Php\ReflectionFunctionConstructorThrowTypeExtension' => [['0226']], 'PHPStan\Type\Php\ArgumentBasedFunctionReturnTypeExtension' => [['0227']], 'PHPStan\Type\Php\StrIncrementDecrementFunctionReturnTypeExtension' => [['0228']], 'PHPStan\Type\Php\MbSubstituteCharacterDynamicReturnTypeExtension' => [['0229']], 'PHPStan\Type\Php\FilterVarArrayDynamicReturnTypeExtension' => [['0230']], 'PHPStan\Type\Php\DsMapDynamicMethodThrowTypeExtension' => [['0231']], 'PHPStan\Type\Php\SubstrDynamicReturnTypeExtension' => [['0232']], 'PHPStan\Type\Php\ArrayKeyExistsFunctionTypeSpecifyingExtension' => [['0233']], 'PHPStan\Type\Php\ArrayPadDynamicReturnTypeExtension' => [['0234']], 'PHPStan\Type\Php\ArrayReduceFunctionReturnTypeExtension' => [['0235']], 'PHPStan\Type\Php\BackedEnumFromMethodDynamicReturnTypeExtension' => [['0236']], 'PHPStan\Type\Php\ArrayFlipFunctionReturnTypeExtension' => [['0237']], 'PHPStan\Type\Php\ParseStrParameterOutTypeExtension' => [['0238']], 'PHPStan\Type\Php\IsIterableFunctionTypeSpecifyingExtension' => [['0239']], 'PHPStan\Type\Php\ArrayChangeKeyCaseFunctionReturnTypeExtension' => [['0240']], 'PHPStan\Type\Php\ReflectionClassConstructorThrowTypeExtension' => [['0241']], 'PHPStan\Type\Php\FunctionExistsFunctionTypeSpecifyingExtension' => [['0242']], 'PHPStan\Type\Php\ImplodeFunctionReturnTypeExtension' => [['0243']], 'PHPStan\Type\Php\StrTokFunctionReturnTypeExtension' => [['0244']], 'PHPStan\Type\Php\DateTimeConstructorThrowTypeExtension' => [['0245']], 'PHPStan\Type\Php\TriggerErrorDynamicReturnTypeExtension' => [['0246']], 'PHPStan\Type\Php\MbFunctionsReturnTypeExtension' => [['0247']], 'PHPStan\Type\MethodTypeSpecifyingExtension' => [['0248']], 'PHPStan\Type\Php\ReflectionClassIsSubclassOfTypeSpecifyingExtension' => [['0248']], 'PHPStan\Type\Php\AssertFunctionTypeSpecifyingExtension' => [['0249']], 'PHPStan\Type\Php\GettimeofdayDynamicFunctionReturnTypeExtension' => [['0250']], 'PHPStan\Type\Php\ArrayFillKeysFunctionReturnTypeExtension' => [['0251']], 'PHPStan\Type\Php\DioStatDynamicFunctionReturnTypeExtension' => [['0252']], 'PHPStan\Type\Php\ArrayFindKeyFunctionReturnTypeExtension' => [['0253']], 'PHPStan\Type\Php\StrWordCountFunctionDynamicReturnTypeExtension' => [['0254']], 'PHPStan\Type\Php\GettypeFunctionReturnTypeExtension' => [['0255']], 'PHPStan\Type\Php\ArrayNextDynamicReturnTypeExtension' => [['0256']], 'PHPStan\Type\Php\OpenSslEncryptParameterOutTypeExtension' => [['0257']], 'PHPStan\Type\Php\DateIntervalConstructorThrowTypeExtension' => [['0258']], 'PHPStan\Type\Php\MinMaxFunctionReturnTypeExtension' => [['0259']], 'PHPStan\Type\Php\FilterFunctionReturnTypeHelper' => [['0260']], 'PHPStan\Type\Php\DefinedConstantTypeSpecifyingExtension' => [['0261']], 'PHPStan\Type\OperatorTypeSpecifyingExtension' => [['0262']], 'PHPStan\Type\Php\BcMathNumberOperatorTypeSpecifyingExtension' => [['0262']], 'PHPStan\Type\Php\ArrayShiftFunctionReturnTypeExtension' => [['0263']], 'PHPStan\Type\Php\SscanfFunctionDynamicReturnTypeExtension' => [['0264']], 'PHPStan\Type\Php\GetDebugTypeFunctionReturnTypeExtension' => [['0265']], 'PHPStan\Type\Php\RegexArrayShapeMatcher' => [['0266']], 'PHPStan\Type\Php\MethodExistsTypeSpecifyingExtension' => [['0267']], 'PHPStan\Type\Php\DateTimeZoneConstructorThrowTypeExtension' => [['0268']], 'PHPStan\Type\Php\ArrayCombineFunctionReturnTypeExtension' => [['0269']], 'PHPStan\Type\Php\IsAFunctionTypeSpecifyingExtension' => [['0270']], 'PHPStan\Type\Php\ArraySpliceFunctionReturnTypeExtension' => [['0271']], 'PHPStan\Type\Php\ConstantHelper' => [['0272']], 'PHPStan\Type\Php\ArrayColumnFunctionReturnTypeExtension' => [['0273']], 'PHPStan\Type\Php\IsAFunctionTypeSpecifyingHelper' => [['0274']], 'PHPStan\Type\Php\DefineConstantTypeSpecifyingExtension' => [['0275']], 'PHPStan\Type\Php\ParseUrlFunctionDynamicReturnTypeExtension' => [['0276']], 'PHPStan\Type\Php\IsSubclassOfFunctionTypeSpecifyingExtension' => [['0277']], 'PHPStan\Type\Php\ArraySliceFunctionReturnTypeExtension' => [['0278']], 'PHPStan\Type\Php\ArrayCurrentDynamicReturnTypeExtension' => [['0279']], 'PHPStan\Type\Php\LtrimFunctionReturnTypeExtension' => [['0280']], 'PHPStan\Type\Php\DateTimeCreateDynamicReturnTypeExtension' => [['0281']], 'PHPStan\Type\Php\DateFunctionReturnTypeExtension' => [['0282']], 'PHPStan\Type\Php\MicrotimeFunctionReturnTypeExtension' => [['0283']], 'PHPStan\Type\Php\JsonThrowTypeExtension' => [['0284']], 'PHPStan\Type\Php\DateTimeDynamicReturnTypeExtension' => [['0285']], 'PHPStan\Type\Php\DateFormatMethodReturnTypeExtension' => [['0286']], 'PHPStan\Type\Php\SimpleXMLElementXpathMethodReturnTypeExtension' => [['0287']], 'PHPStan\Type\Php\ArrayMapFunctionReturnTypeExtension' => [['0288']], 'PHPStan\Type\Php\ReflectionMethodConstructorThrowTypeExtension' => [['0289']], 'PHPStan\Type\Php\ArrayChunkFunctionReturnTypeExtension' => [['0290']], 'PHPStan\Type\Php\ArrayKeysFunctionDynamicReturnTypeExtension' => [['0291']], 'PHPStan\Type\Php\IsCallableFunctionTypeSpecifyingExtension' => [['0292']], 'PHPStan\Type\Php\ReflectionPropertyConstructorThrowTypeExtension' => [['0293']], 'PHPStan\Type\Constant\OversizedArrayBuilder' => [['0294']], 'PHPStan\Type\Regex\RegexExpressionHelper' => [['0295']], 'PHPStan\Type\Regex\RegexGroupParser' => [['0296']], 'PHPStan\Type\TypeAliasResolverProvider' => [['0297']], 'PHPStan\Type\LazyTypeAliasResolverProvider' => [['0297']], 'PHPStan\Type\ClosureTypeFactory' => [['0298']], 'PHPStan\Type\TypeAliasResolver' => [['0299']], 'PHPStan\Type\UsefulTypeAliasResolver' => [['0299']], 'PHPStan\Type\FileTypeMapper' => [0 => ['0300'], 2 => [1 => 'stubFileTypeMapper']], 'PHPStan\Reflection\InitializerExprTypeResolver' => [['0301']], 'PHPStan\Reflection\AllowedSubTypesClassReflectionExtension' => [['0302', '0304']], 'PHPStan\Reflection\Php\SealedAllowedSubTypesClassReflectionExtension' => [['0302']], 'PHPStan\Reflection\Php\UniversalObjectCratesClassReflectionExtension' => [['0303']], 'PHPStan\Reflection\Php\EnumAllowedSubTypesClassReflectionExtension' => [['0304']], 'PHPStan\Reflection\Deprecation\DeprecationProvider' => [['0305']], 'PHPStan\Reflection\ReflectionProvider\ReflectionProviderFactory' => [['reflectionProviderFactory']], 'PHPStan\Reflection\ReflectionProvider\ReflectionProviderProvider' => [['0306']], 'PHPStan\Reflection\ReflectionProvider\LazyReflectionProviderProvider' => [['0306']], 'PHPStan\Reflection\AttributeReflectionFactory' => [['0307']], 'PHPStan\Reflection\ConstructorsHelper' => [['0308']], 'PHPStan\Reflection\SignatureMap\SignatureMapParser' => [['0309']], 'PHPStan\Reflection\SignatureMap\SignatureMapProvider' => [['0313'], ['0310', '0311']], 'PHPStan\Reflection\SignatureMap\Php8SignatureMapProvider' => [['0310']], 'PHPStan\Reflection\SignatureMap\FunctionSignatureMapProvider' => [['0311']], 'PHPStan\Reflection\SignatureMap\NativeFunctionReflectionProvider' => [['0312']], 'PHPStan\Reflection\SignatureMap\SignatureMapProviderFactory' => [['0314']], 'PHPStan\Reflection\BetterReflection\SourceStubber\PhpStormStubsSourceStubberFactory' => [['0315']], 'PHPStan\Reflection\BetterReflection\SourceStubber\ReflectionSourceStubberFactory' => [['0316']], 'PHPStan\BetterReflection\Reflector\Reflector' => [ 0 => ['betterReflectionReflector'], 2 => [1 => 'originalBetterReflectionReflector', 'nodeScopeResolverReflector'], ], 'PHPStan\Reflection\BetterReflection\Reflector\MemoizingReflector' => [ 0 => ['betterReflectionReflector'], 2 => [1 => 'nodeScopeResolverReflector'], ], 'PHPStan\Reflection\BetterReflection\BetterReflectionSourceLocatorFactory' => [['0317']], 'PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumDynamicReturnTypeExtension' => [['0318']], 'PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedDirectorySourceLocatorFactory' => [['0319']], 'PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedDirectorySourceLocatorRepository' => [['0320']], 'PHPStan\Reflection\BetterReflection\SourceLocator\ComposerJsonAndInstalledJsonSourceLocatorMaker' => [['0321']], 'PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedSingleFileSourceLocatorRepository' => [['0322']], 'PHPStan\Reflection\BetterReflection\SourceLocator\FileNodesFetcher' => [['0323']], 'PHPStan\Collectors\RegistryFactory' => [['0324']], 'PHPStan\Collectors\Registry' => [['0325']], 'PHPStan\Dependency\ExportedNodeResolver' => [['0326']], 'PHPStan\Dependency\DependencyResolver' => [['0327']], 'PHPStan\Dependency\ExportedNodeFetcher' => [['0328']], 'PHPStan\Diagnose\DiagnoseExtension' => [0 => ['0329'], 2 => [1 => 'phpstanDiagnoseExtension']], 'PHPStan\Parallel\Scheduler' => [['0329']], 'PHPStan\Parallel\ParallelAnalyser' => [['0330']], 'PHPStan\File\FileExcluderFactory' => [['0331']], 'PHPStan\File\RelativePathHelper' => [ 0 => ['relativePathHelper'], 2 => [1 => 'parentDirectoryRelativePathHelper', 'simpleRelativePathHelper'], ], 'PHPStan\File\FuzzyRelativePathHelper' => [['relativePathHelper']], 'PHPStan\File\FileMonitor' => [['0332']], 'PHPStan\File\FileHelper' => [['0333']], 'PHPStan\Command\ErrorFormatter\ErrorFormatter' => [ [ 'errorFormatter.github', 'errorFormatter.teamcity', 'errorFormatter.gitlab', 'errorFormatter.raw', 'errorFormatter.junit', 'errorFormatter.checkstyle', 'errorFormatter.table', 'errorFormatter.json', 'errorFormatter.prettyJson', ], ['0334'], ], 'PHPStan\Command\ErrorFormatter\GithubErrorFormatter' => [['errorFormatter.github']], 'PHPStan\Command\ErrorFormatter\TeamcityErrorFormatter' => [['errorFormatter.teamcity']], 'PHPStan\Command\ErrorFormatter\GitlabErrorFormatter' => [['errorFormatter.gitlab']], 'PHPStan\Command\ErrorFormatter\RawErrorFormatter' => [['errorFormatter.raw']], 'PHPStan\Command\ErrorFormatter\JunitErrorFormatter' => [['errorFormatter.junit']], 'PHPStan\Command\ErrorFormatter\CheckstyleErrorFormatter' => [['errorFormatter.checkstyle']], 'PHPStan\Command\ErrorFormatter\TableErrorFormatter' => [['errorFormatter.table']], 'PHPStan\Command\ErrorFormatter\CiDetectedErrorFormatter' => [['0334']], 'PHPStan\Command\AnalyserRunner' => [['0335']], 'PHPStan\Command\FixerApplication' => [['0336']], 'PHPStan\Command\AnalyseApplication' => [['0337']], 'PHPStan\DependencyInjection\Type\DynamicReturnTypeExtensionRegistryProvider' => [['0338']], 'PHPStan\DependencyInjection\Type\LazyDynamicReturnTypeExtensionRegistryProvider' => [['0338']], 'PHPStan\DependencyInjection\Type\ParameterClosureTypeExtensionProvider' => [['0339']], 'PHPStan\DependencyInjection\Type\LazyParameterClosureTypeExtensionProvider' => [['0339']], 'PHPStan\DependencyInjection\Type\OperatorTypeSpecifyingExtensionRegistryProvider' => [['0340']], 'PHPStan\DependencyInjection\Type\LazyOperatorTypeSpecifyingExtensionRegistryProvider' => [['0340']], 'PHPStan\DependencyInjection\Type\ParameterOutTypeExtensionProvider' => [['0341']], 'PHPStan\DependencyInjection\Type\LazyParameterOutTypeExtensionProvider' => [['0341']], 'PHPStan\DependencyInjection\Type\DynamicThrowTypeExtensionProvider' => [['0342']], 'PHPStan\DependencyInjection\Type\LazyDynamicThrowTypeExtensionProvider' => [['0342']], 'PHPStan\DependencyInjection\Type\ExpressionTypeResolverExtensionRegistryProvider' => [['0343']], 'PHPStan\DependencyInjection\Type\LazyExpressionTypeResolverExtensionRegistryProvider' => [['0343']], 'PHPStan\DependencyInjection\Reflection\ClassReflectionExtensionRegistryProvider' => [['0344']], 'PHPStan\DependencyInjection\Reflection\LazyClassReflectionExtensionRegistryProvider' => [['0344']], 'PHPStan\DependencyInjection\Container' => [['0345'], ['0347']], 'PHPStan\DependencyInjection\MemoizingContainer' => [['0345']], 'PHPStan\DependencyInjection\DerivativeContainerFactory' => [['0346']], 'PHPStan\DependencyInjection\Nette\NetteContainer' => [['0347']], 'PHPStan\Reflection\ReflectionProvider' => [0 => ['reflectionProvider'], 2 => ['betterReflectionProvider']], 'PHPStan\Reflection\BetterReflection\BetterReflectionProvider' => [2 => ['betterReflectionProvider']], 'PHPStan\File\ParentDirectoryRelativePathHelper' => [2 => ['parentDirectoryRelativePathHelper']], 'PHPStan\File\SimpleRelativePathHelper' => [2 => ['simpleRelativePathHelper']], 'PHPStan\Analyser\ResultCache\ResultCacheManagerFactory' => [['0348']], 'PHPStan\Reflection\Php\PhpMethodReflectionFactory' => [['0349']], 'PHPStan\Reflection\FunctionReflectionFactory' => [['0350']], 'PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedPsrAutoloaderLocatorFactory' => [['0351']], 'PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedSingleFileSourceLocatorFactory' => [['0352']], 'PHPStan\File\FileExcluderRawFactory' => [['0353']], 'PHPStan\Rules\Classes\InvalidPromotedPropertiesRule' => [['0354']], 'PHPStan\Rules\Classes\ClassAttributesRule' => [['0355']], 'PHPStan\Rules\Classes\ExistingClassInInstanceOfRule' => [['0356']], 'PHPStan\Rules\Classes\InstantiationCallableRule' => [['0357']], 'PHPStan\Rules\Classes\InstantiationRule' => [['0358']], 'PHPStan\Rules\Classes\LocalTypeTraitAliasesRule' => [['0359']], 'PHPStan\Rules\Classes\ExistingClassInClassExtendsRule' => [['0360']], 'PHPStan\Rules\Classes\NewStaticRule' => [['0361']], 'PHPStan\Rules\Classes\AllowedSubTypesRule' => [['0362']], 'PHPStan\Rules\Classes\ExistingClassInTraitUseRule' => [['0363']], 'PHPStan\Rules\Classes\ReadOnlyClassRule' => [['0364']], 'PHPStan\Rules\Classes\DuplicateDeclarationRule' => [['0365']], 'PHPStan\Rules\Classes\EnumSanityRule' => [['0366']], 'PHPStan\Rules\Classes\ExistingClassesInInterfaceExtendsRule' => [['0367']], 'PHPStan\Rules\Classes\LocalTypeTraitUseAliasesRule' => [['0368']], 'PHPStan\Rules\Classes\TraitAttributeClassRule' => [['0369']], 'PHPStan\Rules\Classes\LocalTypeAliasesRule' => [['0370']], 'PHPStan\Rules\Classes\ClassConstantAttributesRule' => [['0371']], 'PHPStan\Rules\Classes\NonClassAttributeClassRule' => [['0372']], 'PHPStan\Rules\Classes\ExistingClassesInEnumImplementsRule' => [['0373']], 'PHPStan\Rules\Classes\ExistingClassesInClassImplementsRule' => [['0374']], 'PHPStan\Rules\Classes\ClassConstantRule' => [['0375']], 'PHPStan\Rules\Classes\UnusedConstructorParametersRule' => [['0376']], 'PHPStan\Rules\Keywords\ContinueBreakInLoopRule' => [['0377']], 'PHPStan\Rules\Keywords\DeclareStrictTypesRule' => [['0378']], 'PHPStan\Rules\Keywords\RequireFileExistsRule' => [['0379']], 'PHPStan\Rules\Missing\MissingReturnRule' => [['0380']], 'PHPStan\Rules\Properties\ReadOnlyPropertyRule' => [['0381']], 'PHPStan\Rules\Properties\MissingReadOnlyByPhpDocPropertyAssignRule' => [['0382']], 'PHPStan\Rules\Properties\AccessStaticPropertiesRule' => [['0383']], 'PHPStan\Rules\Properties\AccessStaticPropertiesInAssignRule' => [['0384']], 'PHPStan\Rules\Properties\ReadingWriteOnlyPropertiesRule' => [['0385']], 'PHPStan\Rules\Properties\PropertyAttributesRule' => [['0386']], 'PHPStan\Rules\Properties\ExistingClassesInPropertiesRule' => [['0387']], 'PHPStan\Rules\Properties\AccessPropertiesRule' => [['0388']], 'PHPStan\Rules\Properties\OverridingPropertyRule' => [['0389']], 'PHPStan\Rules\Properties\PropertyInClassRule' => [['0390']], 'PHPStan\Rules\Properties\PropertyHookAttributesRule' => [['0391']], 'PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyRule' => [['0392']], 'PHPStan\Rules\Properties\SetPropertyHookParameterRule' => [['0393']], 'PHPStan\Rules\Properties\AccessPropertiesInAssignRule' => [['0394']], 'PHPStan\Rules\Properties\ExistingClassesInPropertyHookTypehintsRule' => [['0395']], 'PHPStan\Rules\Properties\PropertiesInInterfaceRule' => [['0396']], 'PHPStan\Rules\Properties\MissingReadOnlyPropertyAssignRule' => [['0397']], 'PHPStan\Rules\Properties\PropertyAssignRefRule' => [['0398']], 'PHPStan\Rules\Properties\InvalidCallablePropertyTypeRule' => [['0399']], 'PHPStan\Rules\Properties\WritingToReadOnlyPropertiesRule' => [['0400']], 'PHPStan\Rules\PhpDoc\SealedDefinitionTraitRule' => [['0401']], 'PHPStan\Rules\Names\UsedNamesRule' => [['0402']], 'PHPStan\Rules\Operators\InvalidAssignVarRule' => [['0403']], 'PHPStan\Rules\Operators\InvalidIncDecOperationRule' => [['0404']], 'PHPStan\Rules\Arrays\OffsetAccessWithoutDimForReadingRule' => [['0405']], 'PHPStan\Rules\Arrays\DuplicateKeysInLiteralArraysRule' => [['0406']], 'PHPStan\Rules\Ignore\IgnoreParseErrorRule' => [['0407']], 'PHPStan\Rules\Cast\UnsetCastRule' => [['0408']], 'PHPStan\Rules\Whitespace\FileWhitespaceRule' => [['0409']], 'PHPStan\Rules\Variables\EmptyRule' => [['0410']], 'PHPStan\Rules\Variables\IssetRule' => [['0411']], 'PHPStan\Rules\Variables\UnsetRule' => [['0412']], 'PHPStan\Rules\Variables\NullCoalesceRule' => [['0413']], 'PHPStan\Rules\Variables\DefinedVariableRule' => [['0414']], 'PHPStan\Rules\Variables\CompactVariablesRule' => [['0415']], 'PHPStan\Rules\Namespaces\ExistingNamesInGroupUseRule' => [['0416']], 'PHPStan\Rules\Namespaces\ExistingNamesInUseRule' => [['0417']], 'PHPStan\Rules\Api\PhpStanNamespaceIn3rdPartyPackageRule' => [['0418']], 'PHPStan\Rules\Api\RuntimeReflectionFunctionRule' => [['0419']], 'PHPStan\Rules\Api\ApiInstanceofTypeRule' => [['0420']], 'PHPStan\Rules\Api\ApiClassConstFetchRule' => [['0421']], 'PHPStan\Rules\Api\ApiInterfaceExtendsRule' => [['0422']], 'PHPStan\Rules\Api\ApiInstanceofRule' => [['0423']], 'PHPStan\Rules\Api\ApiClassImplementsRule' => [['0424']], 'PHPStan\Rules\Api\OldPhpParser4ClassRule' => [['0425']], 'PHPStan\Rules\Api\ApiMethodCallRule' => [['0426']], 'PHPStan\Rules\Api\ApiInstantiationRule' => [['0427']], 'PHPStan\Rules\Api\NodeConnectingVisitorAttributesRule' => [['0428']], 'PHPStan\Rules\Api\ApiClassExtendsRule' => [['0429']], 'PHPStan\Rules\Api\ApiStaticCallRule' => [['0430']], 'PHPStan\Rules\Api\RuntimeReflectionInstantiationRule' => [['0431']], 'PHPStan\Rules\Api\ApiTraitUseRule' => [['0432']], 'PHPStan\Rules\Api\GetTemplateTypeRule' => [['0433']], 'PHPStan\Rules\Exceptions\ThrowExpressionRule' => [['0434']], 'PHPStan\Rules\Exceptions\NoncapturingCatchRule' => [['0435']], 'PHPStan\Rules\Exceptions\CaughtExceptionExistenceRule' => [['0436']], 'PHPStan\Rules\Constants\MagicConstantContextRule' => [['0437']], 'PHPStan\Rules\Constants\FinalConstantRule' => [['0438']], 'PHPStan\Rules\Constants\ConstantRule' => [['0439']], 'PHPStan\Rules\Constants\OverridingConstantRule' => [['0440']], 'PHPStan\Rules\Constants\DynamicClassConstantFetchRule' => [['0441']], 'PHPStan\Rules\Constants\FinalPrivateConstantRule' => [['0442']], 'PHPStan\Rules\Constants\NativeTypedClassConstantRule' => [['0443']], 'PHPStan\Rules\Constants\ClassAsClassConstantRule' => [['0444']], 'PHPStan\Rules\Functions\InnerFunctionRule' => [['0445']], 'PHPStan\Rules\Functions\RedefinedParametersRule' => [['0446']], 'PHPStan\Rules\Functions\ArrowFunctionAttributesRule' => [['0447']], 'PHPStan\Rules\Functions\PrintfParametersRule' => [['0448']], 'PHPStan\Rules\Functions\CallToNonExistentFunctionRule' => [['0449']], 'PHPStan\Rules\Functions\ArrowFunctionReturnNullsafeByRefRule' => [['0450']], 'PHPStan\Rules\Functions\DefineParametersRule' => [['0451']], 'PHPStan\Rules\Functions\ExistingClassesInArrowFunctionTypehintsRule' => [['0452']], 'PHPStan\Rules\Functions\ExistingClassesInTypehintsRule' => [['0453']], 'PHPStan\Rules\Functions\InvalidLexicalVariablesInClosureUseRule' => [['0454']], 'PHPStan\Rules\Functions\VariadicParametersDeclarationRule' => [['0455']], 'PHPStan\Rules\Functions\FunctionAttributesRule' => [['0456']], 'PHPStan\Rules\Functions\UnusedClosureUsesRule' => [['0457']], 'PHPStan\Rules\Functions\ParamAttributesRule' => [['0458']], 'PHPStan\Rules\Functions\CallToFunctionParametersRule' => [['0459']], 'PHPStan\Rules\Functions\PrintfArrayParametersRule' => [['0460']], 'PHPStan\Rules\Functions\ClosureAttributesRule' => [['0461']], 'PHPStan\Rules\Functions\ExistingClassesInClosureTypehintsRule' => [['0462']], 'PHPStan\Rules\Functions\ReturnNullsafeByRefRule' => [['0463']], 'PHPStan\Rules\Functions\FunctionCallableRule' => [['0464']], 'PHPStan\Rules\Methods\MethodAttributesRule' => [['0465']], 'PHPStan\Rules\Methods\AbstractPrivateMethodRule' => [['0466']], 'PHPStan\Rules\Methods\FinalPrivateMethodRule' => [['0467']], 'PHPStan\Rules\Methods\CallStaticMethodsRule' => [['0468']], 'PHPStan\Rules\Methods\MethodVisibilityInInterfaceRule' => [['0469']], 'PHPStan\Rules\Methods\CallMethodsRule' => [['0470']], 'PHPStan\Rules\Methods\ExistingClassesInTypehintsRule' => [['0471']], 'PHPStan\Rules\Methods\MissingMethodImplementationRule' => [['0472']], 'PHPStan\Rules\Methods\MissingMagicSerializationMethodsRule' => [['0473']], 'PHPStan\Rules\Methods\OverridingMethodRule' => [['0474']], 'PHPStan\Rules\Methods\StaticMethodCallableRule' => [['0475']], 'PHPStan\Rules\Methods\ConstructorReturnTypeRule' => [['0476']], 'PHPStan\Rules\Methods\AbstractMethodInNonAbstractClassRule' => [['0477']], 'PHPStan\Rules\Methods\ConsistentConstructorRule' => [['0478']], 'PHPStan\Rules\Methods\MethodCallableRule' => [['0479']], 'PHPStan\Rules\Traits\ConflictingTraitConstantsRule' => [['0480']], 'PHPStan\Rules\Traits\ConstantsInTraitsRule' => [['0481']], 'PHPStan\Rules\Traits\TraitAttributesRule' => [['0482']], 'PHPStan\Rules\Regexp\RegularExpressionPatternRule' => [['0483']], 'PHPStan\Rules\EnumCases\EnumCaseAttributesRule' => [['0484']], 'PHPStan\Rules\Types\InvalidTypesInUnionRule' => [['0485']], 'PhpParser\BuilderFactory' => [['0486']], 'PhpParser\NodeVisitor\NameResolver' => [['0487']], 'PHPStan\PhpDocParser\ParserConfig' => [['0488']], 'PHPStan\PhpDocParser\Lexer\Lexer' => [['0489']], 'PHPStan\PhpDocParser\Parser\TypeParser' => [['0490']], 'PHPStan\PhpDocParser\Parser\ConstExprParser' => [['0491']], 'PHPStan\PhpDocParser\Parser\PhpDocParser' => [['0492']], 'PHPStan\PhpDocParser\Printer\Printer' => [['0493']], 'PHPStan\BetterReflection\SourceLocator\SourceStubber\SourceStubber' => [1 => ['0494', '0495']], 'PHPStan\BetterReflection\SourceLocator\SourceStubber\PhpStormStubsSourceStubber' => [['0494']], 'PHPStan\BetterReflection\SourceLocator\SourceStubber\ReflectionSourceStubber' => [['0495']], 'PHPStan\BetterReflection\Reflector\DefaultReflector' => [2 => ['originalBetterReflectionReflector']], 'PHPStan\Dependency\ExportedNodeVisitor' => [['0496']], 'PHPStan\Reflection\BetterReflection\SourceLocator\CachingVisitor' => [['0497']], 'PHPStan\Reflection\MethodsClassReflectionExtension' => [['0498', '0499', '0501', '0503', '0504']], 'PHPStan\Reflection\Php\PhpClassReflectionExtension' => [['0498']], 'PHPStan\Reflection\Annotations\AnnotationsMethodsClassReflectionExtension' => [['0499']], 'PHPStan\Reflection\Annotations\AnnotationsPropertiesClassReflectionExtension' => [['0500']], 'PHPStan\Reflection\Mixin\MixinMethodsClassReflectionExtension' => [['0501']], 'PHPStan\Reflection\Mixin\MixinPropertiesClassReflectionExtension' => [['0502']], 'PHPStan\Reflection\Php\Soap\SoapClientMethodsClassReflectionExtension' => [['0503']], 'PHPStan\Reflection\RequireExtension\RequireExtendsMethodsClassReflectionExtension' => [['0504']], 'PHPStan\Reflection\RequireExtension\RequireExtendsPropertiesClassReflectionExtension' => [['0505']], 'PHPStan\Rules\Methods\MethodSignatureRule' => [['0506']], 'PHPStan\Diagnose\PHPStanDiagnoseExtension' => [2 => ['phpstanDiagnoseExtension']], 'PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension' => [['0507', '0508', '0509', '0510', '0511']], 'PHPStan\Type\Php\DateTimeModifyReturnTypeExtension' => [['0512', '0513']], 'PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension' => [['0514', '0515']], 'PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension' => [ ['0516', '0517'], ], 'PHPStan\Command\ErrorFormatter\JsonErrorFormatter' => [['errorFormatter.json', 'errorFormatter.prettyJson']], 'PHPStan\File\FileExcluder' => [2 => ['fileExcluderAnalyse', 'fileExcluderScan']], 'PHPStan\File\FileFinder' => [2 => ['fileFinderAnalyse', 'fileFinderScan']], 'PHPStan\Cache\CacheStorage' => [2 => ['cacheStorage']], 'PHPStan\Cache\FileCacheStorage' => [2 => ['cacheStorage']], 'PHPStan\BetterReflection\SourceLocator\Type\SourceLocator' => [2 => ['betterReflectionSourceLocator']], 'PHPStan\Parser\Parser' => [ 2 => [ 'php8Parser', 'currentPhpVersionSimpleDirectParser', 'currentPhpVersionSimpleParser', 'currentPhpVersionRichParser', 'pathRoutingParser', 'defaultAnalysisParser', 'freshStubParser', 'stubParser', ], ], 'PHPStan\Parser\SimpleParser' => [2 => ['php8Parser', 'currentPhpVersionSimpleDirectParser']], 'PhpParser\Lexer' => [2 => ['php8Lexer', 'currentPhpVersionLexer']], 'PhpParser\Lexer\Emulative' => [2 => ['php8Lexer']], 'PhpParser\ParserAbstract' => [2 => ['php8PhpParser', 'currentPhpVersionPhpParser']], 'PhpParser\Parser' => [2 => ['php8PhpParser', 'currentPhpVersionPhpParser', 'phpParserDecorator']], 'PhpParser\Parser\Php8' => [2 => ['php8PhpParser']], 'PHPStan\Parser\PhpParserFactory' => [2 => ['currentPhpVersionPhpParserFactory']], 'PHPStan\Parser\CleaningParser' => [2 => ['currentPhpVersionSimpleParser']], 'PHPStan\Parser\RichParser' => [2 => ['currentPhpVersionRichParser']], 'PHPStan\Parser\PathRoutingParser' => [2 => ['pathRoutingParser']], 'PHPStan\Parser\PhpParserDecorator' => [2 => ['phpParserDecorator']], 'PHPStan\Parser\CachedParser' => [2 => ['defaultAnalysisParser', 'stubParser']], 'PHPStan\Parser\StubParser' => [2 => ['freshStubParser']], 'PHPStan\Rules\Exceptions\MissingCheckedExceptionInFunctionThrowsRule' => [['0518']], 'PHPStan\Rules\Exceptions\MissingCheckedExceptionInMethodThrowsRule' => [['0519']], 'PHPStan\Rules\Exceptions\MissingCheckedExceptionInPropertyHookThrowsRule' => [['0520']], 'PHPStan\Rules\Properties\UninitializedPropertyRule' => [['0521']], 'PHPStan\Rules\Classes\NewStaticInAbstractClassStaticMethodRule' => [['0522']], 'PHPStan\Rules\RestrictedUsage\RestrictedClassConstantUsageExtension' => [['0523']], 'PHPStan\Rules\InternalTag\RestrictedInternalClassConstantUsageExtension' => [['0523']], 'PHPStan\Rules\RestrictedUsage\RestrictedClassNameUsageExtension' => [['0524']], 'PHPStan\Rules\InternalTag\RestrictedInternalClassNameUsageExtension' => [['0524']], 'PHPStan\Rules\RestrictedUsage\RestrictedFunctionUsageExtension' => [['0525']], 'PHPStan\Rules\InternalTag\RestrictedInternalFunctionUsageExtension' => [['0525']], ]; public function __construct(array $params = []) { parent::__construct($params); } public function createService01(): PHPStan\Analyser\ScopeFactory { return new PHPStan\Analyser\ScopeFactory($this->getService('010')); } public function createService02(): PHPStan\Analyser\ConstantResolverFactory { return new PHPStan\Analyser\ConstantResolverFactory($this->getService('0306'), $this->getService('0345')); } public function createService03(): PHPStan\Analyser\Analyser { return new PHPStan\Analyser\Analyser( $this->getService('015'), $this->getService('registry'), $this->getService('0325'), $this->getService('07'), 50 ); } public function createService04(): PHPStan\Analyser\IgnoreErrorExtensionProvider { return new PHPStan\Analyser\IgnoreErrorExtensionProvider($this->getService('0345')); } public function createService05(): PHPStan\Analyser\Ignore\IgnoreLexer { return new PHPStan\Analyser\Ignore\IgnoreLexer; } public function createService06(): PHPStan\Analyser\Ignore\IgnoredErrorHelper { return new PHPStan\Analyser\Ignore\IgnoredErrorHelper( $this->getService('0333'), [ [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Metrics\\\CacheMetricsInterface\:\:enableDebugMode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:getDriverMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:getHealthStatus\(\) has parameter \$stats with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:getMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:getSummary\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:resetMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:resetMetricsGet\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\SessionManager\:\:getActiveSessionCount\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Call to function is_string\(\) with string will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Call to method getRoutes\(\) on an unknown class App\\\Framework\\\Router\\\RouteRegistry\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\Dashboard\:\:getMemoryLimitInBytes\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Parameter \#1 \$string1 of function strcmp expects string, int\|string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Parameter \#2 \$string2 of function strcmp expects string, int\|string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Property App\\\Application\\\Admin\\\Dashboard\:\:\$config is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/HealthController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\HealthController\:\:getHealthSummary\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/HealthController.php', ], [ 'message' => '#^Caught class App\\\Application\\\Admin\\\Error not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Images.php', ], [ 'message' => '#^Parameter \#1 \$id of method App\\\Domain\\\Media\\\ImageSlotRepository\:\:findById\(\) expects string, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageSlots.php', ], [ 'message' => '#^Cannot use array destructuring on array\\|false\.$#', 'identifier' => 'offsetAccess.nonArray', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Parameter \#1 \$hash of method App\\\Domain\\\Media\\\ImageRepository\:\:findByHash\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Parameter \$hash of class App\\\Domain\\\Media\\\Image constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Property App\\\Application\\\Admin\\\ShowImageUpload\:\:\$stringConverter is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Parameter \#1 \$routes of class App\\\Application\\\Admin\\\RoutesViewModel constructor expects array\, list given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowRoutes.php', ], [ 'message' => '#^Property App\\\Application\\\Admin\\\ShowRoutes\:\:\$pathProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowRoutes.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 19, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\AnalyticsController\:\:exportData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\AnalyticsController\:\:getBusinessMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\AnalyticsController\:\:getRealTimeData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsDashboardService\:\:getTopPages\(\) should return array\ but returns list\\>\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsDashboardService.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getCurrentPageViews\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getLiveTraffic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getRealTimeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getRealTimeData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getRecentActions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Property App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:\$storage is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsReportService\:\:exportData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsReportService\:\:getBusinessMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsReportService\:\:getBusinessMetricsArray\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsReportService\:\:getFunnelData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>value" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Api/ExampleApiController.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 9, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Api/SimpleMarkdownController.php', ], [ 'message' => '#^Class App\\\Framework\\\Router\\\Result\\\ViewResult constructor invoked with 1 parameter, 2\-7 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Auth/ShowLogin.php', ], [ 'message' => '#^Property App\\\Application\\\Contact\\\StoreContactHandler\:\:\$contactRepository is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Contact/StoreContactHandler.php', ], [ 'message' => '#^Parameter \#2 \$metaData of class App\\\Framework\\\Router\\\Result\\\ViewResult constructor expects App\\\Framework\\\Meta\\\MetaData, App\\\Application\\\EPK\\\MetaData given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/EPK/ShowEpk.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Left side of && is always true\.$#', 'identifier' => 'booleanAnd.leftAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkDatabase\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkDatabase\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkFilesystem\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkMemory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkPhp\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkRedis\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/ChatController.php', ], [ 'message' => '#^Method App\\\Application\\\Http\\\Controllers\\\ChatController\:\:broadcast\(\) has parameter \$message with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/ChatController.php', ], [ 'message' => '#^Method App\\\Application\\\Http\\\Controllers\\\ChatController\:\:handleChatMessage\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/ChatController.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/NotificationController.php', ], [ 'message' => '#^Method App\\\Application\\\Http\\\Controllers\\\NotificationController\:\:getUserNotifications\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/NotificationController.php', ], [ 'message' => '#^Cannot instantiate interface App\\\Framework\\\Http\\\Response\.$#', 'identifier' => 'new.interface', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/QrCodeController.php', ], [ 'message' => '#^Parameter \#3 \$config of method App\\\Application\\\Service\\\QrCodeService\:\:generatePng\(\) expects App\\\Domain\\\QrCode\\\ValueObject\\\QrCodeConfig\|null, App\\\Application\\\Http\\\Controllers\\\QrCodeConfig given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/QrCodeController.php', ], [ 'message' => '#^Parameter \#3 \$config of method App\\\Application\\\Service\\\QrCodeService\:\:generateSvg\(\) expects App\\\Domain\\\QrCode\\\ValueObject\\\QrCodeConfig\|null, App\\\Application\\\Http\\\Controllers\\\QrCodeConfig given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/QrCodeController.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:getErrorTemplate\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Smartlink.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:getViewTemplate\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Smartlink.php', ], [ 'message' => '#^Property App\\\Application\\\Http\\\Smartlink\:\:\$handler is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Smartlink.php', ], [ 'message' => '#^Function rmdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Method App\\\Application\\\Media\\\MediaCleanupService\:\:cleanupEmptyDirectories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Method App\\\Application\\\Media\\\MediaCleanupService\:\:cleanupUnusedFiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Method App\\\Application\\\Media\\\MediaCleanupService\:\:createImageVariants\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Method App\\\Application\\\Media\\\MediaCleanupService\:\:fullCleanup\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Function gmdate\(\) is forbidden\: Use Clock\:\:now\(\)\-\>setTimezone\(\) and format\(\) instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowImage.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 13, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowImage.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowImage.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function gmdate expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowImage.php', ], [ 'message' => '#^Parameter \#2 \$fileSize of static method App\\\Framework\\\Http\\\Streaming\\\RangeParser\:\:parseRange\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowVideo.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Framework\\\Http\\\Responses\\\StreamResponse constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowVideo.php', ], [ 'message' => '#^Access to constant RAPIDMAIL_PASSWORD on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Newsletter/SignUp/NewsletterSignupHandler.php', ], [ 'message' => '#^Access to constant RAPIDMAIL_USERNAME on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Newsletter/SignUp/NewsletterSignupHandler.php', ], [ 'message' => '#^Call to static method getRapidmailListId\(\) on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Newsletter/SignUp/NewsletterSignupHandler.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:exportMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getMemoryStats\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getReport\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getRequestStats\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getSummary\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:resetMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Parameter \#1 \$value of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:parse\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Call to an undefined method Symfony\\\Component\\\Finder\\\Exception\\\AccessDeniedException\:\:getAction\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to an undefined method Symfony\\\Component\\\Finder\\\Exception\\\AccessDeniedException\:\:getRequiredPermission\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to an undefined method Symfony\\\Component\\\Finder\\\Exception\\\AccessDeniedException\:\:getResource\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getAlgorithm\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\CryptographicException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getErrors\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\ValidationException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getInvalidValue\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\ValidationException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getMessage\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\CryptographicException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getOperation\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\CryptographicException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Class App\\\Framework\\\Core\\\Exceptions\\\CryptographicException not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Class App\\\Framework\\\Core\\\Exceptions\\\ValidationException not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Parameter \$email of class App\\\Application\\\Security\\\Events\\\Authorization\\\AccessDeniedEvent constructor expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Parameter \$exception of method App\\\Application\\\Security\\\ExceptionHandlers\\\SecurityExceptionHandler\:\:handleCryptographicError\(\) has invalid type App\\\Framework\\\Core\\\Exceptions\\\CryptographicException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Parameter \$exception of method App\\\Application\\\Security\\\ExceptionHandlers\\\SecurityExceptionHandler\:\:handleValidationError\(\) has invalid type App\\\Framework\\\Core\\\Exceptions\\\ValidationException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:authenticate\(\) never returns App\\\Domain\\\User\\\User so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:authenticate\(\) should return App\\\Domain\\\User\\\User\|null but returns App\\\Framework\\\Database\\\Example\\\User\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:handleFailedAttempt\(\) expects App\\\Domain\\\User\\\User, App\\\Framework\\\Database\\\Example\\\User given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:handleSuccessfulLogin\(\) expects App\\\Domain\\\User\\\User, App\\\Framework\\\Database\\\Example\\\User given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:isAccountLocked\(\) expects App\\\Domain\\\User\\\User, App\\\Framework\\\Database\\\Example\\\User given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \$sessionId of class App\\\Application\\\Security\\\Events\\\Auth\\\AuthenticationSuccessEvent constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \$sessionId of class App\\\Application\\\Security\\\Events\\\Auth\\\SessionTerminatedEvent constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Middleware/SecurityEventMiddleware.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Middleware\\\SecurityEventMiddleware\:\:analyzeResponse\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Middleware/SecurityEventMiddleware.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Middleware\\\SecurityEventMiddleware\:\:checkRateLimit\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Middleware/SecurityEventMiddleware.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Middleware\\\SecurityEventMiddleware\:\:validateCsrfToken\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Middleware/SecurityEventMiddleware.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:ACCOUNT_LOCKED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:AUDIT_FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:DATA_ACCESS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:FILE_UPLOAD\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:INJECTION_ATTEMPT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCESS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:MALWARE_DETECTED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:PRIVILEGE_ESCALATION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:SESSION_HIJACK\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:SESSION_TIMEOUT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Match expression does not handle remaining values\: App\\\Application\\\Security\\\SecurityEventType\:\:ADMIN_ACTION\|App\\\Application\\\Security\\\SecurityEventType\:\:CONFIG_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:CSRF_VIOLATION\|App\\\Application\\\Security\\\SecurityEventType\:\:EMAIL_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCEEDED\|App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:USER_DELETED$#', 'identifier' => 'match.unhandled', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\OWASPSecurityEventFactory\:\:createDataAccessIdentifier\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$attackType of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:maliciousInput\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$eventType of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:auditFailure\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$field of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:inputValidationFailure\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$filename of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:fileUploadFailure\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$malwareType of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:malwareDetected\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#2 \$fromRole of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:privilegeEscalation\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#2 \$resource of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:authorizationFailure\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#3 \$toRole of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:privilegeEscalation\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventLogger.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityContext.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityContext.php', ], [ 'message' => '#^Cannot call method createFromSecurityEvent\(\) on App\\\Application\\\Security\\\OWASPSecurityEventFactory\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityEventLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityEventLogger.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\SecurityEventLogger\:\:extractPayload\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityEventLogger.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/FileUploadSecurityService.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Services\\\FileUploadSecurityService\:\:validateUpload\(\) has parameter \$file with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/FileUploadSecurityService.php', ], [ 'message' => '#^Parameter \#2 \$mimeType of method App\\\Application\\\Security\\\Services\\\FileUploadSecurityService\:\:dispatchSuspiciousUpload\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/FileUploadSecurityService.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Services\\\InputValidationService\:\:sanitizeInput\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/InputValidationService.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Services\\\InputValidationService\:\:validateInput\(\) has parameter \$rules with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/InputValidationService.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogFormat.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogFormat.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\ValueObjects\\\OWASPLogFormat\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogFormat.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:ACCOUNT_LOCKED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:AUDIT_FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:FILE_UPLOAD\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:INJECTION_ATTEMPT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCESS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:MALWARE_DETECTED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:PRIVILEGE_ESCALATION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:SESSION_HIJACK\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:SESSION_TIMEOUT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Match arm comparison between App\\\Application\\\Security\\\SecurityEventType\:\:ADMIN_ACTION\|App\\\Application\\\Security\\\SecurityEventType\:\:CONFIG_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:CSRF_VIOLATION\|App\\\Application\\\Security\\\SecurityEventType\:\:EMAIL_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCEEDED\|App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:USER_DELETED and App\\\Application\\\Security\\\SecurityEventType\:\:ACCESS_DENIED is always false\.$#', 'identifier' => 'match.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Match arm comparison between App\\\Application\\\Security\\\SecurityEventType\:\:ADMIN_ACTION\|App\\\Application\\\Security\\\SecurityEventType\:\:CONFIG_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:CSRF_VIOLATION\|App\\\Application\\\Security\\\SecurityEventType\:\:EMAIL_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCEEDED\|App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:USER_DELETED and App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_FAILED is always false\.$#', 'identifier' => 'match.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/SecurityContext.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/SecurityContext.php', ], [ 'message' => '#^Access to constant SHOPIFY_ACCESS_TOKEN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/CustomerController.php', ], [ 'message' => '#^Access to constant SHOPIFY_API_VERSION on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/CustomerController.php', ], [ 'message' => '#^Access to constant SHOPIFY_SHOP_DOMAIN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/CustomerController.php', ], [ 'message' => '#^Access to constant SHOPIFY_ACCESS_TOKEN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/OrderController.php', ], [ 'message' => '#^Access to constant SHOPIFY_API_VERSION on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/OrderController.php', ], [ 'message' => '#^Access to constant SHOPIFY_SHOP_DOMAIN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/OrderController.php', ], [ 'message' => '#^Access to constant SHOPIFY_ACCESS_TOKEN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductController.php', ], [ 'message' => '#^Access to constant SHOPIFY_API_VERSION on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductController.php', ], [ 'message' => '#^Access to constant SHOPIFY_SHOP_DOMAIN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductController.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ProductRequest\:\:__construct\(\) has parameter \$images with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductRequest.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ProductRequest\:\:__construct\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductRequest.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ProductRequest\:\:__construct\(\) has parameter \$variants with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductRequest.php', ], [ 'message' => '#^Access to constant SHOPIFY_ACCESS_TOKEN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopController.php', ], [ 'message' => '#^Access to constant SHOPIFY_API_VERSION on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopController.php', ], [ 'message' => '#^Access to constant SHOPIFY_SHOP_DOMAIN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopController.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ShopifyWebhookHandler\:\:processCustomerCreated\(\) has parameter \$customerData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopifyWebhookHandler.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ShopifyWebhookHandler\:\:processOrderCreated\(\) has parameter \$orderData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopifyWebhookHandler.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ShopifyWebhookHandler\:\:processProductUpdate\(\) has parameter \$productData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopifyWebhookHandler.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$clock is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$connection is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$dateTimeFormatter is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$entityManager is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$imageRepository is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$urlGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowVcard.php', ], [ 'message' => '#^Method App\\\Domain\\\AI\\\AiQuery\:\:__construct\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/AI/AiQuery.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/Email.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_starts_with expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$string of function chunk_split expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$red of class App\\\Domain\\\Common\\\ValueObject\\\RGBColor constructor expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/RGBColor.php', ], [ 'message' => '#^Parameter \#2 \$green of class App\\\Domain\\\Common\\\ValueObject\\\RGBColor constructor expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/RGBColor.php', ], [ 'message' => '#^Parameter \#3 \$blue of class App\\\Domain\\\Common\\\ValueObject\\\RGBColor constructor expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/RGBColor.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\GdImageProcessor\:\:createImageFromFile\(\) should return GdImage but returns GdImage\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\GdImageProcessor\:\:createVariant\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Parameter \#1 \$width of function imagecreatetruecolor expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Parameter \#2 \$height of function imagecreatetruecolor expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Parameter \#6 \$color of function imagefilledrectangle expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Domain\\\Media\\\ImageVariant constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Variable \$format in PHPDoc tag @var does not exist\.$#', 'identifier' => 'varTag.variableNotFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Variable \$size in PHPDoc tag @var does not exist\.$#', 'identifier' => 'varTag.variableNotFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Cannot access property \$image on object\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageRepository\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageRepository\:\:findByFilename\(\) should return App\\\Domain\\\Media\\\Image\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageRepository\:\:findByHash\(\) should return App\\\Domain\\\Media\\\Image\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageRepository\:\:findById\(\) should return App\\\Domain\\\Media\\\Image\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Property App\\\Domain\\\Media\\\ImageRepository\:\:\$connection is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageResizer\:\:createImageFromFile\(\) should return GdImage but returns GdImage\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageResizer\:\:saveImage\(\) has parameter \$image with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Missing parameter \$size \(string\) in call to App\\\Domain\\\Media\\\ImageVariant constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Parameter \#1 \$width of function imagecreatetruecolor expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Parameter \#2 \$height of function imagecreatetruecolor expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Domain\\\Media\\\ImageVariant constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSlotRepository\:\:findById\(\) should return App\\\Domain\\\Media\\\ImageSlot but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSlotRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSlotRepository\:\:findBySlotName\(\) should return App\\\Domain\\\Media\\\ImageSlot but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSlotRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSlotRepository\:\:getSlots\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSlotRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:generateImgTag\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:generatePictureElement\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:generateSourceElement\(\) has parameter \$variants with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:getFallbackImage\(\) has parameter \$variantsByFormat with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:groupVariantsByFormat\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageVariantConfig\:\:getAllVariants\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageVariantConfig.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageVariantConfig\:\:getVariantsForType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageVariantConfig.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageVariantRepository\:\:findByFilename\(\) should return App\\\Domain\\\Media\\\ImageVariant\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageVariantRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageVariantType\:\:getSizes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageVariantType.php', ], [ 'message' => '#^Call to an undefined method Imagick\:\:autoOrientImage\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImagickImageProcessor\:\:createVariant\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Domain\\\Media\\\ImageVariant constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Variable \$format in PHPDoc tag @var does not exist\.$#', 'identifier' => 'varTag.variableNotFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Variable \$size in PHPDoc tag @var does not exist\.$#', 'identifier' => 'varTag.variableNotFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/SaveImageFile.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Entity/MetaEntry.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Entity/MetaEntry.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Entity\\\MetaEntry\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Entity/MetaEntry.php', ], [ 'message' => '#^Parameter \#3 \$subject of function str_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Entity/MetaEntry.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:clearCache\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:createMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:deleteMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:getMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:listMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:toggleMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:updateMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:validateTemplate\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getAttribute\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getQueryParams\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getRouteParameters\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:setAttribute\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Response\:\:getBody\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Response\:\:getHeader\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Response\:\:setBody\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\RenderContext\:\:setMeta\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Middleware\\\MetaMiddleware\:\:extractContextFromRequest\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\Max does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\MaxLength does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 11, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\Min does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\Required does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\Url does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Request\\\MetaRequest\:\:getKeywordsAsArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Property App\\\Domain\\\Meta\\\Http\\\Request\\\MetaRequest\:\:\$customMeta type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Property App\\\Domain\\\Meta\\\Http\\\Request\\\MetaRequest\:\:\$keywords type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Interface\\\MetaAware\:\:getMetaKeywords\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Interface/MetaAware.php', ], [ 'message' => '#^Cannot call method fetchColumn\(\) on PDOStatement\|false\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Cannot call method format\(\) on DateTimeImmutable\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Cannot call method toArray\(\) on App\\\Domain\\\Meta\\\ValueObject\\\MetaData\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\DatabaseMetaRepository\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\DatabaseMetaRepository\:\:findAllByRoute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\DatabaseMetaRepository\:\:hydrateFromRow\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\DatabaseMetaRepository\:\:search\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\MetaRepositoryInterface\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/MetaRepositoryInterface.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\MetaRepositoryInterface\:\:findAllByRoute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/MetaRepositoryInterface.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\MetaRepositoryInterface\:\:search\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/MetaRepositoryInterface.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getRouteParameters\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getUri\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Call to method deleteByPattern\(\) on an unknown class App\\\Framework\\\Cache\\\CacheInterface\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Call to method get\(\) on an unknown class App\\\Framework\\\Cache\\\CacheInterface\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Call to method set\(\) on an unknown class App\\\Framework\\\Cache\\\CacheInterface\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:resolveForEntity\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:resolveForRequest\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:resolveForRoute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:merge\(\) expects App\\\Domain\\\Meta\\\ValueObject\\\MetaData, App\\\Domain\\\Meta\\\ValueObject\\\MetaData\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Parameter \$cache of method App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:__construct\(\) has invalid type App\\\Framework\\\Cache\\\CacheInterface\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Property App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:\$cache has unknown class App\\\Framework\\\Cache\\\CacheInterface as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:extractPlaceholders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:getNestedValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolve\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolveCustomMeta\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolveCustomMeta\(\) has parameter \$customMeta with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolveCustomMeta\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolveTemplate\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:validateTemplate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Offset 1 on array\{list\, list\\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Offset 2 on array\{list\, list\, list\\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace_callback expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:__construct\(\) has parameter \$customMeta with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/ValueObject/MetaData.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:__construct\(\) has parameter \$keywords with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/ValueObject/MetaData.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/ValueObject/MetaData.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/ValueObject/MetaData.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\AlignmentPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/AlignmentPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\AlignmentPattern\:\:applyPattern\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/AlignmentPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\AlignmentPattern\:\:calculatePositions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/AlignmentPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\AlignmentPatternTable\:\:getPositions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/AlignmentPatternTable.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\DarkModulePattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/DarkModulePattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\FinderPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/FinderPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\FinderPattern\:\:applySeparator\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/FinderPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\FinderPattern\:\:createAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/FinderPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\FormatInfoPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/FormatInfoPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\PatternInterface\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/PatternInterface.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\TimingPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/TimingPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\VersionInfoPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/VersionInfoPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\VersionInfoPattern\:\:placeVersionInfo\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/VersionInfoPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\VersionInfoPattern\:\:placeVersionInfoTransposed\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/VersionInfoPattern.php', ], [ 'message' => '#^Match expression does not handle remaining values\: 0\|int\<4, max\>$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeEncoder\:\:addPadBytes\(\) has parameter \$errorCorrectionLevel with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeEncoder\:\:addTerminator\(\) has parameter \$errorCorrectionLevel with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:applyMask\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:calculateMaskPenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:evaluateBalancePenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:evaluateConsecutiveModulesPenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:evaluateFinderPatternLikePenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:evaluateSameColorBlocksPenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:findBestMask\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Comparison operation "\>\=" between int\<0, max\> and 0 is always true\.$#', 'identifier' => 'greaterOrEqual.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeRenderer.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeRenderer\:\:applyFunctionalPatterns\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeRenderer.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeRenderer\:\:placeData\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeRenderer.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:binaryToBytes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:bytesToBinary\(\) has parameter \$bytes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:interleaveBlocks\(\) has parameter \$blocks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:interleaveBlocks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:organizeDataBlocks\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:organizeDataBlocks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomonEncoder\:\:encode\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomonEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomonEncoder\:\:encode\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomonEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\GaloisField\:\:getExpTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/GaloisField.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\GaloisField\:\:getLogTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/GaloisField.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\Polynomial\:\:divideAndRemainder\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/Polynomial.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\Polynomial\:\:getCoefficients\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/Polynomial.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\Polynomial\:\:removeLeadingZeros\(\) has parameter \$coefficients with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/Polynomial.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\Polynomial\:\:removeLeadingZeros\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/Polynomial.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\QrCodeMatrix\:\:toPng\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#1 \$width of function imagecreate expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#2 \$height of function imagecreate expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#4 \$color of function imagefill expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#6 \$color of function imagefilledrectangle expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Function setcookie\(\) is forbidden\: Use Cookie abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:getCounters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:getSessionId\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:storeAggregatedData\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackAction\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackApiCall\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackBusinessEvent\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackPageView\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsConfig\:\:__construct\(\) has parameter \$sensitiveKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsConfig.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/BusinessEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Events\\\BusinessEvent\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/BusinessEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Analytics\\\Events\\\BusinessEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/BusinessEvent.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/BusinessEvent.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/PageView.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Events\\\PageView\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/PageView.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Analytics\\\Events\\\PageView\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/PageView.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/PageView.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/SecurityEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Events\\\SecurityEvent\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/SecurityEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Analytics\\\Events\\\SecurityEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/SecurityEvent.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/SecurityEvent.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/UserAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Events\\\UserAction\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/UserAction.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Analytics\\\Events\\\UserAction\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/UserAction.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/UserAction.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Listeners/SecurityAnalyticsListener.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Listeners\\\SecurityAnalyticsListener\:\:sanitizeProperties\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Listeners/SecurityAnalyticsListener.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Listeners\\\SecurityAnalyticsListener\:\:sanitizeProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Listeners/SecurityAnalyticsListener.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:getAggregated\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:getTimeSeries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:getTopList\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:storeAggregated\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:storeRawData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:createDirectory\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:exists\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:lastModified\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:listDirectory\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:getAggregated\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:getTimeSeries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:getTopList\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:storeAggregated\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:storeRawData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Property App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:\$aggregatedData type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Property App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:\$performanceCollector is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Property App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:\$rawDataBuffer type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Api\\\ApiException\:\:getResponseData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Api/ApiException.php', ], [ 'message' => '#^Attribute class Attribute constructor invoked with 2 parameters, 0\-1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Attributes/StaticPage.php', ], [ 'message' => '#^Call to an undefined method object\:\:getDeclaringClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Auth/AuthMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Auth/AuthMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Auth\\\AuthMapper\:\:map\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Auth/AuthMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Auth\\\AuthMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Auth/AuthMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheBuilder\:\:createDevelopment\(\) has parameter \$validationConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheBuilder\:\:createFull\(\) has parameter \$validationConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheBuilder\:\:withValidation\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheDecorator\:\:__call\(\) has parameter \$args with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheInitializer\:\:clear\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheInitializer.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Commands/ClearCache.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/FileCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Driver\\\FileCache\:\:getFilesForKey\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/FileCache.php', ], [ 'message' => '#^Parameter \#1 \$string of function md5 expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/FileCache.php', ], [ 'message' => '#^Property App\\\Framework\\\Cache\\\Driver\\\InMemoryCache\:\:\$data type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/InMemoryCache.php', ], [ 'message' => '#^Comparison operation "\>" between \(bool\|int\|Redis\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/RedisCache.php', ], [ 'message' => '#^Comparison operation "\>" between \(int\|Redis\|false\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/RedisCache.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/RedisCache.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheClear.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheClear\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheClear.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheClear.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheDelete.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheDelete\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheDelete.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheDelete.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheHit.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheHit\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheHit.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheHit.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheMiss.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheMiss\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheMiss.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheMiss.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheSet.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheSet\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheSet.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheSet.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/FileCacheCleaner.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\Storage\:\:listDirectory\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/FileCacheCleaner.php', ], [ 'message' => '#^Result of method App\\\Framework\\\Filesystem\\\Storage\:\:delete\(\) \(void\) is used\.$#', 'identifier' => 'method.void', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/FileCacheCleaner.php', ], [ 'message' => '#^Strict comparison using \=\=\= between null and null will always evaluate to true\.$#', 'identifier' => 'identical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/FileCacheCleaner.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:deleteMultiple\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:getMultiple\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:setMultiple\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\LoggingCacheDecorator\:\:deleteMultiple\(\) has parameter \$keys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\LoggingCacheDecorator\:\:getMultiple\(\) has parameter \$keys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\LoggingCacheDecorator\:\:getMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\LoggingCacheDecorator\:\:setMultiple\(\) has parameter \$items with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:getFormattedDriverStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:getHeaviestKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:getStatsForDriver\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:getTopKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:\$keyStats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:\$stats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetricsInterface\:\:getHeaviestKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetricsInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetricsInterface\:\:getStatsForDriver\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetricsInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetricsInterface\:\:getTopKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetricsInterface.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:__construct\(\) has parameter \$driverStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:__construct\(\) has parameter \$heaviestKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:__construct\(\) has parameter \$topKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:getRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/MetricsDecoratedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\MetricsDecoratedCache\:\:sanitizeKey\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/MetricsDecoratedCache.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/MetricsDecoratedCache.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/MetricsDecoratedCache.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MetricsCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\MetricsCacheDecorator\:\:sanitizeKey\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MetricsCacheDecorator.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MetricsCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\ValidationCacheDecorator\:\:__construct\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/ValidationCacheDecorator.php', ], [ 'message' => '#^Binary operation "\+" between App\\\Framework\\\Cache\\\CacheItem and 1 results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Binary operation "\-" between int and App\\\Framework\\\Cache\\\CacheItem results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Cache\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreaker\:\:calculateRetryAfter\(\) should return int but returns float\|int\<0, max\>\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreaker\:\:getHalfOpenAttempts\(\) should return int but returns App\\\Framework\\\Cache\\\CacheItem\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreaker\:\:getMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:__construct\(\) has parameter \$configurations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:determineHealthStatus\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:exportConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:getAllServicesStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:getGlobalStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:getServiceConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:getServicesInNamespace\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:importConfiguration\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:performHealthChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:performServiceHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMiddleware\:\:__construct\(\) has parameter \$protectedServices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerMiddleware.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerMiddleware.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fclose expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fgets expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\DatabaseCircuitBreaker\:\:getStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientRequest\:\:getUrl\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:getStatusCode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\HttpClient\:\:request\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:__construct\(\) has parameter \$serviceConfigs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:delete\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:get\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:getServicesStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:post\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:put\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:withServices\(\) has parameter \$services with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Parameter \#1 \$method of class App\\\Framework\\\HttpClient\\\ClientRequest constructor expects App\\\Framework\\\Http\\\Method, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Parameter \#2 \$response of class App\\\Framework\\\HttpClient\\\Exception\\\ClientErrorException constructor expects App\\\Framework\\\HttpClient\\\ClientResponse, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Parameter \#3 \$headers of class App\\\Framework\\\HttpClient\\\ClientRequest constructor expects App\\\Framework\\\Http\\\Headers, array given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\CircuitBreaker\\\CircuitBreaker\:\:execute\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlerCompiler\:\:compile\(\) has parameter \$handlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlerCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlerDescriptor\:\:fromHandlerArray\(\) has parameter \$handler with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerDescriptor.php', ], [ 'message' => '#^Cannot call method getName\(\) on ReflectionType\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerMapper.php', ], [ 'message' => '#^Class App\\\Framework\\\CommandBus\\\CommandHandlersCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlersCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlersCollection\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlersCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlersCollection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlersCollection.php', ], [ 'message' => '#^Property App\\\Framework\\\CommandBus\\\CommandHandlersCollection\:\:\$handlers type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlersCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\DefaultCommandBus\:\:__construct\(\) has parameter \$middlewares with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\DefaultCommandBus\:\:__debugInfo\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\DefaultCommandBus\:\:__debugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Property App\\\Framework\\\CommandBus\\\DefaultCommandBus\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Configuration.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Configuration\:\:__construct\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Configuration.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Configuration\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Configuration.php', ], [ 'message' => '#^Property App\\\Framework\\\Config\\\Configuration\:\:\$config type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Configuration.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Console\\\ConsoleOutput\:\:askPassword\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Console/SecretsCommand.php', ], [ 'message' => '#^Parameter \#1 \$basePath of method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:generateSecretsTemplate\(\) expects App\\\Framework\\\Filesystem\\\FilePath\|string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Console/SecretsCommand.php', ], [ 'message' => '#^Parameter \#1 \$basePath of method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:validateEncryptionSetup\(\) expects App\\\Framework\\\Filesystem\\\FilePath\|string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Console/SecretsCommand.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:encryptSecretsInFile\(\) has parameter \$keysToEncrypt with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:generateSecretsTemplate\(\) has parameter \$secretKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:parseEnvFile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:validateEncryptionSetup\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Property App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:\$randomGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Environment\:\:__construct\(\) has parameter \$variables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Environment\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Environment\:\:withVariables\(\) has parameter \$variables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Parameter \#1 \$callback of function forward_static_call expects callable\(\)\: mixed, array\{string, \'tryFrom\'\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecretManager\:\:getSecretKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecretManager\:\:getSecurityContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecretManager\:\:rotateSecrets\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecretManager\:\:validateSecretsForContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecurityConfig\:\:__construct\(\) has parameter \$allowedHosts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecurityConfig.php', ], [ 'message' => '#^Parameter \$timezone of class App\\\Framework\\\Config\\\AppConfig constructor expects App\\\Framework\\\DateTime\\\Timezone, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/TypedConfigInitializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\InteractiveMenu\:\:readKey\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/InteractiveMenu.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/InteractiveMenu.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Components\\\InteractiveMenu\:\:\$menuItems type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/InteractiveMenu.php', ], [ 'message' => '#^Cannot call method apply\(\) on App\\\Framework\\\Console\\\ConsoleStyle\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\Table\:\:addRow\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\Table\:\:renderRow\(\) has parameter \$cells with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\Table\:\:setHeaders\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\Table\:\:setRows\(\) has parameter \$rows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Parameter \#2 \$style of method App\\\Framework\\\Console\\\Components\\\Table\:\:renderRow\(\) expects App\\\Framework\\\Console\\\ConsoleStyle, App\\\Framework\\\Console\\\ConsoleStyle\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Components\\\Table\:\:\$columnWidths type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Components\\\Table\:\:\$headers type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Components\\\Table\:\:\$rows type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\TextBox\:\:splitTextIntoLines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/TextBox.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\TextBox\:\:wrapText\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/TextBox.php', ], [ 'message' => '#^Cannot call method apply\(\) on App\\\Framework\\\Console\\\ConsoleStyle\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/TreeHelper.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleApplication\:\:executeCommand\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleApplication\:\:run\(\) has parameter \$argv with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Parameter \#1 \$output of class App\\\Framework\\\Console\\\Components\\\InteractiveMenu constructor expects App\\\Framework\\\Console\\\ConsoleOutput, App\\\Framework\\\Console\\\ConsoleOutputInterface given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\ConsoleApplication\:\:\$commands type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Call to an undefined method object\:\:getDeclaringClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleCommandMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleCommandMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleCommandMapper\:\:map\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleCommandMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleCommandMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleCommandMapper.php', ], [ 'message' => '#^Cannot call method askQuestion\(\) on App\\\Framework\\\Console\\\ConsoleOutputInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Cannot call method confirm\(\) on App\\\Framework\\\Console\\\ConsoleOutputInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Cannot call method write\(\) on App\\\Framework\\\Console\\\ConsoleOutputInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Cannot call method writeLine\(\) on App\\\Framework\\\Console\\\ConsoleOutputInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:__construct\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:choice\(\) has parameter \$choices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:getArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:menu\(\) has parameter \$items with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:multiSelect\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:multiSelect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:parseArguments\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Parameter \#1 \$output of class App\\\Framework\\\Console\\\Components\\\InteractiveMenu constructor expects App\\\Framework\\\Console\\\ConsoleOutput, App\\\Framework\\\Console\\\ConsoleOutputInterface\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\ConsoleInput\:\:\$arguments type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\ConsoleInput\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:choice\(\) has parameter \$choices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:getArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:menu\(\) has parameter \$items with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:multiSelect\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:multiSelect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleOutput.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/DemoCommand.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ProgressBar.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and 0 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ProgressBar.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Spinner.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Spinner\:\:\$frames type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Spinner.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Spinner\:\:\$updateCount \(int\) does not accept float\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Spinner.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\SpinnerStyle\:\:getFrames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/SpinnerStyle.php', ], [ 'message' => '#^Method App\\\Framework\\\Context\\\ExecutionContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Context/ExecutionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Context\\\ExecutionContext\:\:getMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Context/ExecutionContext.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Application.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeCompiler\:\:compile\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeCompiler.php', ], [ 'message' => '#^Call to method create\(\) on an unknown class Archive\\\Async1\\\DiscoveryFactory\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeDiscoveryService\:\:discoverAndProcess\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:__construct\(\) has parameter \$attributeMappers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:getAllMappedAttributes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:getAttributesOfType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:getProcessingStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributes\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:serializeReflector\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:\$attributeMappers type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:\$mappedAttributes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:\$mapperByClass type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:\$processingStats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:extractMethodParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:processAttributes\(\) has parameter \$ref with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:processAttributes\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:processClass\(\) has parameter \$refClass with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:processClass\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ClassParser\:\:getClassesInFile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ClassParser\:\:getTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ClassParser\:\:parseClassName\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ClassParser\:\:parseNamespace\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\ClassParser\:\:\$classCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\ClassParser\:\:\$tokenCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^PHPDoc tag @param for parameter \$mappers with type array\ is incompatible with native type App\\\Framework\\\Core\\\AttributeMapper\.$#', 'identifier' => 'parameter.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Discovery.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DiscoveryCacheManager\:\:loadCache\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DiscoveryCacheManager\:\:storeCache\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Parameter \#1 \$string of function md5 expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DynamicRoute\:\:__construct\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DynamicRoute.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DynamicRoute\:\:__construct\(\) has parameter \$paramNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DynamicRoute.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DynamicRoute\:\:__construct\(\) has parameter \$paramValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DynamicRoute.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DynamicRoute\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DynamicRoute.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ErrorHandler/GlobalErrorHandler.php', ], [ 'message' => '#^Class OutOfMemoryError not found\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ErrorHandler/GlobalErrorHandler.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ErrorHandler/GlobalErrorHandler.php', ], [ 'message' => '#^Instanceof between Exception and ParseError will always evaluate to false\.$#', 'identifier' => 'instanceof.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ErrorHandler/GlobalErrorHandler.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/ApplicationBooted.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/ErrorOccurred.php', ], [ 'message' => '#^Anonymous function has an unused use \$container\.$#', 'identifier' => 'closure.unusedUse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventCompilerPass.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:__construct\(\) has parameter \$eventHandlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:__invoke\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:invokeHandler\(\) has parameter \$handler with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:\$handlers type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Parameter \#1 \$container of class App\\\Framework\\\Core\\\Events\\\EventDispatcher constructor expects App\\\Framework\\\DI\\\DefaultContainer, App\\\Framework\\\DI\\\Container given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcherInitializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventDispatcherInterface\:\:dispatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcherInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerCompiler\:\:compile\(\) has parameter \$attributeData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerCompiler.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerMapper\:\:process\(\) has parameter \$attributeData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerMapper\:\:process\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/UserRegistered.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationLocator.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationLocator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:__construct\(\) has parameter \$targetInterfaces with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:getAllImplementations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:getClassInterfaces\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:getImplementations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:\$implementations type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:\$implementationsByClass type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:\$interfaces is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:\$interfaces type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Argument of an invalid type array\|null supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\PathProvider\:\:\$namespacePaths type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\PathProvider\:\:\$resolvedPaths type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Static method App\\\Framework\\\Core\\\PhpObjectExporter\:\:export\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PhpObjectExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\Route\:\:\$attributes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Route.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\Route\:\:\$parameters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Route.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCache.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteCache\:\:load\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteCache\:\:save\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteCompiler\:\:compileOptimized\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Offset \'http_method\' does not exist on array\{method\: string, path\: string, controller\: class\-string, handler\: string\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Offset \'name\' on \*NEVER\* on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Offset \'parameters\' on \*NEVER\* on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\RouteCompiler\:\:\$named is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Strict comparison using \=\=\= between \'\*\' and \'\*\' will always evaluate to true\.$#', 'identifier' => 'identical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:findRoute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:getRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:getRoutesForController\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function str_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:\$routes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:\$routesByController type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:\$routesByPath type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\StaticRoute\:\:__construct\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/StaticRoute.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\StaticRoute\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/StaticRoute.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailSecurityService\:\:detectSimilarEmails\(\) has parameter \$existingEmails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailSecurityService\:\:detectSimilarEmails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailValidationService\:\:__construct\(\) has parameter \$allowedDomains with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailValidationService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailValidationService\:\:__construct\(\) has parameter \$blockedDomains with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailValidationService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailValidationService\:\:suggestCorrections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailValidationService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailValidationService\:\:validateSyntax\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailValidationService.php', ], [ 'message' => '#^Cannot access offset \'fragment\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'host\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'path\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'port\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'query\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'scheme\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'user\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\UrlManipulator\:\:buildUrl\(\) has parameter \$parsed with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\UrlManipulator\:\:withQuery\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:build\(\) has parameter \$query with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:getQueryParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$fragment is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$fragment is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$host is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$host is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$password is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$password is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$path is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$path is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$port is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$port is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$query is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$query is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$scheme is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$scheme is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$user is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$user is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>value" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Call to an undefined method object\:\:compile\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Call to an undefined method object\:\:getAttributeClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\AttributeProcessorRegistry\:\:processAll\(\) has parameter \$discoveryResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\AttributeProcessorRegistry\:\:processAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) expects class\-string\, App\\\Framework\\\Core\\\AttributeCompiler given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) expects class\-string\, App\\\Framework\\\Core\\\AttributeMapper given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\AttributeProcessorRegistry\:\:\$compilers \(array\\) does not accept array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\AttributeProcessorRegistry\:\:\$mappers \(array\\) does not accept array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\BindingRegistry\:\:getAllBindings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/BindingRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\BindingRegistry\:\:\$bindings type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/BindingRegistry.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:analyzeDependencies\(\) has parameter \$services with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:analyzeDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:analyzeServiceDependencies\(\) has parameter \$analyzedServices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:analyzeServiceDependencies\(\) has parameter \$dependencies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:compile\(\) has parameter \$services with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) should return T of object but returns object\.$#', 'identifier' => 'return.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) should return T of object but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DefaultContainer\:\:getRegisteredServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Parameter \#2 \$concrete of method App\\\Framework\\\DI\\\DefaultContainer\:\:resolveBinding\(\) expects \(callable\(\)\: mixed\)\|object\|string, \(callable\(\)\: mixed\)\|object\|string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\DefaultContainer\:\:\$resolving type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DependencyResolver\:\:resolveDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DependencyResolver\:\:resolveFromCache\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DependencyResolver\:\:resolveParameter\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\DependencyResolver\:\:\$constructorCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Exceptions\\\CyclicDependencyException\:\:__construct\(\) has parameter \$dependencyChain with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Exceptions/CyclicDependencyException.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Exceptions\\\ParameterResolutionException\:\:__construct\(\) has parameter \$dependencyChain with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Exceptions/ParameterResolutionException.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InitializerDependencyGraph\:\:analyzeDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerDependencyGraph.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InitializerDependencyGraph\:\:getNodes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerDependencyGraph.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InitializerDependencyGraph\:\:topologicalSort\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerDependencyGraph.php', ], [ 'message' => '#^Offset string on array\{\} in isset\(\) does not exist\.$#', 'identifier' => 'isset.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerDependencyGraph.php', ], [ 'message' => '#^Call to an undefined method object\:\:getDeclaringClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:getReturnType\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InitializerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InstanceRegistry\:\:getAllRegistered\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InstanceRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\InstanceRegistry\:\:\$instances type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InstanceRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\InstanceRegistry\:\:\$singletons type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InstanceRegistry.php', ], [ 'message' => '#^Strict comparison using \!\=\= between mixed and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InstanceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:invoke\(\) has parameter \$overrides with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:invokeOn\(\) has parameter \$overrides with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:invokeStatic\(\) has parameter \$overrides with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:resolveMethodParameters\(\) has parameter \$overrides with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:resolveMethodParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Part \$instance \(object\) of encapsed string cannot be cast to string\.$#', 'identifier' => 'encapsedStringPart.nonString', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ReflectionCache\:\:get\(\) return type with generic class ReflectionClass does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ReflectionCache\:\:getMethodParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\ReflectionCache\:\:\$classCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\ReflectionCache\:\:\$methodCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\ReflectionCache\:\:\$parameterCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Binary operation "\-" between 100 and App\\\Framework\\\Core\\\ValueObjects\\\Percentage results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupMetadata\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupMetadata\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:__construct\(\) has parameter \$excludeTables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:__construct\(\) has parameter \$includeTables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:excludingTables\(\) has parameter \$tables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:withTables\(\) has parameter \$tables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/Console/BackupCommand.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/Console/BackupCommand.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Filesystem\\\File\:\:read\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Filesystem\\\File\:\:write\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\DatabaseBackupService\:\:getTables\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\DatabaseBackupService\:\:listBackups\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Offset \'Create Table\' might not exist on array\|null\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Parameter \#1 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Parameter \#1 \$permissions of method App\\\Framework\\\Filesystem\\\Directory\:\:create\(\) expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Parameter \$checksum of class App\\\Framework\\\Database\\\Backup\\\BackupMetadata constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Backup\\\DatabaseBackupService\:\:\$randomGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Static call to instance method App\\\Framework\\\Filesystem\\\Directory\:\:create\(\)\.$#', 'identifier' => 'method.staticCall', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:findByQuery\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:findByQuery\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:preloadBelongsTo\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:preloadHasMany\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:preloadOneToOne\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Parameter \#1 \$entityClass of method App\\\Framework\\\Database\\\BatchRelationLoader\:\:findByQuery\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Parameter \#2 \$foreignKeyProperty of method App\\\Framework\\\Database\\\BatchRelationLoader\:\:groupByForeignKey\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Parameter \#2 \$propertyName of method App\\\Framework\\\Database\\\BatchRelationLoader\:\:getPropertyValue\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Call to function method_exists\(\) with App\\\Framework\\\Cache\\\Cache and \'clear\' will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:set\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:setWithTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:setWithTags\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:setWithTags\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:withTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:\$stats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Call to method age\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Call to static method fromClock\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getEntityMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getOverviewMetrics\(\) has parameter \$cacheStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getPerformanceMetrics\(\) has parameter \$cacheStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getRecommendations\(\) has parameter \$cacheStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getRegionMetrics\(\) has parameter \$regionStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getRegionMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getSlowQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getTopQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Parameter \$totalRequests of class App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheOverviewMetrics constructor expects int, array\|float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:\$entityMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:\$queryMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:\$startTime has unknown class App\\\Framework\\\Database\\\Events\\\Timestamp as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheStrategy\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheStrategy\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheStrategy\:\:set\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:createCriticalStrategy\(\) has parameter \$entityIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:createCriticalStrategy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:executeWarmupStrategy\(\) has parameter \$strategy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:executeWarmupStrategy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:getDefaultStrategies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpAllEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpCriticalEntities\(\) has parameter \$entityIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpCriticalEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpEntities\(\) has parameter \$warmupStrategies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpPopularEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpRecentEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheKey\:\:forCollection\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheKey\:\:forCollection\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheKey\:\:forQuery\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheKey.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\IdentityMap\:\:add\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\Metadata\\\EntityMetadata\:\:getIdProperty\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:executeWarmUpStrategy\(\) has parameter \$strategy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:findCollection\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:findCollection\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:findCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:getStrategyForEntity\(\) should return string but returns App\\\Framework\\\Database\\\Cache\\\CacheStrategy\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:shouldCacheCollection\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:shouldCacheCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:warmUpCache\(\) has parameter \$warmUpStrategies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\IdentityMap\:\:clear\(\) invoked with 1 parameter, 0 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:\$strategies \(array\\) does not accept array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:\$enabled is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:getCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:getQueryResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:getRegionStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:putCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:putQueryResult\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Cannot access offset \'hits\' on array\{hits\: 0, misses\: 0\}\|int\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Cannot access offset \'misses\' on array\{hits\: 0, misses\: 0\}\|int\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:createQueryCacheKey\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:getQueryStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:hashQuery\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:query\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:shouldCacheQuery\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Missing parameter \$connection \(App\\\Framework\\\Database\\\ConnectionInterface\) in call to App\\\Framework\\\Database\\\Cache\\\QueryCacheKey constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Parameter \#1 \$string of function strtoupper expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:\$queryStats \(array\\) does not accept array\\|int\>\.$#', 'identifier' => 'assign.propertyType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:\$enabled is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Unknown parameter \$hash in call to App\\\Framework\\\Database\\\Cache\\\QueryCacheKey constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:getConnectionInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:isAssociativeArray\(\) has parameter \$array with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:normalizeParameters\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:normalizeParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Parameter \#1 \$string of function strtolower expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\CacheItem\:\:getValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\CacheItem\:\:isHit\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:listen\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Call to method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:invalidatePattern\(\) on a separate line has no effect\.$#', 'identifier' => 'method.resultUnused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:getCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:getQueryResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:getRegionStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:putCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:putQueryResult\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#2 \$value of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects string, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:getCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:getQueryResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:getRegionStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:putCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:putQueryResult\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:set\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:\$cache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:\$expiry type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:\$stats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheMetricsSnapshot\:\:__construct\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheMetricsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheMetricsSnapshot\:\:__construct\(\) has parameter \$recommendations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheMetricsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheMetricsSnapshot\:\:__construct\(\) has parameter \$regions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheMetricsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheMetricsSnapshot\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheMetricsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheOverviewMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheOverviewMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CachePerformanceMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CachePerformanceMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheRecommendation\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheRecommendation.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\EntityCacheMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/EntityCacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\EntityMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/EntityMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\MemoryUsageMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/MemoryUsageMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\QueryCacheMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/QueryCacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\QueryMetrics\:\:__construct\(\) has parameter \$slowQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/QueryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\QueryMetrics\:\:__construct\(\) has parameter \$topQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/QueryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\QueryMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/QueryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\RegionMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/RegionMetrics.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Commands/ExportProfilingDataCommand.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Commands/ShowProfilingStatsCommand.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Commands\\\ShowProfilingStatsCommand\:\:\$entityManager is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Commands/ShowProfilingStatsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Config\\\CacheConfig\:\:__construct\(\) has parameter \$disabledEntityClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Config/CacheConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Config\\\CacheConfig\:\:__construct\(\) has parameter \$enabledEntityClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Config/CacheConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Config\\\CacheConfig\:\:__construct\(\) has parameter \$regions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Config/CacheConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Config\\\ReadWriteConfig\:\:getAllWeights\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Config/ReadWriteConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionMetadata.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionMetadata\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionMetadata.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionPool\:\:getConnectionMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionPool\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Criteria\:\:getCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Criteria.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Criteria\:\:getOrders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Criteria.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\CriteriaQuery\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/CriteriaQuery.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Criterion\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Criterion.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\DetachedCriteria\:\:getCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/DetachedCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\DetachedCriteria\:\:getOrders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/DetachedCriteria.php', ], [ 'message' => '#^Class App\\\Framework\\\Database\\\Criteria\\\Example\\\User not found\.$#', 'identifier' => 'class.notFound', 'count' => 11, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findActiveUsersWithPosts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findPremiumUsers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUserByEmail\(\) has invalid return type App\\\Framework\\\Database\\\Criteria\\\Example\\\User\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUsersByAge\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUsersByEmail\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUsersByIds\(\) has parameter \$userIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUsersByIds\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findVipOrActiveUsers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:getUserStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:getUsersPage\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:searchUsersByName\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\BetweenExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/BetweenExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\InExpression\:\:__construct\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/InExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\InExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/InExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\LikeExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/LikeExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\LogicalExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/LogicalExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\NotExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/NotExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\SimpleExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/SimpleExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Projection\:\:getAliases\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Projection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Projection\\\AggregateProjection\:\:getAliases\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Projection/AggregateProjection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Projection\\\ProjectionList\:\:getAliases\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Projection/ProjectionList.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Projection\\\PropertyProjection\:\:getAliases\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Projection/PropertyProjection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Restrictions\:\:in\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Restrictions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Restrictions\:\:notIn\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Restrictions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCacheStrategy\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCacheStrategyFromCache\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCachedConnection\(\) has parameter \$cacheConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCachedConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCachedConnectionWithCache\(\) has parameter \$additionalConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCachedConnectionWithCache\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createConnection\(\) has parameter \$middlewareConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createConnectionWithCustomCache\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createDirectConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createFullFeaturedConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createFullFeaturedConnection\(\) has parameter \$middlewareConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createLazyConnection\(\) has parameter \$additionalMiddleware with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createLazyConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createProductionConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createProductionConnection\(\) has parameter \$middlewareConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createPureLazyConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createRetryableConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createRobustConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createRobustConnection\(\) has parameter \$middlewareConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:getConnectionPoolStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:getMigrationStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:getProfilingStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:migrate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:rollback\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Parameter \#2 \$memoryMonitor of class App\\\Framework\\\Database\\\Profiling\\\QueryProfiler constructor expects App\\\Framework\\\Performance\\\MemoryMonitor, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Driver\\\Driver\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/Driver.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Driver\\\DriverConfig\:\:fromArray\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/DriverConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Driver\\\MysqlDriver\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/MysqlDriver.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Driver\\\MysqlDriver\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/MysqlDriver.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Driver\\\PostgresDriver\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/PostgresDriver.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Driver\\\PostgresDriver\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/PostgresDriver.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Driver\\\SqliteDriver\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/SqliteDriver.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Driver\\\SqliteDriver\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/SqliteDriver.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityLoaderInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findBy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityLoaderInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findOneBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityLoaderInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findAllEager\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findAllLazy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findBy\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findBy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByEager\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByEager\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByEager\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByWithoutCache\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByWithoutCache\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByWithoutCache\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findOneBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findWithRelations\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findWithRelations\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:getDomainEventStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:getIdentityMapStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:getProfilingStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:getReference\(\) should return object but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:saveAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Parameter \#1 \$entity of method App\\\Framework\\\Database\\\EntityManager\:\:initializeLazyObject\(\) expects object, object\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Parameter \#1 \$entity of method App\\\Framework\\\Database\\\EntityManager\:\:isLazyGhost\(\) expects object, object\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\EntityManager\:\:\$typeConverter is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityCreatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityCreatedEvent\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityCreatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityCreatedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityCreatedEvent.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDeletedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityDeletedEvent\:\:__construct\(\) has parameter \$deletedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDeletedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityDeletedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDeletedEvent.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDetachedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityDetachedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDetachedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityCreated\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityDeleted\(\) has parameter \$deletedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityLoaded\(\) has parameter \$loadedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityUpdated\(\) has parameter \$changes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityUpdated\(\) has parameter \$newValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityUpdated\(\) has parameter \$oldValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:getDomainEventStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityLoadedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityLoadedEvent\:\:__construct\(\) has parameter \$loadedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityLoadedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityLoadedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityLoadedEvent.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityUpdatedEvent\:\:__construct\(\) has parameter \$changes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityUpdatedEvent\:\:__construct\(\) has parameter \$newValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityUpdatedEvent\:\:__construct\(\) has parameter \$oldValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityUpdatedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\Examples\\\EntityEventUsageExample\:\:eventStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/EntityEventUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:logAnalyticsEvent\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:cleanupUserData\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:createUserProfile\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:notifyUserDeletion\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:sendWelcomeEmail\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:trackUserRegistration\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserPremiumUpgradeEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Events\\\Examples\\\UserPremiumUpgradeEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserPremiumUpgradeEvent.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserRegistrationAnalyticsEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Events\\\Examples\\\UserRegistrationAnalyticsEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserRegistrationAnalyticsEvent.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserWelcomeEmailEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Events\\\Examples\\\UserWelcomeEmailEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserWelcomeEmailEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Example\\\UserRepository\:\:changeEmail\(\) should return App\\\Framework\\\Database\\\Example\\\User but returns object\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Example/UserRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Example\\\UserRepository\:\:changeName\(\) should return App\\\Framework\\\Database\\\Example\\\User but returns object\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Example/UserRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Example\\\UserRepository\:\:create\(\) should return App\\\Framework\\\Database\\\Example\\\User but returns object\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Example/UserRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Example\\\UserRepository\:\:findByEmail\(\) should return App\\\Framework\\\Database\\\Example\\\User\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Example/UserRepository.php', ], [ 'message' => '#^Access to undefined constant PDO\:\:ATTR_NULL_TO_STRING\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:__construct\(\) has parameter \$customQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:checkPdoStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:detailed\(\) has parameter \$customQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:executeCustomQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:getConnectionAttributes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:withCustomQueries\(\) has parameter \$customQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckResult\:\:__construct\(\) has parameter \$additionalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckResult\:\:healthy\(\) has parameter \$additionalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckResult\:\:unhealthy\(\) has parameter \$additionalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:getAllResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:runHealthCheck\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:runScheduledChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:\$healthChecks type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:\$lastResults type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Cannot call method findBy\(\) on App\\\Framework\\\Database\\\EntityLoaderInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadBelongsToRelation\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadBelongsToRelation\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadHasManyRelation\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadHasManyRelation\(\) has parameter \$entityKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadOneToOneRelation\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadOneToOneRelation\(\) has parameter \$entityKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadRelations\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadRelations\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadRelations\(\) has parameter \$entityKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadSingleRelation\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadSingleRelation\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadSingleRelation\(\) has parameter \$entityKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:eagerLoadRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:eagerLoadRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:getForeignKeyPropertyName\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:getRelationKeyValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrate\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateManyWithRelations\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateManyWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateManyWithRelations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateWithRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateWithoutRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:loadHasManyRelation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:loadRelation\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Parameter \#1 \$entityClass of method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:find\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Parameter \#1 \$entityClass of method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findBy\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Parameter \#1 \$entityClass of method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findOneBy\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Parameter \#1 \$name of method ReflectionClass\\:\:getProperty\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrate\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateManyWithRelations\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateManyWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateManyWithRelations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateWithRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\IdentityMap\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/IdentityMap.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\IdentityMap\:\:\$entities type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/IdentityMap.php', ], [ 'message' => '#^Anonymous function has an unused use \$object\.$#', 'identifier' => 'closure.unusedUse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyConnectionFactory\:\:createLazyGhost\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyConnectionFactory\:\:createLazyGhost\(\) should return App\\\Framework\\\Database\\\ConnectionInterface but returns object\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyConnectionFactory\:\:initializeLazyConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:createLazyGhost\(\) should return object but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:getRelationAccessStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:hydrateEntity\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:hydrateRelatedEntities\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:hydrateRelatedEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadBelongsToRelation\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadHasManyRelation\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadHasManyRelation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadOneToOneRelation\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadRelation\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadRelationByType\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:queryRelatedData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\EntityMetadata\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/EntityMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\EntityMetadata\:\:__construct\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/EntityMetadata.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>columnName" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/EntityMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:analyzeType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:createBelongsToRelationMetadata\(\) has parameter \$parentReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:createHasRelationMetadata\(\) has parameter \$parentReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:createRelationMetadataForEntityProperty\(\) has parameter \$parentReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractProperties\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractPropertyMetadata\(\) has parameter \$classReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractRelationMetadata\(\) has parameter \$classReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractRelations\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractRelations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:findForeignKeyProperty\(\) has parameter \$parentReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:findIdProperty\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:findIdProperty\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:getColumnName\(\) has parameter \$classReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:getEntityAttribute\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:hasConstructorParameter\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>idColumn" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Metadata\\\MetadataRegistry\:\:\$metadata type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\PropertyMetadata\:\:__construct\(\) has parameter \$allTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/PropertyMetadata.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\CacheMiddleware\:\:__construct\(\) has parameter \$cacheableOperations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\CacheMiddleware\:\:deserializeResult\(\) has parameter \$cachedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\CacheMiddleware\:\:getCacheStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\CacheMiddleware\:\:serializeResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/HealthCheckMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\MiddlewarePipeline\:\:addMultiple\(\) has parameter \$middleware with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/MiddlewarePipeline.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\MiddlewarePipeline\:\:getMiddleware\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/MiddlewarePipeline.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\QueryContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/QueryContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\QueryContext\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/QueryContext.php', ], [ 'message' => '#^Cannot call method getMessage\(\) on Throwable\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/RetryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\RetryMiddleware\:\:__construct\(\) has parameter \$retryableExceptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/RetryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Migration\\\ApplyMigrations\:\:\$db is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/ApplyMigrations.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Migration\\\ApplyMigrations\:\:\$loader is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/ApplyMigrations.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationGenerator.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationGenerator.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Call to an undefined method object\:\:getDescription\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationLoader\:\:loadMigrations\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Parameter \#1 \$array of function usort contains unresolvable type\.$#', 'identifier' => 'argument.unresolvableType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Parameter \#2 \$callback of function usort contains unresolvable type\.$#', 'identifier' => 'argument.unresolvableType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:getAppliedVersions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:getStatus\(\) has parameter \$migrations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:getStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:migrate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:rollback\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationVersion.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:lastInsertId\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoResult\:\:fetch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoResult\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoResult\:\:fetchColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoResult\:\:getIterator\(\) return type with generic class ArrayIterator does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\PdoResult\:\:\$rows type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Events\\\SlowQueryDetectedEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Events/SlowQueryDetectedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:__construct\(\) has parameter \$queryTypeDistribution with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:getMostCommonQueryType\(\) should return string\|null but returns int\|string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:getQueryTypeDistributionWithPercentages\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:getRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConfig\:\:__construct\(\) has parameter \$sensitiveParameterPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:getProfilingStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:query\(\) should return App\\\Framework\\\Database\\\ResultInterface but returns App\\\Framework\\\Database\\\ResultInterface\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryColumn\(\) should return array but returns array\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:export\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:exportAsHtml\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:getOverview\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:getRegisteredConnections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:\$profilingConnections type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:__construct\(\) has parameter \$indexRecommendations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:__construct\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:__construct\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:getTopRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeAggregations\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeJoins\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeJoins\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzePerformanceMetrics\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzePerformanceMetrics\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeSelectStatements\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeSelectStatements\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeSubqueries\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeSubqueries\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeWhereClause\(\) has parameter \$indexRecommendations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeWhereClause\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:batchAnalyze\(\) has parameter \$profiles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:batchAnalyze\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:calculateOptimizationScore\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:calculateOptimizationScore\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:getOptimizationSummary\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:getOptimizationSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:buildLogContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:captureStackTrace\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:exportAsJson\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:getLogStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:getLoggedQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:getSlowQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:sanitizeParameters\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:sanitizeParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Offset \'function\' on array\{function\: string, line\?\: int, file\?\: string, class\?\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:\$loggedQueries type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Call to method format\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:getNormalizedSql\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Parameter \$endTimestamp of method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:__construct\(\) has invalid type App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Parameter \$startTimestamp of method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:__construct\(\) has invalid type App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:\$endTimestamp has unknown class App\\\Framework\\\Database\\\Events\\\Timestamp as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:\$startTimestamp has unknown class App\\\Framework\\\Database\\\Events\\\Timestamp as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Call to static method fromClock\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:getProfiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:getProfilesByType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:getSlowQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:profile\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:startProfile\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Parameter \$peakMemoryUsage of class App\\\Framework\\\Database\\\Profiling\\\QueryProfile constructor expects int, float\|int\<0, max\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:\$activeProfiles type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:\$profiles type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:__construct\(\) has parameter \$optimizationData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getAllIndexSuggestions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getConnectionsByPriority\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getOptimizationImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getOptimizationRoadmap\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getOptimizationSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getPerformanceIssuesBySeverity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getTopSlowQueryPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:__construct\(\) has parameter \$performanceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:calculateTrend\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:getOverallMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:getPerformanceRecommendations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:getPerformanceRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:getPerformanceTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\ProfilingReport\:\:__construct\(\) has parameter \$connectionStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/ProfilingReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\ProfilingReport\:\:__construct\(\) has parameter \$profiles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/ProfilingReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\ProfilingReport\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/ProfilingReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\ProfilingReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/ProfilingReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\SlowQueryReport\:\:__construct\(\) has parameter \$slowQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/SlowQueryReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\SlowQueryReport\:\:getSlowQueryPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/SlowQueryReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\SlowQueryReport\:\:getTopSlowQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/SlowQueryReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\SlowQueryReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/SlowQueryReport.php', ], [ 'message' => '#^Call to method format\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Match expression does not handle remaining values\: int\\|int\<11, max\>$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert\:\:__construct\(\) has parameter \$recommendations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Parameter \$timestamp of method App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert\:\:__construct\(\) has invalid type App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert\:\:\$timestamp has unknown class App\\\Framework\\\Database\\\Events\\\Timestamp as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:generateRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:getSlowQueryStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Parameter \#1 \$interval of method DateTimeImmutable\:\:sub\(\) expects DateInterval, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Parameter \$timestamp of class App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert constructor expects App\\\Framework\\\Database\\\Events\\\Timestamp, DateTimeImmutable given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:\$alertThresholds type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:\$recentSlowQueries type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:\$slowQueryPatterns is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:\$slowQueryPatterns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryPattern\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryPattern.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/Examples/QueryBuilderUsageExample.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/Examples/QueryBuilderUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\Examples\\\QueryBuilderUsageExample\:\:salesAnalytics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/Examples/QueryBuilderUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\Examples\\\QueryBuilderUsageExample\:\:userDashboardStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/Examples/QueryBuilderUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\QueryBuilder\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/QueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\QueryBuilderFactory\:\:\$hydrator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/QueryBuilderFactory.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\QueryBuilderFactory\:\:\$identityMap is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/QueryBuilderFactory.php', ], [ 'message' => '#^Cannot call method getMetadata\(\) on App\\\Framework\\\Database\\\Metadata\\\MetadataRegistry\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:execute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:first\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:getEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:whereIn\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:whereNotIn\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:whereRaw\(\) has parameter \$bindings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$groupBy type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$having type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$joins type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$orderBy type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$parameterIndex is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$parameters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$select type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$where type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Call to an undefined method DateInterval\:\:getTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:__construct\(\) has parameter \$replicaConnections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:calculateSuccessRate\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:getHealthyReplicas\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:getRoutingStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:getWeightDistribution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectByResponseTime\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectLeastConnections\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectRandom\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectRoundRobin\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectWeighted\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Parameter \#1 \$configIndex of method App\\\Framework\\\Database\\\Config\\\ReadWriteConfig\:\:getConnectionWeight\(\) expects int, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Parameter \#1 \$configIndex of method App\\\Framework\\\Database\\\Config\\\ReadWriteConfig\:\:getMaxConnections\(\) expects int, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:\$connectionCounts type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:\$replicaHealth type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:\$replicaMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:\$responseTimeHistory type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getConnectionHealthMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getFastestQueryType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getOverviewMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getQueryMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getQueryTypeMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getSlowestQueryType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:testConnectionHealth\(\) has parameter \$connection with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:testConnectionHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:\$connectionMetrics is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:\$connectionMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:\$queryMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:__construct\(\) has parameter \$readConnections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:getReadConnections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWriteConnection\:\:\$readConnections type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findAllEager\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findBy\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findBy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findOneBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:saveAll\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:saveAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Interface App\\\Framework\\\Database\\\ResultInterface extends generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ResultInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ResultInterface\:\:fetch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ResultInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ResultInterface\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ResultInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ResultInterface\:\:fetchColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ResultInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:addColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:dropColumn\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:dropForeign\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:dropIndex\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:dropUnique\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:enum\(\) has parameter \$allowed with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:foreign\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:fulltext\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:index\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:primary\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:spatialIndex\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:unique\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:\$columns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:\$commands type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:\$foreignKeys type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:\$indexes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\ColumnDefinition\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ColumnDefinition.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\ColumnDefinition\:\:\$parameters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ColumnDefinition.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Commands\\\DropColumnCommand\:\:__construct\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropColumnCommand.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Commands\\\DropColumnCommand\:\:\$columns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropColumnCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Commands\\\DropForeignCommand\:\:__construct\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropForeignCommand.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Commands\\\DropForeignCommand\:\:\$index type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropForeignCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Commands\\\DropIndexCommand\:\:__construct\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropIndexCommand.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Commands\\\DropIndexCommand\:\:\$index type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropIndexCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\ForeignKeyDefinition\:\:__construct\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ForeignKeyDefinition.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\ForeignKeyDefinition\:\:references\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ForeignKeyDefinition.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\ForeignKeyDefinition\:\:\$columns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ForeignKeyDefinition.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\ForeignKeyDefinition\:\:\$referencedColumns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ForeignKeyDefinition.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\IndexDefinition\:\:__construct\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/IndexDefinition.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\IndexDefinition\:\:\$columns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/IndexDefinition.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\MySQLSchemaCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/MySQLSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\MySQLSchemaCompiler\:\:compileAlterTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/MySQLSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\PostgreSQLSchemaCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/PostgreSQLSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\PostgreSQLSchemaCompiler\:\:compileAlterTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/PostgreSQLSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\SQLiteSchemaCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/SQLiteSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\SQLiteSchemaCompiler\:\:compileAlterTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/SQLiteSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Schema\:\:toSql\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Schema.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Schema\:\:\$commands type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Schema.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\SchemaCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/SchemaCompiler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\Metadata\\\EntityMetadata\:\:getProperties\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\TypeConverter\:\:convertToDatabaseValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\TypeConverter\:\:convertToPHPValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Class App\\\Framework\\\Database\\\Serialization\\\SerializationException constructor invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:deserialize\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:deserializeCollection\(\) has parameter \$serializedEntities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:deserializeCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:isCompatible\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:serialize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:serializeCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:serializeCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\EmailCaster\:\:fromDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/EmailCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\EmailCaster\:\:toDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/EmailCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\JsonCaster\:\:fromDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/JsonCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\JsonCaster\:\:toDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/JsonCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\PhoneNumberCaster\:\:fromDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/PhoneNumberCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\PhoneNumberCaster\:\:toDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/PhoneNumberCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\TypeCasterInterface\:\:fromDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\TypeCasterInterface\:\:toDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterInterface.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterRegistry.php', ], [ 'message' => '#^Dead catch \- Exception is never thrown in the try block\.$#', 'identifier' => 'catch.neverThrown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\TypeCasterRegistry\:\:getAllKnownTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkDeleteSameType\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/BulkOperations.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkInsertSameType\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/BulkOperations.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkUpdateSameType\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/BulkOperations.php', ], [ 'message' => '#^Variable \$ids in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/BulkOperations.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:extractEntityData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:getAllTrackedEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:getEntitiesByState\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:\$originalData type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Cannot call method commit\(\) on App\\\Framework\\\Database\\\ConnectionInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Cannot call method execute\(\) on App\\\Framework\\\Database\\\ConnectionInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:merge\(\) should return object but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:mergeEntityChanges\(\) has parameter \$metadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#1 \$entity of method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:markDirty\(\) expects object, object\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#1 \$target of method App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:mergeEntityChanges\(\) expects object, object\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#2 \$connection of method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkDelete\(\) expects App\\\Framework\\\Database\\\ConnectionInterface, App\\\Framework\\\Database\\\ConnectionInterface\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#2 \$connection of method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkInsert\(\) expects App\\\Framework\\\Database\\\ConnectionInterface, App\\\Framework\\\Database\\\ConnectionInterface\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#2 \$connection of method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkUpdate\(\) expects App\\\Framework\\\Database\\\ConnectionInterface, App\\\Framework\\\Database\\\ConnectionInterface\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:\$hydrator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Dead catch \- Exception is never thrown in the try block\.$#', 'identifier' => 'catch.neverThrown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DateTime/SystemClock.php', ], [ 'message' => '#^Method App\\\Framework\\\DateTime\\\SystemClock\:\:now\(\) has App\\\Framework\\\DateTime\\\Exceptions\\\InvalidDateTimeException in PHPDoc @throws tag but it\'s not thrown\.$#', 'identifier' => 'throws.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DateTime/SystemClock.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/DebugEntry.php', ], [ 'message' => '#^Method App\\\Framework\\\Debug\\\DebugEntry\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/DebugEntry.php', ], [ 'message' => '#^Method App\\\Framework\\\Debug\\\Debugger\:\:dumpArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Debugger.php', ], [ 'message' => '#^Constant App\\\Framework\\\Debug\\\Formatters\\\ConsoleFormatter\:\:GRAY is unused\.$#', 'identifier' => 'classConstant.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\Debug\\\Formatters\\\ConsoleFormatter\:\:formatValue\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Function debug_array\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/helpers.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryServiceBootstrapper\:\:isContextAllowed\(\) has parameter \$initializerData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Parameter \#1 \$reflectionProvider of class App\\\Framework\\\DI\\\InitializerDependencyGraph constructor expects App\\\Framework\\\Reflection\\\CachedReflectionProvider, App\\\Framework\\\Reflection\\\ReflectionProvider given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Strict comparison using \=\=\= between mixed and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Discovery\\\FileScannerInterface\:\:findChangedFiles\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Call to method getTaskProcessor\(\) on an unknown class App\\\Framework\\\Async1\\\AsyncFileScanner\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Class App\\\Framework\\\Async1\\\AsyncFileScanner not found\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\FileScannerService\:\:processFilesAsync\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\FileScannerService\:\:scanInChunks\(\) has parameter \$phpFiles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Parameter \#2 \$length of function array_chunk expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\FileScannerService\:\:\$scannedFiles type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$additionalResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$attributeResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$interfaceImplementations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:addAttributeResult\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getAllAttributeResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getAllInterfaceImplementations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getAttributeResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getInterfaceImplementations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getTemplates\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:setAttributeResults\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:setInterfaceImplementations\(\) has parameter \$implementations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:setRoutes\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:setTemplates\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$additionalResults type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$attributeResults type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$interfaceImplementations type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$routes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$templates type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:__construct\(\) has parameter \$attributeMappers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:__construct\(\) has parameter \$targetInterfaces with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:__construct\(\) has parameter \$attributeMappers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:extractAttributeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:extractMethodParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:getAllResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:getAttributeResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:processElementAttributes\(\) has parameter \$element with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:\$attributeResults type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Encryption\\\AesEncryption\:\:getMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/AesEncryption.php', ], [ 'message' => '#^Strict comparison using \=\=\= between string and false will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/AesEncryption.php', ], [ 'message' => '#^Method App\\\Framework\\\Encryption\\\BasicEncryption\:\:getMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/BasicEncryption.php', ], [ 'message' => '#^Strict comparison using \=\=\= between string and false will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/BasicEncryption.php', ], [ 'message' => '#^Method App\\\Framework\\\Encryption\\\EncryptionFactory\:\:getAvailableMethods\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/EncryptionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\AlertUrgency\:\:getNotificationChannels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/AlertUrgency.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\AlertUrgency\:\:getRetryStrategy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/AlertUrgency.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertChannel\:\:getLastDeliveryStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertChannel\:\:sendAlert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertChannel.php', ], [ 'message' => '#^Binary operation "\-" between int and App\\\Framework\\\Cache\\\CacheItem results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Queue\\\Queue\:\:pushDelayed\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Empty array passed to foreach\.$#', 'identifier' => 'foreach.emptyArray', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:__construct\(\) has parameter \$channels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:__construct\(\) has parameter \$escalationConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:__construct\(\) has parameter \$throttleConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:log\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:processRetry\(\) has parameter \$retryData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleEscalation\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleEscalation\(\) has parameter \$failedChannels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleEscalation\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleRetry\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleRetry\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:sendAlert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:sendAlert\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:testChannels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:updateThrottle\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Offset \'high\'\|\'low\'\|\'medium\'\|\'urgent\' on array\{\} on left side of \?\? does not exist\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Offset mixed on array\{\} in isset\(\) does not exist\.$#', 'identifier' => 'isset.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$escalationConfig is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$channels is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$channels is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$channelsByUrgency is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$channelsByUrgency is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Variable \$channelNames in empty\(\) always exists and is always falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Call to method send\(\) on an unknown class App\\\Framework\\\Mail\\\Transport\\\TransportInterface\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:__construct\(\) has parameter \$recipients with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:buildBody\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:getLastDeliveryStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:sendAlert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Parameter \$from of class App\\\Framework\\\Mail\\\Message constructor expects App\\\Domain\\\Common\\\ValueObject\\\Email, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Parameter \$to of class App\\\Framework\\\Mail\\\Message constructor expects App\\\Framework\\\Mail\\\EmailList, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Parameter \$transport of method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:__construct\(\) has invalid type App\\\Framework\\\Mail\\\Transport\\\TransportInterface\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:\$lastDeliveryStatus type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:\$transport has unknown class App\\\Framework\\\Mail\\\Transport\\\TransportInterface as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:\$lastDeliveryStatus is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Unknown parameter \$fromName in call to App\\\Framework\\\Mail\\\Message constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Unknown parameter \$isHtml in call to App\\\Framework\\\Mail\\\Message constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Direct instantiation of DateInterval is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime\:\:createInterval\(\) instead for consistent error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\AlertCommand\:\:stats\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\AlertCommand\:\:test\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Direct instantiation of DateInterval is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime\:\:createInterval\(\) instead for consistent error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorAggregationStatsCommand\:\:cleanup\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorAggregationStatsCommand\:\:stats\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorPatternsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorPatternsCommand\:\:acknowledge\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorPatternsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorPatternsCommand\:\:list\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorPatternsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorPatternsCommand\:\:resolve\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorPatternsCommand.php', ], [ 'message' => '#^Class App\\\Framework\\\Mail\\\Transport\\\TransportInterface not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregationInitializer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Direct instantiation of DateInterval is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime\:\:createInterval\(\) instead for consistent error handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:exportData\(\) has parameter \$filters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getActivePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getErrorTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getHealthStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getPatternsByService\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getRecentEvents\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getTopPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:logError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:processBatch\(\) has parameter \$errorEvents with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\Queue\\\Queue\:\:push\(\) invoked with 3 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Parameter \#1 \$data of static method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:fromArray\(\) expects array, App\\\Framework\\\Cache\\\CacheItem given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Parameter \#1 \$job of method App\\\Framework\\\Queue\\\Queue\:\:push\(\) expects object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Parameter \#2 \$length of function array_chunk expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\ErrorAggregation\\\ErrorPattern and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Ulid\\\Ulid\:\:generate\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:normalizeErrorMessage\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_starts_with expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Parameter \$requestId of class App\\\Framework\\\ErrorAggregation\\\ErrorEvent constructor expects string\|null, App\\\Framework\\\Http\\\RequestId\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Static method App\\\Framework\\\Ulid\\\Ulid\:\:fromString\(\) invoked with 1 parameter, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Ulid\\\Ulid\:\:generate\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:__construct\(\) has parameter \$affectedIps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:__construct\(\) has parameter \$affectedUsers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Static method App\\\Framework\\\Ulid\\\Ulid\:\:fromString\(\) invoked with 1 parameter, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Cannot access offset 0 on App\\\Framework\\\Database\\\ResultInterface\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:exportEvents\(\) has parameter \$filters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getActivePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getErrorTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getHealthStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getPatternsByService\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getRecentEvents\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getTopPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:hydrateEvent\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:hydratePattern\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:storeEventsBatch\(\) has parameter \$events with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Parameter \#2 \$array of function array_map expects array, App\\\Framework\\\Database\\\ResultInterface given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Static method App\\\Framework\\\Ulid\\\Ulid\:\:fromString\(\) invoked with 1 parameter, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Variable \$result in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:exportEvents\(\) has parameter \$filters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getActivePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getErrorTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getHealthStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getPatternsByService\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getRecentEvents\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getTopPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:storeEventsBatch\(\) has parameter \$events with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BoundaryResult\:\:onFailure\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BoundaryResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BoundaryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BoundaryResult\:\:onSuccess\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BoundaryResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BoundaryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BoundaryResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BoundaryResult.php', ], [ 'message' => '#^Template type U of method App\\\Framework\\\ErrorBoundaries\\\BoundaryResult\:\:failure\(\) is not referenced in a parameter\.$#', 'identifier' => 'method.templateTypeNotInParameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BoundaryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:create\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:create\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:create\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BulkResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:empty\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BulkResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:filterResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:getFailedKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:getResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:getSuccessfulKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:getCircuitBreakerStates\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:reset\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:stats\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testBasicFunctionality\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testBulkOperations\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testCircuitBreaker\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testRetryStrategies\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testTimeout\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Strict comparison using \=\=\= between \'fallback_executed\' and \'fallback_executed\' will always evaluate to true\.$#', 'identifier' => 'identical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Invalid type Throwable\|null to throw\.$#', 'identifier' => 'throw.notThrowable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundary\:\:executeParallel\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BoundaryResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundary\:\:log\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryFactory\:\:__construct\(\) has parameter \$routeConfigs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryFactory\:\:getDefaultRouteConfigs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryFactory.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryFactory\:\:\$routeConfigs type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryInitializer\:\:createConfigFromArray\(\) has parameter \$settings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryInitializer.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryInitializer\:\:loadRouteConfigs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryInitializer.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\ErrorContext\:\:__construct\(\) has parameter \$additionalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorContext.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getUri\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Left side of && is always true\.$#', 'identifier' => 'booleanAnd.leftAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\ErrorHandler\:\:createExceptionMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Parameter \#1 \$callback of function set_error_handler expects \(callable\(int, string, string, int\)\: bool\)\|null, Closure\(int, string, string, int\)\: void given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Parameter \#1 \$location of class App\\\Framework\\\Http\\\Responses\\\RedirectResponse constructor expects App\\\Framework\\\Http\\\Uri, App\\\Framework\\\Http\\\Uri\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorHandling\\\ErrorHandler\:\:\$requestIdGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorLogger.php', ], [ 'message' => '#^Class App\\\Framework\\\Router\\\Exception\\\MethodNotAllowed not found\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ExceptionConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\ExceptionConverter\:\:getResponseBody\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ExceptionConverter.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityAlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityAlertManager\:\:__construct\(\) has parameter \$alertChannels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityAlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityAlertManager\:\:createAlertPayload\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityAlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityAlertManager\:\:createWithChannels\(\) has parameter \$channels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityAlertManager.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventHandler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:createAlertData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:createOWASPLog\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:logToErrorLog\(\) has parameter \$owaspLog with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Class App\\\Framework\\\ErrorHandling\\\StackTrace implements generic interface ArrayAccess but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Class App\\\Framework\\\ErrorHandling\\\StackTrace implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\StackTrace\:\:filter\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\StackTrace\:\:getFirst\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\StackTrace\:\:getLast\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\StackTrace\:\:processTrace\(\) has parameter \$trace with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\TraceItem\:\:__construct\(\) has parameter \$args with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/TraceItem.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ApiErrorRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\View\\\ApiErrorRenderer\:\:render\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ApiErrorRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\View\\\ApiErrorRenderer\:\:renderFromHandlerContext\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ApiErrorRenderer.php', ], [ 'message' => '#^Parameter \#1 \$value of static method App\\\Framework\\\Http\\\Status\:\:from\(\) expects int\|string, App\\\Framework\\\Http\\\Status given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorResponseFactory.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorTemplateRenderer.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorTemplateRenderer.php', ], [ 'message' => '#^Parameter \#1 \$string of function htmlspecialchars expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorTemplateRenderer.php', ], [ 'message' => '#^Using nullsafe method call on non\-nullable type App\\\Framework\\\Http\\\RequestId\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorTemplateRenderer.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and float results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:assessRisk\(\) has parameter \$trends with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:assessRisk\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateAvailabilityImpact\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateAvailabilityImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateBusinessImpact\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateBusinessImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateErrorVelocity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateImpactMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateOverallHealthScore\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateOverallHealthScore\(\) should return int but returns float\|int\<0, 100\>\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateStandardDeviation\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateSystemImpact\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateSystemImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateUserImpact\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateUserImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:detectAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:detectSeasonalPatterns\(\) has parameter \$trends with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:detectSeasonalPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findCascadePatterns\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findCascadePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findRouteCorrelations\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findRouteCorrelations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findTimePatterns\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findTimePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findUserPatterns\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findUserPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateHealthReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generatePredictiveInsights\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateRecommendations\(\) has parameter \$prediction with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateRecommendations\(\) has parameter \$risk with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateRecommendations\(\) has parameter \$seasonal with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyBusinessCriticalRoutes\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyBusinessCriticalRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyTimePatterns\(\) has parameter \$daily with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyTimePatterns\(\) has parameter \$hourly with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyTimePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:predictTrend\(\) has parameter \$trends with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:predictTrend\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:analytics\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:cleanup\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:health\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:search\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:show\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:stats\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$breadcrumbs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$customData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$serverInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:create\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:fromThrowable\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:getServerInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withBreadcrumbs\(\) has parameter \$breadcrumbs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withCustomData\(\) has parameter \$customData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withRequest\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Offset \'function\' on array\{function\: string, line\?\: int, file\?\: string, class\?\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>class" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$exceptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$levels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$methods with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:withLevels\(\) has parameter \$levels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Cannot call method push\(\) on App\\\Framework\\\Queue\\\Queue\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:__construct\(\) has parameter \$filters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:__construct\(\) has parameter \$processors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:findReports\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:getRecentReports\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:logDebug\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:logError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:logInfo\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:reportBatch\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:reportBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:reportError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:reportThrowable\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:withRequestContext\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\RequestContextualReporter\:\:__construct\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\RequestContextualReporter\:\:reportError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\RequestContextualReporter\:\:reportThrowable\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\UserContextualReporter\:\:reportError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\UserContextualReporter\:\:reportThrowable\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:\$clock is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:buildRequestContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:extractIpFromHeader\(\) should return string\|null but returns array\\|string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:extractRequestData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:sanitizeArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:sanitizeArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:sanitizeString\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, array\\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$string of function explode expects string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$environmentBreakdown with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByDay with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByException with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByHour with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByLevel with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByRoute with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByUser with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$responseTimeImpact with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$topErrors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$trendingErrors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:getInsights\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:getMostFrequentException\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:getMostProblematicRoute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:getPeakErrorHour\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:\$errorsByException\.$#', 'identifier' => 'argument.byRef', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:\$errorsByHour\.$#', 'identifier' => 'argument.byRef', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:\$errorsByRoute\.$#', 'identifier' => 'argument.byRef', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Processors\\\RequestContextProcessor\:\:getRequestData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function rtrim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Right side of \|\| is always true\.$#', 'identifier' => 'booleanOr.rightAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Cannot call method get\(\) on App\\\Framework\\\Http\\\Session\\\Session\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Cannot call method getId\(\) on App\\\Framework\\\Http\\\Session\\\Session\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Cannot call method has\(\) on App\\\Framework\\\Http\\\Session\\\Session\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Processors\\\UserContextProcessor\:\:addBreadcrumb\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Processors\\\UserContextProcessor\:\:getUserBreadcrumbs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Parameter \#1 \$userId of method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withUser\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Right side of \|\| is always true\.$#', 'identifier' => 'booleanOr.rightAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Variable \$tags in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\ConnectionInterface\:\:transaction\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Cannot access offset 0 on App\\\Framework\\\Database\\\ResultInterface\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:buildCriteriaQuery\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:findByCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:findByFingerprint\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:findRecent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:getHealthInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:getTopErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:getTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:hydrate\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:storeBatch\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Parameter \#2 \$array of function array_map expects array, App\\\Framework\\\Database\\\ResultInterface given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Variable \$result in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:findByCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:findByFingerprint\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:findRecent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:getHealthInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:getTopErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:getTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:storeBatch\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\EventBus\\\DefaultEventBus\:\:__construct\(\) has parameter \$eventHandlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/DefaultEventBus.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/DefaultEventBus.php', ], [ 'message' => '#^Parameter \#2 \$container of class App\\\Framework\\\EventBus\\\DefaultEventBus constructor expects App\\\Framework\\\DI\\\DefaultContainer, App\\\Framework\\\DI\\\Container given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventBusInitializer.php', ], [ 'message' => '#^Class App\\\Framework\\\EventBus\\\QueryHandler not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\EventBus\\\EventHandlerCompiler\:\:compile\(\) has parameter \$handlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\EventBus\\\EventHandlerCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerCompiler.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerMapper.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\EventBus\\\EventHandlerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerMapper.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:AUTH_ACCOUNT_LOCKED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/AccountLockedException.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/AccountLockedException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\AccountLockedException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/AccountLockedException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:__construct\(\) has parameter \$requiredRoles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:__construct\(\) has parameter \$userRoles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:apiEndpoint\(\) has parameter \$requiredScopes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:getMissingRoles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:resourceAccess\(\) has parameter \$requiredRoles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InvalidCredentialsException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InvalidCredentialsException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\SessionTimeoutException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/SessionTimeoutException.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/TokenExpiredException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\TokenExpiredException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/TokenExpiredException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ConsoleException\:\:invalidArguments\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ConsoleException\:\:invalidArguments\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Parameter \#2 \$context of class App\\\Framework\\\Exception\\\ConsoleException constructor expects App\\\Framework\\\Exception\\\ExceptionContext, int given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Parameter \#3 \$code of class App\\\Framework\\\Exception\\\ConsoleException constructor expects int, null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Parameter \#4 \$previous of class App\\\Framework\\\Exception\\\ConsoleException constructor expects Throwable\|null, App\\\Framework\\\Exception\\\ExceptionContext given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\DatabaseException\:\:constraintViolation\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/DatabaseException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\DatabaseException\:\:transactionFailed\(\) has parameter \$operations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/DatabaseException.php', ], [ 'message' => '#^Parameter \#1 \$num of function decoct expects int, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/DirectoryCreateException.php', ], [ 'message' => '#^Parameter \#1 \$num of function decoct expects int, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/DirectoryListException.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:create\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:forLogging\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:fromException\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:toFlatArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:toSecurityEventFormat\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:toSecurityEventJson\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:withMetadata\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:__construct\(\) has parameter \$debug with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:sanitizeData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:sanitizeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:withData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:withDebug\(\) has parameter \$debug with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:withMetadata\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:withData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:withDebug\(\) has parameter \$debug with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:withMetadata\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Unsafe usage of new static\(\)\.$#', 'identifier' => 'new.static', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:__construct\(\) has parameter \$allowedContentTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:analyzeProvidedContentType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:fileUpload\(\) has parameter \$allowedTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:formatContentTypeList\(\) has parameter \$contentTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:getResponseHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:HTTP_MALFORMED_REQUEST\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/MalformedJsonException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\MalformedJsonException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/MalformedJsonException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:HTTP_REQUEST_TOO_LARGE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/OversizedRequestException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\OversizedRequestException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/OversizedRequestException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\OversizedRequestException\:\:getTechnicalDetails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/OversizedRequestException.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RateLimitExceededException.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RateLimitExceededException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RateLimitExceededException\:\:getRateLimitHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RateLimitExceededException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RateLimitExceededException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RateLimitExceededException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:HTTP_ROUTE_NOT_FOUND\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RouteNotFoundException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RouteNotFoundException\:\:__construct\(\) has parameter \$availableRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RouteNotFoundException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RouteNotFoundException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RouteNotFoundException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RouteNotFoundException\:\:getSimilarRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RouteNotFoundException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\RequestContext\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\RequestContext\:\:create\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\RequestContext\:\:getHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\RequestContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/RequestContext.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:SECURITY_PATH_TRAVERSAL\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:analyzePattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:generateIOC\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:getSecureAlternatives\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:getWafRuleSuggestions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Regex pattern is invalid\: Compilation failed\: PCRE2 does not support \\\F, \\\L, \\\l, \\\N\{name\}, \\\U, or \\\u at offset 2 in pattern\: /\\\u\[0\-9a\-f\]\{4\}/i$#', 'identifier' => 'regexp.pattern', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:SECURITY_SQL_INJECTION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\SqlInjectionAttemptException\:\:analyzePattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\SqlInjectionAttemptException\:\:generateIOC\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\SqlInjectionAttemptException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:SECURITY_XSS_ATTEMPT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:analyzePattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:generateIOC\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:getCspRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:getWafRuleSuggestions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthenticationAccountLockedEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthenticationAccountLockedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthenticationLoginFailedEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthenticationLoginFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthenticationLoginSuccessAfterFailEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthenticationLoginSuccessAfterFailEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthenticationLoginSuccessEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthenticationLoginSuccessEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthorizationAccessDeniedEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthorizationAccessDeniedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthorizationAdminActionEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthorizationAdminActionEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\InputSqlInjectionAttemptEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/InputSqlInjectionAttemptEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\InputXssAttemptEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/InputXssAttemptEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\SecurityEventInterface\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/SecurityEventInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\SystemExcessiveUseEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/SystemExcessiveUseEvent.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityException.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SystemContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SystemContext\:\:__construct\(\) has parameter \$environment with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SystemContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SystemContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SystemContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\AppendableStorage\:\:appendCsv\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/AppendableStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\AppendableStorage\:\:appendJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/AppendableStorage.php', ], [ 'message' => '#^Class App\\\Framework\\\Filesystem\\\Directory has PHPDoc tag @property\-read for property \$contents with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Directory.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\Directory\:\:__construct\(\) has parameter \$contents with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Directory.php', ], [ 'message' => '#^Parameter \#1 \$path of method App\\\Framework\\\Filesystem\\\FilePath\:\:isAbsolutePath\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilePath.php', ], [ 'message' => '#^Parameter \#2 \$string of function explode expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilePath.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Match arm comparison between \'bz2\' and \'bz2\' is always true\.$#', 'identifier' => 'match.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileStorage\:\:appendCsv\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileStorage\:\:appendJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileStorage\:\:getCompressed\(\) should return string but returns int\|string\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Offset \'dirname\' might not exist on array\{dirname\?\: string, basename\: string, extension\?\: string, filename\: string\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Parameter \#1 \$array \(list\\) of array_values is already a list, call has no effect\.$#', 'identifier' => 'arrayValues.list', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Parameter \#2 \$content of method App\\\Framework\\\Filesystem\\\FileStorage\:\:put\(\) expects string, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Parameter \#2 \$content of method App\\\Framework\\\Filesystem\\\FileStorage\:\:putAtomic\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Parameter \#2 \$line of method App\\\Framework\\\Filesystem\\\FileStorage\:\:appendLine\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemConfig\:\:__construct\(\) has parameter \$serializers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemConfig\:\:getDefaultStorageConfig\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemConfig\:\:getStorageConfig\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemConfig.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \#1 \$factory of method ReflectionClass\\:\:newLazyProxy\(\) expects callable\(App\\\Framework\\\Filesystem\\\File\)\: App\\\Framework\\\Filesystem\\\File, array\{contents\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: string, size\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: int, lastModified\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: int\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemInitializer.php', ], [ 'message' => '#^Parameter \#2 \$storage of method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:registerStorage\(\) expects App\\\Framework\\\Filesystem\\\Storage, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemInitializer.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemInitializer.php', ], [ 'message' => '#^Class App\\\Framework\\\Filesystem\\\FilesystemManager constructor invoked with 2 parameters, 0\-1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:create\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:getCsv\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:getJson\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:getSerializerInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:getStorageInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:putCsv\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:putJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/InMemoryStorage.php', ], [ 'message' => '#^Cannot call method debug\(\) on App\\\Framework\\\Logging\\\DefaultLogger\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 13, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/LoggableStorage.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/LoggableStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\PermissionChecker\:\:getDiagnosticInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/PermissionChecker.php', ], [ 'message' => '#^Parameter \#1 \$group_id of function posix_getgrgid expects int, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/PermissionChecker.php', ], [ 'message' => '#^Parameter \#1 \$user_id of function posix_getpwuid expects int, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/PermissionChecker.php', ], [ 'message' => '#^Parameter \#1 \$keys of function array_combine expects array\, list\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fclose expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fputcsv expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$stream of function rewind expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$stream of function stream_get_contents expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$string of function str_getcsv expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#3 \$depth of function json_decode expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/JsonSerializer.php', ], [ 'message' => '#^Parameter \#3 \$depth of function json_encode expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/JsonSerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\Serializers\\\PhpSerializer\:\:__construct\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/PhpSerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\Serializers\\\PhpSerializer\:\:safe\(\) has parameter \$allowedClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/PhpSerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\StorageFactory\:\:create\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/StorageFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\StorageFactory\:\:create\(\) should return App\\\Framework\\\Filesystem\\\Storage but returns App\\\Framework\\\Filesystem\\\FileStorage\|App\\\Framework\\\Filesystem\\\MemoryStorage\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/StorageFactory.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/BotDetectionMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\BotDetectionMiddleware\:\:getSafeUserAgentSample\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/BotDetectionMiddleware.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/ConfigValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\ConfigValidator\:\:checkRequiredProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/ConfigValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\ConfigValidator\:\:getPublicProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/ConfigValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\ConfigValidator\:\:validateConfigs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/ConfigValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\FirewallConfig\:\:__construct\(\) has parameter \$trustedIps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/FirewallConfig.php', ], [ 'message' => '#^Parameter \#2 \$callback of function array_any expects callable\(string, int\|string\)\: bool, Closure\(mixed\)\: \(0\|1\|false\) given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationConfig.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\InputValidationMiddleware\:\:collectInputData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\InputValidationMiddleware\:\:flattenArrayToString\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\InputValidationMiddleware\:\:getSafeInputSample\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\InputValidationMiddleware\:\:getSafeInputSample\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\PatternValidator\:\:validateConfig\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/PatternValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\RateLimitConfig\:\:__construct\(\) has parameter \$exemptEndpoints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\RateLimitConfig\:\:__construct\(\) has parameter \$exemptIps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\RateLimitConfig\:\:__construct\(\) has parameter \$stricterEndpoints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/RateLimitConfig.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/DatabaseHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/DiskSpaceHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/SystemHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckManager\:\:getChecksByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckManager\:\:getRegisteredChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:__construct\(\) has parameter \$details with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:healthy\(\) has parameter \$details with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:unhealthy\(\) has parameter \$details with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:warning\(\) has parameter \$details with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:__construct\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:getFailedChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:getHealthyChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:getWarningChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Api\\\ClientLogRequest\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Api/ClientLogRequest.php', ], [ 'message' => '#^Function gmdate\(\) is forbidden\: Use Clock\:\:now\(\)\-\>setTimezone\(\) and format\(\) instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Cookies/Cookie.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Cookies\\\Cookies\:\:\$cookies \(array\\) does not accept array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Cookies/Cookies.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/AdaptiveStreamEmitter.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/HttpEmitter.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/SseEmitter.php', ], [ 'message' => '#^Cannot access property \$end on App\\\Framework\\\Http\\\Range\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Cannot access property \$length on App\\\Framework\\\Http\\\Range\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Cannot access property \$start on App\\\Framework\\\Http\\\Range\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Cannot access property \$total on App\\\Framework\\\Http\\\Range\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fclose expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$stream of function feof expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fread expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fseek expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#2 \$length of function fread expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#2 \$range of method App\\\Framework\\\Http\\\Emitter\\\StreamEmitter\:\:streamRange\(\) expects App\\\Framework\\\Http\\\Range, App\\\Framework\\\Http\\\Range\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/WebSocketEmitter.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HeaderManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HeaderManipulator\:\:formatForCurl\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HeaderManipulator.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:isInternalFormat\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:normalizeName\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:parseFromArray\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:parseFromArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:with\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:__construct\(\) has parameter \$middlewares with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:handle\(\) should return App\\\Framework\\\Http\\\Response but returns App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:logError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:logInfo\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:logInfo\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:\$stateManager is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpRequest\:\:__construct\(\) has parameter \$queryParams with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpRequest.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Parameter \#2 \$class of function is_a expects string, class\-string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Trying to invoke object but it might not be a callable\.$#', 'identifier' => 'callable.nonCallable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:buildMiddlewareStack\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:getCacheStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:sortMiddlewaresByPriority\(\) has parameter \$middlewares with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:sortMiddlewaresByPriority\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:sortMiddlewaresByPriority\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Match expression does not handle remaining value\: App\\\Framework\\\Http\\\MiddlewarePriority\:\:FIRST$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewarePriority.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CORSMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CORSMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\CsrfMiddleware\:\:rotateTokenIfNeeded\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CsrfMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\CsrfMiddleware\:\:rotateTokenIfNeeded\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CsrfMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\CsrfMiddleware\:\:validateCsrfToken\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CsrfMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Middlewares\\\ExceptionHandlingMiddleware\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/ExceptionHandlingMiddleware.php', ], [ 'message' => '#^Call to function is_string\(\) with string will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Cannot access property \$body on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:addErrorClassToField\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:cleanupErrorPlaceholders\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:cleanupOldInputPlaceholders\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:removeErrorDisplay\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:replaceTokenForFormId\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withBody\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Strict comparison using \!\=\= between non\-empty\-array\ and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/HoneypotMiddleware.php', ], [ 'message' => '#^Cannot access property \$status on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/LoggingMiddleware.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/LoggingMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\RateLimitMiddleware\:\:addRateLimitHeaders\(\) should return App\\\Framework\\\Http\\\HttpResponse but returns App\\\Framework\\\Http\\\Response\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\RateLimitMiddleware\:\:getClientIp\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$identifier of class App\\\Framework\\\Exception\\\SecurityEvent\\\SystemExcessiveUseEvent constructor expects string, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\Middlewares\\\RateLimitMiddleware\:\:addRateLimitHeaders\(\) expects App\\\Framework\\\Http\\\HttpResponse, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$limit of class App\\\Framework\\\Exception\\\SecurityEvent\\\SystemExcessiveUseEvent constructor expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$currentUsage of class App\\\Framework\\\Exception\\\SecurityEvent\\\SystemExcessiveUseEvent constructor expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RemovePoweredByMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RemovePoweredByMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestIdMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestIdMiddleware.php', ], [ 'message' => '#^Cannot access property \$status on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestLoggingMiddleware.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestLoggingMiddleware.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestLoggingMiddleware.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RoutingMiddleware.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RoutingMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/SecurityHeaderMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\SecurityHeaderMiddleware\:\:getSecurityHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/SecurityHeaderMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\SecurityHeaderMiddleware\:\:shouldAddHeader\(\) has parameter \$currentHeaders with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/SecurityHeaderMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/SecurityHeaderMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MimeType\:\:getExtensions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MimeType.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MimeTypeResolver\:\:getExtensions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MimeTypeResolver.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$queryParams type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Request.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\RequestBody\:\:__construct\(\) has parameter \$post with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestBody.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\RequestBody\:\:\$data type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestBody.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestFactory.php', ], [ 'message' => '#^Parameter \#1 \$string of function rtrim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestFactory.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$combined is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$combined is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$id is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$id is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$signature is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$signature is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\RequestManipulator\:\:withAddedHeaders\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Responses\\\JsonResponse\:\:__construct\(\) has parameter \$body with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Responses/JsonResponse.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Responses\\\JsonResponse\:\:\$body \(string\) does not accept string\|false\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Responses/JsonResponse.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Responses\\\SseResponse\:\:\$initialEvents type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Responses/SseResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\ServerEnvironment\:\:__construct\(\) has parameter \$serverData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/ServerEnvironment.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Services\\\IpNetworkService\:\:getLocationContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Services/IpNetworkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Services\\\IpSecurityService\:\:__construct\(\) has parameter \$blockedNetworks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Services/IpSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Services\\\IpSecurityService\:\:__construct\(\) has parameter \$trustedNetworks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Services/IpSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\CsrfProtection\:\:cleanupOldTokens\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/CsrfProtection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\CsrfProtection\:\:cleanupOldTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/CsrfProtection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\Events\\\SessionClearedEvent\:\:__construct\(\) has parameter \$oldData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/Events/SessionClearedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\Events\\\SessionInvalidatedEvent\:\:__construct\(\) has parameter \$securityData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/Events/SessionInvalidatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FlashBag\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FlashBag.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FlashBag\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FlashBag.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Session\\\FlashBag\:\:\$newFlashData type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FlashBag.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FormDataStorage\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FormDataStorage\:\:getField\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FormDataStorage\:\:getField\(\) has parameter \$default with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FormDataStorage\:\:store\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\InMemorySessionStorage\:\:read\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/InMemorySessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\InMemorySessionStorage\:\:write\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/InMemorySessionStorage.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Session\\\InMemorySessionStorage\:\:\$sessions type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/InMemorySessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\RedisSessionStorage\:\:read\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/RedisSessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\RedisSessionStorage\:\:write\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/RedisSessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionCookieConfig\:\:fromArray\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionCookieConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionCookieConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionCookieConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionFingerprint\:\:normalizeUserAgent\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionFingerprint.php', ], [ 'message' => '#^Parameter \#2 \$data of function hash expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionFingerprintConfig\:\:toComponentArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionFingerprintConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionInterface\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionInterface\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionInterface.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\Http\\\Session\\\Session and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionMiddleware\:\:isHealthCheckRoute\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$response of method App\\\Framework\\\Http\\\Session\\\SessionManager\:\:saveSession\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionSecurityData\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionSecurityData.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionStorage\:\:read\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionStorage\:\:write\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValidationErrorBag\:\:add\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValidationErrorBag.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/SseStream.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/SseStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\SseStream\:\:sendJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/SseStream.php', ], [ 'message' => '#^Parameter \#1 \$data of method App\\\Framework\\\Http\\\SseStream\:\:send\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/SseStream.php', ], [ 'message' => '#^Comparison operation "\<" between 500\|501\|502\|503\|504\|505\|506\|507\|508\|510\|511 and 600 is always true\.$#', 'identifier' => 'smaller.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Status.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:getRepresentations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:getSegments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:\$representations type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:\$segments type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:\$videoId is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Streaming\\\AdaptiveStreamingController\:\:getVideoSegments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptiveStreamingController.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Framework\\\Http\\\Responses\\\StreamResponse constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptiveStreamingController.php', ], [ 'message' => '#^Array has 2 duplicate keys with value \'ogg\' \(\'ogg\', \'ogg\'\)\.$#', 'identifier' => 'array.duplicateKey', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/MimeTypeDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFile\:\:getMimeType\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFile.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:__construct\(\) has parameter \$filesArray with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:createMultipleFiles\(\) has parameter \$fileSpec with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:createMultipleFiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:createSingleFile\(\) has parameter \$fileSpec with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:get\(\) should return App\\\Framework\\\Http\\\UploadedFile\|null but returns App\\\Framework\\\Http\\\UploadedFile\|array\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Uri\:\:getPath\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Uri.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Uri\:\:getQuery\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Uri.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketConnection\:\:__construct\(\) has parameter \$socket with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketConnection\:\:sendJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketConnection.php', ], [ 'message' => '#^Parameter \#1 \$message of method App\\\Framework\\\Http\\\WebSocketConnection\:\:send\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketConnection.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\WebSocketConnection\:\:\$attributes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketConnection.php', ], [ 'message' => '#^Cannot access offset 0 on string\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Cannot access offset 1 on array\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Cannot access offset 1 on string\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Cannot access offset int\<0, 3\> on string\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Cannot access offset int\<0, max\> on string\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketServer\:\:getCurrentSocket\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketServer\:\:getSocketFromConnection\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketServer\:\:readMessage\(\) has parameter \$socket with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketServer\:\:sendPong\(\) has parameter \$socket with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Parameter \#2 \$data of method App\\\Framework\\\Http\\\WebSocketServer\:\:sendPong\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Parameter \#2 \$string of function unpack expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\WebSocketServer\:\:\$connections type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthConfig\:\:__construct\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthConfig\:\:custom\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthResult\:\:__construct\(\) has parameter \$curlOptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthResult.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupBasicAuth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupBearerAuth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupCustomAuth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupDigestAuth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupOAuth2Auth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:__construct\(\) has parameter \$allowedStatusCodes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:__construct\(\) has parameter \$curlOptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:__construct\(\) has parameter \$query with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:with\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:withQuery\(\) has parameter \$query with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:__construct\(\) has parameter \$body with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:form\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:json\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:multipart\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:multipart\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:with\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientResponse\:\:json\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientResponse.php', ], [ 'message' => '#^Offset 0 might not exist on array\\|null\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientResponse.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientResponse.php', ], [ 'message' => '#^Function curl_exec\(\) is forbidden\: Use HttpClient abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\CurlHttpClient\:\:executeCurlRequest\(\) should return string but returns string\|true\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlHttpClient.php', ], [ 'message' => '#^Parameter \#1 \$auth of method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:configure\(\) expects App\\\Framework\\\HttpClient\\\AuthConfig, App\\\Framework\\\HttpClient\\\AuthConfig\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlHttpClient.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\HttpClient\\\AuthConfig\|null and array\{\} will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\CurlRequestBuilder\:\:buildOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlRequestBuilder.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:getContent\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:getHeaders\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:getStatusCode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^PHPDoc tag @param for parameter \$response with type App\\\Framework\\\HttpClient\\\Exception\\\ClientResponse is not subtype of native type App\\\Framework\\\HttpClient\\\ClientResponse\.$#', 'identifier' => 'parameter.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^Parameter \$response of method App\\\Framework\\\HttpClient\\\Exception\\\ClientErrorException\:\:__construct\(\) has invalid type App\\\Framework\\\HttpClient\\\Exception\\\ClientResponse\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/CurlExecutionFailed.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/CurlNotInitialized.php', ], [ 'message' => '#^Constructor of class App\\\Framework\\\HttpClient\\\Exception\\\ServerErrorException has an unused parameter \$response\.$#', 'identifier' => 'constructor.unusedParameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ServerErrorException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ServerErrorException.php', ], [ 'message' => '#^PHPDoc tag @param for parameter \$response with type App\\\Framework\\\HttpClient\\\Exception\\\ClientResponse is not subtype of native type App\\\Framework\\\HttpClient\\\ClientResponse\.$#', 'identifier' => 'parameter.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ServerErrorException.php', ], [ 'message' => '#^Parameter \$response of method App\\\Framework\\\HttpClient\\\Exception\\\ServerErrorException\:\:__construct\(\) has invalid type App\\\Framework\\\HttpClient\\\Exception\\\ClientResponse\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ServerErrorException.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Cache\\\CacheItem and App\\\Framework\\\HttpClient\\\ClientResponse will always evaluate to false\.$#', 'identifier' => 'instanceof.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/CachingMiddleware.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/LoggingMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/RateLimitingMiddleware.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, \(array\|null\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/RateLimitingMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\HttpClient\\\Middleware\\\RateLimitingMiddleware\:\:\$lastRequestTimes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/RateLimitingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Middleware\\\RetryMiddleware\:\:__construct\(\) has parameter \$retryableStatuses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/RetryMiddleware.php', ], [ 'message' => '#^Class App\\\Framework\\\HttpClient\\\Exception\\\RequestValidationException constructor invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/RequestValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\RequestValidator\:\:validateBody\(\) has parameter \$body with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/RequestValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:isClientError\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ResponseValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:isServerError\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ResponseValidator.php', ], [ 'message' => '#^Class App\\\Framework\\\HttpClient\\\Exception\\\ResponseValidationException constructor invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ResponseValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Commands\\\RotateLogsCommand\:\:getLogPaths\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Commands/RotateLogsCommand.php', ], [ 'message' => '#^Parameter \#1 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Commands/RotateLogsCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:alert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:critical\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:debug\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:emergency\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:error\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:info\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:log\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:notice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:warning\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/ConsoleHandler.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/FileHandler.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/FileHandler.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\Handlers\\\FileHandler\:\:\$fileMode is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/FileHandler.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Handlers\\\JsonFileHandler\:\:__construct\(\) has parameter \$includedFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Handlers\\\JsonFileHandler\:\:setIncludedFields\(\) has parameter \$fields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\Handlers\\\JsonFileHandler\:\:\$includedFields type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:addExtras\(\) has parameter \$extras with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:getContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:getExtras\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:withContext\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRotator\:\:getRotationInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Parameter \#1 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Parameter \#2 \$data of function gzwrite expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:__construct\(\) has parameter \$logPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:getAvailableLogs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:getDefaultLogPaths\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogEntries\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogEntries\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogEntries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogLine\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogLine\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readLargeFileLines\(\) has parameter \$file with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readLog\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readLogLines\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readLogLines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readSmallFileLines\(\) has parameter \$file with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:searchLogs\(\) has parameter \$logNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:searchLogs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:tailLog\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Parameter \#1 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\LogViewer\:\:\$logLevels is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\LogViewer\:\:\$logLevels type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\LogViewer\:\:\$logPaths type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:alert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:critical\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:debug\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:emergency\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:error\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:info\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:notice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:warning\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LoggerFactory\:\:create\(\) has parameter \$handlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LoggerFactory.php', ], [ 'message' => '#^Parameter \#1 \$minLevel of class App\\\Framework\\\Logging\\\DefaultLogger constructor expects App\\\Framework\\\Logging\\\LogLevel, App\\\Framework\\\Logging\\\LogLevel\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LoggerFactory.php', ], [ 'message' => '#^Parameter \#2 \$handlers of class App\\\Framework\\\Logging\\\DefaultLogger constructor expects array\, bool given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LoggerFactory.php', ], [ 'message' => '#^Parameter \#3 \$processorManager of class App\\\Framework\\\Logging\\\DefaultLogger constructor expects App\\\Framework\\\Logging\\\ProcessorManager, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LoggerFactory.php', ], [ 'message' => '#^Parameter \#2 \$data of function hash expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/ProcessLogCommandHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\ProcessorManager\:\:sortProcessors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/ProcessorManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\ExceptionProcessor\:\:formatException\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/ExceptionProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\ExceptionProcessor\:\:formatTrace\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/ExceptionProcessor.php', ], [ 'message' => '#^Offset \'function\' on array\{function\: string, line\?\: int, file\?\: string, class\?\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\} in isset\(\) always exists and is not nullable\.$#', 'identifier' => 'isset.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/ExceptionProcessor.php', ], [ 'message' => '#^Offset \'type\' might not exist on array\{function\: string, line\?\: int, file\?\: string, class\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/ExceptionProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\InterpolationProcessor\:\:interpolate\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/InterpolationProcessor.php', ], [ 'message' => '#^Offset \'function\' on array\{function\: string, line\?\: int, file\?\: string, class\?\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/IntrospectionProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\WebInfoProcessor\:\:__construct\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/WebInfoProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\WebInfoProcessor\:\:collectWebInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/WebInfoProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\Processors\\\WebInfoProcessor\:\:\$config type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/WebInfoProcessor.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Mail\\\Message and App\\\Framework\\\Mail\\\Message will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Commands/SendEmailBatchCommand.php', ], [ 'message' => '#^Class App\\\Framework\\\Mail\\\EmailList implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:fromArray\(\) has parameter \$emails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:getIterator\(\) return type with generic class ArrayIterator does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:toStringArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Function app not found\.$#', 'identifier' => 'function.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Examples\\\MailerUsageExample\:\:sendNewsletter\(\) has parameter \$subscribers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Examples\\\MailerUsageExample\:\:sendNewsletter\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Examples\\\MailerUsageExample\:\:sendNotificationEmail\(\) has parameter \$bccEmails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Examples\\\MailerUsageExample\:\:sendNotificationEmail\(\) has parameter \$ccEmails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$emails of class App\\\Framework\\\Mail\\\EmailList constructor expects App\\\Domain\\\Common\\\ValueObject\\\Email\|string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$emails of class App\\\Framework\\\Mail\\\EmailList constructor expects App\\\Domain\\\Common\\\ValueObject\\\Email\|string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Exceptions\\\SmtpException\:\:messageValidationFailed\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Exceptions/SmtpException.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Mailer\:\:queueBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Mailer\:\:queueBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Mailer\:\:sendBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Mailer\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Property App\\\Framework\\\Mail\\\Mailer\:\:\$queue is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\MailerInterface\:\:sendBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/MailerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\MailerInterface\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/MailerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Message\:\:__construct\(\) has parameter \$attachments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Message.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Message\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Message.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\PooledSmtpTransport\:\:sendBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/PooledSmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\PooledSmtpTransport\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/PooledSmtpTransport.php', ], [ 'message' => '#^Property App\\\Framework\\\Mail\\\PooledSmtpTransport\:\:\$connections type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/PooledSmtpTransport.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:addAlternativeParts\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:addAttachments\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:buildHtmlMessage\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:buildMultipartAlternativeMessage\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:buildMultipartMixedMessage\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:buildTextMessage\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:sanitizeHeaderName\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Property App\\\Framework\\\Mail\\\SmtpTransport\:\:\$socket has no type specified\.$#', 'identifier' => 'missingType.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:getLastSentMessage\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:getSentMessageWithSubject\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:getSentMessages\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:getSentMessagesTo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:sendBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Property App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:\$sentMessages type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\TransportResult\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/TransportResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\TransportResult\:\:failure\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/TransportResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\TransportResult\:\:getMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/TransportResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\TransportResult\:\:success\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/TransportResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:closeList\(\) has parameter \$html with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:flushParagraph\(\) has parameter \$currentParagraph with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:flushParagraph\(\) has parameter \$html with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:getListType\(\) has parameter \$html with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:handleList\(\) has parameter \$html with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:handleList\(\) never assigns null to &\$listType so it can be removed from the by\-ref type\.$#', 'identifier' => 'parameterByRef.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:parseInlineElements\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 15, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownRenderer\:\:render\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownRenderer\:\:renderFile\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownRenderer\:\:wrapWithLayout\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Parameter \#1 \$markdown of method App\\\Framework\\\Markdown\\\MarkdownRenderer\:\:render\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownTheme\:\:__construct\(\) has parameter \$colors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownTheme\:\:__construct\(\) has parameter \$fonts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownTheme\:\:__construct\(\) has parameter \$spacing with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Property App\\\Framework\\\Markdown\\\MarkdownTheme\:\:\$colors is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Property App\\\Framework\\\Markdown\\\MarkdownTheme\:\:\$fonts is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Property App\\\Framework\\\Markdown\\\MarkdownTheme\:\:\$spacing is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Dead catch \- Throwable is never thrown in the try block\.$#', 'identifier' => 'catch.neverThrown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Console/McpServerCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpResourceMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpResourceRegistry\:\:__construct\(\) has parameter \$resources with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpResourceRegistry\:\:getAllResources\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpResourceRegistry\:\:getResource\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\Mcp\\\McpResourceRegistry\:\:\$resources type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:callTool\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:callTool\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:createErrorResponse\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:generateInputSchema\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:generateInputSchema\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:initialize\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:initialize\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:listResources\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:listTools\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:prepareArguments\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:prepareArguments\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:prepareArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:readResource\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:readResource\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpTool\:\:__construct\(\) has parameter \$inputSchema with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpTool.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolMapper\:\:extractParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolRegistry\:\:__construct\(\) has parameter \$tools with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolRegistry\:\:getAllTools\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolRegistry\:\:getTool\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\Mcp\\\McpToolRegistry\:\:\$tools type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolRegistry.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\CacheTools\:\:cacheClear\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\CacheTools\:\:cacheHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\CacheTools\:\:cacheInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheItem and non\-falsy\-string will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Ternary operator condition is always false\.$#', 'identifier' => 'ternary.alwaysFalse', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/DatabaseTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\DatabaseTools\:\:databaseConfigInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/DatabaseTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\DatabaseTools\:\:databaseHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/DatabaseTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\DatabaseTools\:\:listEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/DatabaseTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FileSystemTools\:\:findFiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FileSystemTools\:\:getFrameworkConfig\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FileSystemTools\:\:getFrameworkModules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FileSystemTools\:\:listDirectory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Parameter \#2 \$needle of function str_starts_with expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\AttributeDiscoveryService\:\:discover\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:analyzeContainerBindings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:analyzeRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:discoverAttributes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:frameworkHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:listFrameworkModules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\LogTools\:\:logErrorSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\LogTools\:\:logRecentEntries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\LogTools\:\:loggerInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Access to private property App\\\Framework\\\Performance\\\PerformanceMetric\:\:\$category\.$#', 'identifier' => 'property.private', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Access to private property App\\\Framework\\\Performance\\\PerformanceMetric\:\:\$key\.$#', 'identifier' => 'property.private', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Cannot access offset \'avg_duration_ms\' on App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Cannot access offset \'count\' on App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Cannot access offset \'total_duration_ms\' on App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:analyzeBottlenecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:calculateOverallHealth\(\) has parameter \$bottlenecks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:calculateOverallHealth\(\) has parameter \$requestStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:calculateOverallHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:generatePerformanceReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:generateRecommendations\(\) has parameter \$metric with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:generateRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:getPerformanceByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:getPerformanceSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:getSlowestOperations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:resetPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Offset \'critical\'\|\'high\'\|\'medium\' on array\{critical\: 4, high\: 3, medium\: 2, low\: 1\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Parameter \#1 \$array of function usort contains unresolvable type\.$#', 'identifier' => 'argument.unresolvableType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Parameter \#2 \$callback of function usort contains unresolvable type\.$#', 'identifier' => 'argument.unresolvableType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Meta\\\Keywords\:\:__construct\(\) has parameter \$keywords with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Meta/Keywords.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiEndpoint\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiEndpoint.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiParameter\:\:__construct\(\) has parameter \$enum with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiParameter.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiRequestBody\:\:__construct\(\) has parameter \$example with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiRequestBody.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiResponse\:\:__construct\(\) has parameter \$example with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiResponse\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiSecurity\:\:__construct\(\) has parameter \$scopes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiSecurity.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Commands/GenerateMarkdownDocsCommand.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Commands/GenerateMarkdownDocsCommand.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Commands/GenerateOpenApiCommand.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Commands/GenerateOpenApiCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:extractParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:extractRequestBody\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:extractResponses\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:extractSecurity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:generate\(\) has parameter \$servers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:generatePathItem\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiInfo\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiLicense\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiLicense.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiService\:\:getEndpoints\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiService.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiService\:\:getEndpointsByTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiService.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$components with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$paths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$security with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$servers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:toJson\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:increment\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceCollectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:measure\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceCollectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:recordMetric\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceCollectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:startTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceCollectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceReporterInterface\:\:generateReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceReporterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceReporterInterface\:\:getMetricsByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceReporterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceReporterInterface\:\:getTopMetricsByMemory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceReporterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceReporterInterface\:\:getTopMetricsByTime\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceReporterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:exportMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:generateReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:getSlowestOperations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:increment\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:measure\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:measureCacheOperation\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:measureDatabaseQuery\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:measureViewRender\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:recordMetric\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:startTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:benchmark\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:getActiveTimers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:increment\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:measure\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:measureDuration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:recordMetric\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:startTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\ControllerPerformanceMiddleware\:\:extractControllerInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/ControllerPerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\ControllerPerformanceMiddleware\:\:parseControllerString\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/ControllerPerformanceMiddleware.php', ], [ 'message' => '#^Offset 0 on non\-empty\-list\ on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/ControllerPerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\DatabasePerformanceMiddleware\:\:sanitizeBindings\(\) has parameter \$bindings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\DatabasePerformanceMiddleware\:\:sanitizeBindings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\DatabasePerformanceMiddleware\:\:sanitizeQuery\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$duration of method App\\\Framework\\\Performance\\\PerformanceConfig\:\:isSlowQuery\(\) expects float, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Result of method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:endTiming\(\) \(void\) is used\.$#', 'identifier' => 'method.void', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Call to function is_string\(\) with array\\|null will always evaluate to false\.$#', 'identifier' => 'function.impossibleType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Offset \'categories\' might not exist on array\|string\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Offset \'summary\' might not exist on array\|string\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$path \(string\) on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Response\:\:\$body \(string\) in isset\(\) is not nullable\.$#', 'identifier' => 'isset.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Performance\\\Middleware\\\PerformanceDebugMiddleware\:\:\$collector is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Result of && is always false\.$#', 'identifier' => 'booleanAnd.alwaysFalse', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Variable \$contentType in empty\(\) is never defined\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/RequestPerformanceMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$path \(string\) on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/RequestPerformanceMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$path \(string\) on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/RoutingPerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceConfig\:\:__construct\(\) has parameter \$enabledCategories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceConfig\:\:__construct\(\) has parameter \$excludedPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceConfig\:\:__construct\(\) has parameter \$thresholds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceMetric\:\:create\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceMetric.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceMetric\:\:getContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceMetric.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceMetric\:\:getValues\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceMetric.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceMetric\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceMetric.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:collectReportData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:generateHtmlReport\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:generateReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:generateReport\(\) should return array\|string but returns array\|string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:generateTextReport\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getMetricsByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getTopMetricsByMemory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getTopMetricsByTime\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getTopMetricsByTimeFromData\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getTopMetricsByTimeFromData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:processCategoryMetrics\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:processCategoryMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:exportMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:generateReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:getSlowestOperations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:increment\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:measure\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:measureCacheOperation\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:measureDatabaseQuery\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:measureViewRender\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:recordMetric\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:startTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\Measurement\:\:endHighResTiming\(\) has parameter \$startData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/Measurement.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\Measurement\:\:endTiming\(\) has parameter \$startData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/Measurement.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\Measurement\:\:startTiming\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/Measurement.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\Measurement\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/Measurement.php', ], [ 'message' => '#^Class App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MeasurementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\:\:__construct\(\) has parameter \$measurements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MeasurementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\:\:export\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MeasurementCollection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:greaterThanOrEqual\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MemorySummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MemorySummary\:\:jsonSerialize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MemorySummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MemorySummary\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MemorySummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:normalizeData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:normalizeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:validateData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\FuncCall and PhpParser\\\Node\\\Expr\\\FuncCall will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/ForbiddenFunctionsRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\ForbiddenFunctionsRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\RuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/ForbiddenFunctionsRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Stmt\\\Return_ and PhpParser\\\Node\\\Stmt\\\Return_ will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/PreferValueObjectsRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\PreferValueObjectsRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/PreferValueObjectsRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Stmt\\\Return_ and PhpParser\\\Node\\\Stmt\\\Return_ will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/TestRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\TestRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\RuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/TestRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\FuncCall and PhpParser\\\Node\\\Expr\\\FuncCall will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseClockAbstractionRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\UseClockAbstractionRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseClockAbstractionRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\New_ and PhpParser\\\Node\\\Expr\\\New_ will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseDateTimeAbstractionRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\UseDateTimeAbstractionRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseDateTimeAbstractionRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\New_ and PhpParser\\\Node\\\Expr\\\New_ will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseFrameworkAbstractionsRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\UseFrameworkAbstractionsRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseFrameworkAbstractionsRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\FuncCall and PhpParser\\\Node\\\Expr\\\FuncCall will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseTimerAbstractionRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\UseTimerAbstractionRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseTimerAbstractionRule.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\DefaultQueryBus\:\:__construct\(\) has parameter \$eventHandlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\DefaultQueryBus\:\:dispatch\(\) with return type void returns mixed but should not return anything\.$#', 'identifier' => 'return.void', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\DefaultQueryBus\:\:dispatch\(\) with return type void returns null but should not return anything\.$#', 'identifier' => 'return.void', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Parameter \#2 \$container of class App\\\Framework\\\QueryBus\\\DefaultQueryBus constructor expects App\\\Framework\\\DI\\\DefaultContainer, App\\\Framework\\\DI\\\Container given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryBusInitializer.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\QueryHandlerCompiler\:\:compile\(\) has parameter \$handlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\QueryHandlerCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerCompiler.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerMapper.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\QueryHandlerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerMapper.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Parameter \#3 \$retryAfter of static method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:exceeded\(\) expects int, float\|int\<1, max\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/CacheStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\Storage\\\CacheStorage\:\:getRequestsInWindow\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/CacheStorage.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>value" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/CacheStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\Storage\\\StorageInterface\:\:getRequestsInWindow\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/StorageInterface.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/TimeProvider/SystemTimeProvider.php', ], [ 'message' => '#^Method App\\\Framework\\\Redis\\\RedisConfig\:\:__construct\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Redis/RedisConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Redis\\\RedisConfig\:\:toConnectionParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Redis/RedisConfig.php', ], [ 'message' => '#^Right side of && is always true\.$#', 'identifier' => 'booleanAnd.rightAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Redis/RedisConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\WrappedReflectionClass\:\:getAttributeInstances\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/WrappedReflectionClass.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\WrappedReflectionMethod\:\:getAttributeInstances\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/WrappedReflectionMethod.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\WrappedReflectionMethod\:\:getParameterInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/WrappedReflectionMethod.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\WrappedReflectionParameter\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/WrappedReflectionParameter.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:__construct\(\) has parameter \$namedRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:buildUrlFromRoute\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:generateUrl\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:getAllNamedRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:getStaticRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Exception\\\RouteNotFound\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Exception/RouteNotFound.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\GenericActionResult\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/GenericActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\GenericActionResult\:\:__construct\(\) has parameter \$slots with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/GenericActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:prepareParameters\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:prepareParameters\(\) has parameter \$queryParams with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:prepareParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Using nullsafe method call on non\-nullable type App\\\Framework\\\Logging\\\DefaultLogger\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\ContentNegotiationResult\:\:__construct\(\) has parameter \$jsonPayload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/ContentNegotiationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\ContentNegotiationResult\:\:__construct\(\) has parameter \$viewData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/ContentNegotiationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\JsonResult\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/JsonResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\SseResult\:\:addJsonEvent\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/SseResult.php', ], [ 'message' => '#^Parameter \#1 \$data of method App\\\Framework\\\Router\\\Result\\\SseResult\:\:addEvent\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/SseResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\SseResultWithCallback\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/SseResultWithCallback.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\ViewResult\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/ViewResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\ViewResult\:\:__construct\(\) has parameter \$slots with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/ViewResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\WebSocketResult\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/WebSocketResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\WebSocketResult\:\:getSubprotocols\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/WebSocketResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\WebSocketResult\:\:withSubprotocols\(\) has parameter \$subprotocols with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/WebSocketResult.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\Result\\\WebSocketResult\:\:\$subprotocols type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/WebSocketResult.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\RouteCollection\:\:__construct\(\) has parameter \$namedRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\RouteCollection\:\:getByMethod\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\RouteCollection\:\:getDynamic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\RouteCollection\:\:getStatic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\RouteContext\:\:\$params type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteContext.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteDispatcher.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteResponder.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\RouteResponder\:\:\$container is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteResponder.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\RouteResponder\:\:\$pathProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteResponder.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\RouterSetup\:\:\$pathProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouterSetup.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:beginTransaction\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:commit\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:createQuery\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:flush\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:persist\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:remove\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:rollback\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Cache\\\CacheItem and App\\\Framework\\\Security\\\RequestSigning\\\SigningKey will always evaluate to false\.$#', 'identifier' => 'instanceof.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\EntityManagerSigningKeyRepository\:\:findByKeyId\(\) should return App\\\Framework\\\Security\\\RequestSigning\\\SigningKey\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\EntityManagerSigningKeyRepository\:\:getAllActive\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\EntityManagerSigningKeyRepository\:\:getExpiringKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Function gmdate\(\) is forbidden\: Use Clock\:\:now\(\)\-\>setTimezone\(\) and format\(\) instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\HttpClientSigningMiddleware\:\:__construct\(\) has parameter \$headersToSign with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\HttpClientSigningMiddleware\:\:parseQueryParams\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$body of method App\\\Framework\\\Security\\\RequestSigning\\\HttpClientSigningMiddleware\:\:createDigest\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\Http\\\HttpRequest constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\InMemorySigningKeyRepository\:\:getAllActive\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/InMemorySigningKeyRepository.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSignature.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSignature.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigner.php', ], [ 'message' => '#^Function gmdate\(\) is forbidden\: Use Clock\:\:now\(\)\-\>setTimezone\(\) and format\(\) instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigner.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigner\:\:sign\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigner.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigner\:\:signRequest\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigner.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningConfig\:\:__construct\(\) has parameter \$defaultHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningConfig\:\:__construct\(\) has parameter \$exemptPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningConfig\:\:__construct\(\) has parameter \$securityHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningConfig.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningInitializer.php', ], [ 'message' => '#^Cannot access property \$algorithm on App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Cannot access property \$keyId on App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningMiddleware\:\:__construct\(\) has parameter \$exemptPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Parameter \$headers of class App\\\Framework\\\Http\\\HttpResponse constructor expects App\\\Framework\\\Http\\\Headers, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Cannot access property \$algorithm on App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Cannot access property \$keyId on App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningService\:\:getActiveKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningService\:\:signOutgoingRequest\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Strict comparison using \=\=\= between string and false will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestVerifier.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningKeyRepository\:\:getAllActive\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningKeyRepository.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningString\:\:build\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningString\:\:getDefaultHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningString\:\:getRecommendedHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningString\:\:getSecurityHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Sitemap/SitemapGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\Sitemap\\\SitemapGenerator\:\:supportsMethod\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Sitemap/SitemapGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionRegistry\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionResult\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionResult\:\:__construct\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionResult\:\:failure\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionResult\:\:success\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\DefaultActionRegistry\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/DefaultActionRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\DocumentAccessAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/DocumentAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\DocumentAccessAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/DocumentAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\DocumentAccessAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/DocumentAccessAction.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/EmailVerificationAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\EmailVerificationAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/EmailVerificationAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\EmailVerificationAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/EmailVerificationAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\EmailVerificationAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/EmailVerificationAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\GenericDataAccessAction\:\:__construct\(\) has parameter \$requiredPermissions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/GenericDataAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\GenericDataAccessAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/GenericDataAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\GenericDataAccessAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/GenericDataAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\GenericDataAccessAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/GenericDataAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\PasswordResetAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/PasswordResetAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\PasswordResetAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/PasswordResetAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\PasswordResetAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/PasswordResetAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/SmartlinkAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/SmartlinkAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/SmartlinkAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Commands\\\ExecuteSmartlinkCommand\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Commands/ExecuteSmartlinkCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Commands\\\GenerateSmartlinkCommand\:\:__construct\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Commands/GenerateSmartlinkCommand.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:getKeys\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\CacheSmartLinkService\:\:deserializeData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\CacheSmartLinkService\:\:generate\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\CacheSmartLinkService\:\:getActiveTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\CacheSmartLinkService\:\:serializeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/InMemorySmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\InMemorySmartLinkService\:\:generate\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/InMemorySmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\InMemorySmartLinkService\:\:getActiveTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/InMemorySmartLinkService.php', ], [ 'message' => '#^Property App\\\Framework\\\Smartlinks\\\Services\\\InMemorySmartLinkService\:\:\$tokens type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/InMemorySmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\SmartlinkService\:\:generate\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/SmartlinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\SmartlinkService\:\:getActiveTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/SmartlinkService.php', ], [ 'message' => '#^Direct instantiation of DateInterval is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime\:\:createInterval\(\) instead for consistent error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/SmartlinkData.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/SmartlinkData.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\SmartlinkData\:\:__construct\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/SmartlinkData.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/TokenConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\TokenConfig\:\:__construct\(\) has parameter \$allowedIpRanges with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/TokenConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\TokenConfig\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/TokenConfig.php', ], [ 'message' => '#^Property App\\\Framework\\\StaticSite\\\GenerateStaticSites\:\:\$outputDirectory is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/GenerateStaticSites.php', ], [ 'message' => '#^Access to property \$methods on an unknown class App\\\Framework\\\Router\\\Route\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Access to property \$path on an unknown class App\\\Framework\\\Router\\\Route\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Router\\\HttpRouter\:\:getRoutes\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Router\\\RouteCollection\:\:getAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Class App\\\Framework\\\Router\\\Route not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\RouteCollector\:\:collectRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\RouteCollector\:\:filterRoutes\(\) has parameter \$exclude with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\RouteCollector\:\:filterRoutes\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\RouteCollector\:\:filterRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Router\\\HttpRouter\:\:getRoutes\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Router\\\RouteCollection\:\:getAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:collectAllGetRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:collectStaticPages\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:filterRoutes\(\) has parameter \$exclude with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:filterRoutes\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:filterRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Response\:\:getBody\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Call to protected method handleRequest\(\) of class App\\\Framework\\\Core\\\Application\.$#', 'identifier' => 'method.protected', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Application\:\:handleRequest\(\) invoked with 1 parameter, 0 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticSiteGenerator\:\:__construct\(\) has parameter \$routesToGenerate with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticSiteGenerator\:\:setRoutesToGenerate\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Parameter \#2 \$headers of class App\\\Framework\\\Http\\\HttpRequest constructor expects App\\\Framework\\\Http\\\Headers, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Parameter \#3 \$body of class App\\\Framework\\\Http\\\HttpRequest constructor expects string, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Parameter \#4 \$path of class App\\\Framework\\\Http\\\HttpRequest constructor expects string, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Property App\\\Framework\\\StaticSite\\\StaticSiteGenerator\:\:\$routesToGenerate type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Call to an undefined method object\:\:getAttributes\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticSiteMapper\:\:map\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticSiteMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\DocBlockParser\:\:extractContent\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\DocBlockParser\:\:parseAfterTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\DocBlockParser\:\:parseDocBlock\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\DocBlockParser\:\:parseLineContent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Parameter \#2 \$string of function explode expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\FormatterInterface\:\:setTheme\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/FileHighlighter.php', ], [ 'message' => '#^Parameter \#2 \$array of function implode expects array\, list\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/FileHighlighter.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:isColorSupported\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:format\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:format\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:formatLine\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:formatPlainText\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:groupTokensByLines\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:groupTokensByLines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Parameter \#1 \$string of function str_pad expects string, \(float\|int\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\FormatterInterface\:\:format\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/FormatterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\FormatterInterface\:\:format\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/FormatterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:format\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:format\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:formatLine\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:generateCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:getCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:groupTokensByLines\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:groupTokensByLines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:setTheme\(\) has parameter \$theme with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:wrapOutput\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Property App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:\$theme type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:getCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlight\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlightFileSegment\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlightWithCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlightWithOffset\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlightWithoutCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:setCustomTokenMappings\(\) has parameter \$mappings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:tokenize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Property App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:\$formatters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:\$formatters is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:\$formatters is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Static call to instance method stdClass\:\:resetCssOutput\(\)\.$#', 'identifier' => 'method.staticCall', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\TokenMapper\:\:getAllMappings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/TokenMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\TokenMapper\:\:mergeMappings\(\) has parameter \$additionalMappings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/TokenMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\TokenMapper\:\:setMappings\(\) has parameter \$mappings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/TokenMapper.php', ], [ 'message' => '#^Property App\\\Framework\\\SyntaxHighlighter\\\TokenMapper\:\:\$mapping type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/TokenMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:classifyContextually\(\) has parameter \$allTokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:classifyContextually\(\) has parameter \$token with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:isInAttributeContext\(\) has parameter \$allTokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:parseDocBlockContent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:tokenize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Offset 2 on array\{int, string, int\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Exporters/FileTraceExporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\Exporters\\\FileTraceExporter\:\:export\(\) has parameter \$traceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Exporters/FileTraceExporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceCollector\:\:__construct\(\) has parameter \$exporters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceCollector\:\:logTraceSummary\(\) has parameter \$traceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceCollector.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:addEvent\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:getAllSpans\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:getFinishedSpans\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:startSpan\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Property App\\\Framework\\\Tracing\\\TraceContext\:\:\$spans type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceExporter\:\:export\(\) has parameter \$traceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceExporter.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:addEvent\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:addTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:getErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:getEvents\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:getTags\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Property App\\\Framework\\\Tracing\\\TraceSpan\:\:\$errors type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Property App\\\Framework\\\Tracing\\\TraceSpan\:\:\$events type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Property App\\\Framework\\\Tracing\\\TraceSpan\:\:\$tags type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\Tracer\:\:addEvent\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Tracer.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\Tracer\:\:startSpan\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Tracer.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\Tracer\:\:trace\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Tracer.php', ], [ 'message' => '#^Parameter \#1 \$codepoint of function chr expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/StringConverter.php', ], [ 'message' => '#^Class App\\\Framework\\\Ulid\\\UlidGenerator referenced with incorrect case\: App\\\Framework\\\Ulid\\\ULIDGenerator\.$#', 'identifier' => 'class.nameCase', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Class App\\\Framework\\\Ulid\\\UlidParser referenced with incorrect case\: App\\\Framework\\\Ulid\\\ULIDParser\.$#', 'identifier' => 'class.nameCase', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Class App\\\Framework\\\Ulid\\\UlidValidator referenced with incorrect case\: App\\\Framework\\\Ulid\\\ULIDValidator\.$#', 'identifier' => 'class.nameCase', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Method App\\\Framework\\\Ulid\\\Ulid\:\:__debugInfo\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Method App\\\Framework\\\Ulid\\\Ulid\:\:__debugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Class App\\\Framework\\\Ulid\\\UlidValidator referenced with incorrect case\: App\\\Framework\\\Ulid\\\ULIDValidator\.$#', 'identifier' => 'class.nameCase', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/UlidParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Ulid\\\UlidParser\:\:getTimestampMs\(\) should return int but returns float\|int\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/UlidParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:businessRuleViolation\(\) has parameter \$affectedFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:duplicateValue\(\) has parameter \$value with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:outOfRange\(\) has parameter \$max with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:outOfRange\(\) has parameter \$min with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:outOfRange\(\) has parameter \$value with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Property App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:\$errors type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Property App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:\$field \(string\) does not accept int\|string\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Call to function is_callable\(\) with callable\(\)\: mixed will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/Custom.php', ], [ 'message' => '#^PHPDoc tag @param for parameter \$validator with type callable is not subtype of native type Closure\.$#', 'identifier' => 'parameter.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/Custom.php', ], [ 'message' => '#^PHPDoc type for property App\\\Framework\\\Validation\\\Rules\\\Custom\:\:\$validator with type callable is not subtype of native type Closure\.$#', 'identifier' => 'property.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/Custom.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Rules\\\In\:\:__construct\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/In.php', ], [ 'message' => '#^Property App\\\Framework\\\Validation\\\Rules\\\In\:\:\$values type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/In.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\ValidationFormHandler\:\:extractRequestData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\ValidationFormHandler\:\:getErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\ValidationFormHandler\:\:getOldInput\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Parameter \#1 \$location of class App\\\Framework\\\Http\\\Responses\\\RedirectResponse constructor expects App\\\Framework\\\Http\\\Uri, App\\\Framework\\\Http\\\Uri\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>path" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\ValidationResult\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationResult.php', ], [ 'message' => '#^Using nullsafe method call on non\-nullable type ReflectionProperty\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Validator.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:calculateStaticRatio\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:hasCsrfTokens\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:hasRandomElements\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:hasTimestamps\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:hasUserContent\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\SmartTemplateAnalyzer\:\:determineOptimalStrategy\(\) has parameter \$dependencies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\SmartTemplateAnalyzer\:\:findFragments\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\SmartTemplateAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\TemplateAnalysis\:\:__construct\(\) has parameter \$dependencies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/TemplateAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\TemplateAnalysis\:\:__construct\(\) has parameter \$fragments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/TemplateAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\TemplateAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/TemplateAnalyzer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:calculateHitRate\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:checkDiskSpace\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:checkMemoryUsage\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:determineOverallHealth\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:generateRecommendations\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getAverageRenderTime\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getCacheSize\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getMemoryUsage\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getMostCachedTemplates\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getOptimizationSuggestions\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getStrategyDistribution\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:testCacheConnection\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:testFragmentCache\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:testStrategies\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:testTemplateAnalyzer\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:analyzeTemplate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getPerformanceReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:healthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:warmupCache\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:warmupCache\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:\$metrics is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:\$metrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Undefined variable\: \$template$#', 'identifier' => 'variable.undefined', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheManager\:\:__construct\(\) has parameter \$strategyMapping with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheManager\:\:\$fragmentCache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheManager\:\:\$lastAnalysis is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheManager\:\:\$strategies type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheManager\:\:\$strategyMapping is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\FragmentCache\:\:fragment\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/FragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\FragmentCache\:\:invalidateByTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/FragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Keys\\\SmartKeyGenerator\:\:generate\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Keys/SmartKeyGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\SmartCache\:\:getCacheStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/SmartCache.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\Strategies\\\ComponentCacheStrategy\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/ComponentCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\Strategies\\\FragmentCacheStrategy\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FragmentCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:getNonVolatileData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:getNonVolatileData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:hasUserData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:hasVolatileData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:fragment\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:getKeysByTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:invalidateByTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:tagFragment\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:\$tagMapping type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TemplateContext\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TemplateContext.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TemplateContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TemplateContext.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ComponentCache\:\:generateHash\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ComponentCache\:\:get\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ComponentCache\:\:set\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ComponentRenderer\:\:render\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentRenderer.php', ], [ 'message' => '#^Strict comparison using \=\=\= between string and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentRenderer.php', ], [ 'message' => '#^Cannot access property \$innerHTML on Dom\\\Element\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomComponentService.php', ], [ 'message' => '#^Cannot call method insertBefore\(\) on Dom\\\Element\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomHeadService.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\DomHeadService\:\:addScript\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomHeadService.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\DomWrapper\:\:findElementsByAttributeRecursive\(\) has parameter \$elements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomWrapper.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\DomWrapper\:\:findElementsByClassRecursive\(\) has parameter \$elements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomWrapper.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\DomWrapper\:\:findElementsByNameRecursive\(\) has parameter \$elements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomWrapper.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomWrapper.php', ], [ 'message' => '#^Class App\\\Framework\\\View\\\ElementCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ElementCollection\:\:__construct\(\) has parameter \$elements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ElementCollection\:\:getIterator\(\) return type with generic class ArrayIterator does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ElementCollection\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ElementCollection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheManager\:\:getStats\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Class App\\\Framework\\\View\\\TemplateProcessor constructor invoked with 0 parameters, 3 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Engine\:\:getCacheStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Parameter \#1 \$template of method App\\\Framework\\\View\\\Caching\\\CacheManager\:\:invalidateTemplate\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Engine\:\:\$container is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Engine\:\:\$pathProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Engine\:\:\$smartCache is unused\.$#', 'identifier' => 'property.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Engine\:\:\$useSmartCache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Ternary operator condition is always true\.$#', 'identifier' => 'ternary.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\EnhancedDomProcessor\:\:processWrapper\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Call to an undefined method object\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\EnhancedTemplateProcessor\:\:__construct\(\) has parameter \$domProcessors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\EnhancedTemplateProcessor\:\:__construct\(\) has parameter \$stringProcessors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\EnhancedTemplateProcessor\:\:__debugInfo\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\EnhancedTemplateProcessor\:\:__debugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Exception\\\TemplateNotFound\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Exception/TemplateNotFound.php', ], [ 'message' => '#^Parameter \#2 \$context of method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) expects App\\\Framework\\\Exception\\\ExceptionContext, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Exception/TemplateNotFound.php', ], [ 'message' => '#^Parameter \#3 \$code of method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) expects int, Throwable\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Exception/TemplateNotFound.php', ], [ 'message' => '#^Parameter \#4 \$previous of method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) expects Throwable\|null, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Exception/TemplateNotFound.php', ], [ 'message' => '#^Parameter \#1 \$image of method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:generatePictureElement\(\) expects App\\\Domain\\\Media\\\Image, App\\\Domain\\\Media\\\Image\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Functions/ImageSlotFunction.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Functions\\\ImageSlotFunction\:\:\$componentRenderer is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Functions/ImageSlotFunction.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Functions/ImageSlotFunction.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Functions\\\UrlFunction\:\:__invoke\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Functions/UrlFunction.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/ControllerResolver.php', ], [ 'message' => '#^Parameter \#1 \$path of function dirname expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/ControllerResolver.php', ], [ 'message' => '#^Cannot call method getTemplatePath\(\) on App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/DiscoveryResolver.php', ], [ 'message' => '#^Cannot call method getTemplates\(\) on App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/DiscoveryResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\Resolvers\\\DiscoveryResolver\:\:resolveFromTemplateVisitor\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/DiscoveryResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\Resolvers\\\TemplateMapResolver\:\:__construct\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/TemplateMapResolver.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Loading\\\TemplateCache\:\:\$cache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateCache.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateContentLoader.php', ], [ 'message' => '#^Call to function is_string\(\) with string will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\TemplateLoader\:\:__construct\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\TemplateLoader\:\:debugTemplatePath\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateLoader.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Loading\\\TemplateLoader\:\:\$storage is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\TemplatePathResolver\:\:__construct\(\) has parameter \$resolvers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplatePathResolver.php', ], [ 'message' => '#^Call to an undefined method object\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processing/DomProcessingPipeline.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processing\\\DomProcessingPipeline\:\:__construct\(\) has parameter \$processors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processing/DomProcessingPipeline.php', ], [ 'message' => '#^Call to an undefined method object\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processing/StringProcessingPipeline.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processing\\\StringProcessingPipeline\:\:__construct\(\) has parameter \$processors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processing/StringProcessingPipeline.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ProcessorResolver.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\ProcessorResolver\:\:\$resolvedProcessors type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ProcessorResolver.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ProcessorResolver.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/AssetInjector.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/AssetInjector.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\AssetInjector\:\:\$manifest type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/AssetInjector.php', ], [ 'message' => '#^Cannot access property \$nodeType on Dom\\\Node\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CommentStripProcessor.php', ], [ 'message' => '#^Parameter \#1 \$child of method Dom\\\Node\:\:removeChild\(\) expects Dom\\\Node, Dom\\\Node\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CommentStripProcessor.php', ], [ 'message' => '#^Parameter \#1 \$node of method App\\\Framework\\\View\\\Processors\\\CommentStripProcessor\:\:removeComments\(\) expects Dom\\\Node, Dom\\\Node\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CommentStripProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\ComponentProcessor\:\:extractAttributes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/ComponentProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:addErrorClassToField\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:cleanupErrorPlaceholders\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:cleanupOldInputPlaceholders\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:removeErrorDisplay\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:replaceTokenForFormId\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Parameter \#1 \$session of class App\\\Framework\\\Http\\\Session\\\ValidationErrorBag constructor expects App\\\Framework\\\Http\\\Session\\\Session, App\\\Framework\\\Http\\\Session\\\SessionInterface given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:replaceHtmlCsrfPatterns\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:replaceTemplateCsrfCalls\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:\$debugMode is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\DateFormatProcessor\:\:process\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/DateFormatProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\EscapeProcessor\:\:process\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/EscapeProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace_callback expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/EscapeProcessor.php', ], [ 'message' => '#^Cannot call method render\(\) on App\\\Framework\\\View\\\TemplateProcessor\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/ForProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\ForProcessor\:\:resolveValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/ForProcessor.php', ], [ 'message' => '#^Parameter \#2 \$expr of method App\\\Framework\\\View\\\Processors\\\ForProcessor\:\:resolveValue\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/ForProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/FormProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\FormProcessor\:\:\$formService is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/FormProcessor.php', ], [ 'message' => '#^Strict comparison using \=\=\= between non\-falsy\-string and \'\' will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/FormProcessor.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/HoneypotProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\IfProcessor\:\:resolveValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IfProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:createComment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:createDocumentFragment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:importNode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:querySelectorAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Cannot access property \$childNodes on Dom\\\Element\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Parameter \#1 \$template of method App\\\Framework\\\View\\\Loading\\\TemplateLoader\:\:getTemplatePath\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/LayoutTagProcessor.php', ], [ 'message' => '#^Cannot call method getElementsByTagName\(\) on Dom\\\HTMLElement\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/MetaManipulator.php', ], [ 'message' => '#^Cannot call method querySelector\(\) on Dom\\\HTMLElement\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/MetaManipulator.php', ], [ 'message' => '#^Direct instantiation of DateTime is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead for consistent timezone handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:parseArguments\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:parseArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceArrayAccess\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceArrayAccess\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceFunctionCalls\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceFunctionCalls\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceMethodCalls\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceMethodCalls\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceObjectProperties\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceObjectProperties\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceSimpleVariables\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceSimpleVariables\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceTernaryOperators\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:splitArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function htmlspecialchars expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:\$allowedFunctions type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:parseParams\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:parseParams\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:process\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:replaceTemplateFunctions\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:resolveEscaped\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:resolveMethodCall\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:resolveValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:splitParams\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Cannot access property \$nodeType on Dom\\\Node\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Cannot access property \$nodeValue on Dom\\\Node\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Cannot call method hasChildNodes\(\) on Dom\\\Node\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Parameter \#1 \$child of method Dom\\\Node\:\:removeChild\(\) expects Dom\\\Node, Dom\\\Node\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Parameter \#1 \$node of method App\\\Framework\\\View\\\Processors\\\RemoveEmptyLinesProcessor\:\:removeEmptyTextNodes\(\) expects Dom\\\Node, Dom\\\Node\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SingleLineHtmlProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SingleLineHtmlProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:createDocumentFragment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SlotProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:querySelectorAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SlotProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:createDocumentFragment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SwitchCaseProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:querySelectorAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SwitchCaseProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\VoidElementsSelfClosingProcessor\:\:process\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/VoidElementsSelfClosingProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\RenderContext\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/RenderContext.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\RenderContext\:\:__construct\(\) has parameter \$slots with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/RenderContext.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:findProjectRoot\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:getAllTemplates\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:getCacheableData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:getTemplatesInDirectory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Parameter \#1 \$path of function dirname expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:\$scannedDirectories type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:\$templateLookupIndex type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:\$templates type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateFunctions\:\:get\(\) should return App\\\Framework\\\View\\\Functions\\\TemplateFunction\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateFunctions.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateFunctions.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateFunctions\:\:\$functions type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateFunctions.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateFunctions.php', ], [ 'message' => '#^Call to an undefined method object\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateProcessor\:\:__construct\(\) has parameter \$domProcessors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateProcessor\:\:__construct\(\) has parameter \$stringProcessors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateProcessor\:\:__debugInfo\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateProcessor\:\:__debugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateProcessor\:\:\$resolvedProcessors type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>innerHTML" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\Worker\\\Worker\:\:\$processedJobHashes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Worker/Worker.php', ], [ 'message' => '#^Match arm comparison between App\\\Domain\\\AI\\\AiProvider\:\:OLLAMA and App\\\Domain\\\AI\\\AiProvider\:\:OLLAMA is always true\.$#', 'identifier' => 'match.alwaysTrue', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiHandlerFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiHandlerFactory\:\:getAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiHandlerFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiHandlerFactory\:\:getOllamaAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiHandlerFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:getAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:getAvailableProviders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:getOllamaAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:query\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:queryWithConversation\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:queryWithFallback\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\Ollama\\\OllamaQueryHandler\:\:getAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/Ollama/OllamaQueryHandler.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:createRepository\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:decodeJson\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:formatErrorMessage\(\) has parameter \$responseData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:getRepository\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:getUserRepositories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:sendRequest\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\BlacklistService\:\:add\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/BlacklistService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\BlacklistService\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/BlacklistService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Commands\\\CreateRecipientCommand\:\:__construct\(\) has parameter \$customFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Commands/CreateRecipientCommand.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Commands\\\CreateRecipientCommand\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Commands/CreateRecipientCommand.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Commands\\\UpdateRecipientCommand\:\:__construct\(\) has parameter \$customFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Commands/UpdateRecipientCommand.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Commands\\\UpdateRecipientCommand\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Commands/UpdateRecipientCommand.php', ], [ 'message' => '#^Call to an undefined method App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientService\:\:getById\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Examples/UsageExamples.php', ], [ 'message' => '#^Call to an undefined method App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientService\:\:searchLegacy\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Examples/UsageExamples.php', ], [ 'message' => '#^Cannot instantiate class App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientListId via private constructor App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientListId\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Examples/UsageExamples.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Factories\\\RecipientCommandFactory\:\:createFromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Factories/RecipientCommandFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Factories\\\RecipientCommandFactory\:\:updateFromRecipientWithChanges\(\) has parameter \$changes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Factories/RecipientCommandFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Mailing\:\:__construct\(\) has parameter \$links with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Mailing.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Mailing\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Mailing.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:getAll\(\) has parameter \$filter with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:getAllWithPagination\(\) has parameter \$filter with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:getAllWithPagination\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:send\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:formatErrorMessage\(\) has parameter \$responseData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:getDefaultQueryParams\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:handleResponse\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:request\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:request\(\) has parameter \$queryParams with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:request\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:sendRawRequest\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:sendRawRequest\(\) has parameter \$queryParams with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\Recipient\:\:__construct\(\) has parameter \$customFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\Recipient\:\:__construct\(\) has parameter \$links with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\Recipient\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/RecipientList.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/RecipientList.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\RecipientList\:\:__construct\(\) has parameter \$links with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/RecipientList.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\RecipientList\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/RecipientList.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientService\:\:search\(\) has parameter \$filter with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RecipientService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\StatisticsService\:\:getClickStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/StatisticsService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\StatisticsService\:\:getMailingStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/StatisticsService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\StatisticsService\:\:getOpenStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/StatisticsService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:addRecipient\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:decodeJson\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:formatErrorMessage\(\) has parameter \$responseData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:getRecipientLists\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:searchRecipients\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:sendRequest\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:buildQueryParams\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createCustomer\(\) has parameter \$customerData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createCustomer\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createOrder\(\) has parameter \$orderData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createOrder\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createProduct\(\) has parameter \$productData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createProduct\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createWebhook\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:decodeJson\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:formatErrorMessage\(\) has parameter \$responseData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getCustomer\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getCustomers\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getCustomers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getMetafields\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getOrder\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getOrders\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getOrders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getProduct\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getProducts\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getProducts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getRateLimitInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getShopInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getWebhooks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:searchProducts\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:searchProducts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:sendRequest\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:updateProduct\(\) has parameter \$productData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:updateProduct\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Property App\\\Infrastructure\\\Api\\\ShopifyClient\:\:\$apiVersion is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryDataService.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryDataService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\GeoIp\\\CountryDataService\:\:parseCountryData\(\) has parameter \$countryData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryDataService.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>nameDe" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryInfo.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>nameEn" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryInfo.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>nameNative" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryInfo.php', ], [ 'message' => '#^Direct instantiation of PDO is forbidden\: Use App\\\Framework\\\Database\\\ConnectionInterface instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/DatabaseSetup.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/DatabaseSetup.php', ], [ 'message' => '#^Direct instantiation of PDO is forbidden\: Use App\\\Framework\\\Database\\\ConnectionInterface instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/GeoIp.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/GeoIp.php', ], '#Access to an undefined property#', '#Instantiated class .* not found#', '#Variable \$\w+ might not be defined#', '#Class .* has an uninitialized readonly property#', '#Class .*Request has an uninitialized readonly property#', ], false ); } public function createService07(): PHPStan\Analyser\NodeScopeResolver { return new PHPStan\Analyser\NodeScopeResolver( $this->getService('reflectionProvider'), $this->getService('0301'), $this->getService('nodeScopeResolverReflector'), $this->getService('0344'), $this->getService('0341'), $this->getService('defaultAnalysisParser'), $this->getService('0300'), $this->getService('stubPhpDocProvider'), $this->getService('043'), $this->getService('0313'), $this->getService('0305'), $this->getService('0307'), $this->getService('044'), $this->getService('0333'), $this->getService('typeSpecifier'), $this->getService('0342'), $this->getService('072'), $this->getService('0339'), $this->getService('01'), true, true, true, [], [], ['stdClass', 'App\Framework\DI\Container'], true, true ); } public function createService08(): PHPStan\Analyser\RuleErrorTransformer { return new PHPStan\Analyser\RuleErrorTransformer($this->getService('currentPhpVersionPhpParser')); } public function createService09(): PHPStan\Analyser\AnalyserResultFinalizer { return new PHPStan\Analyser\AnalyserResultFinalizer( $this->getService('registry'), $this->getService('04'), $this->getService('08'), $this->getService('01'), $this->getService('014'), false ); } public function createService010(): PHPStan\Analyser\LazyInternalScopeFactory { return new PHPStan\Analyser\LazyInternalScopeFactory($this->getService('0345')); } public function createService011(): PHPStan\Analyser\RicherScopeGetTypeHelper { return new PHPStan\Analyser\RicherScopeGetTypeHelper($this->getService('0301')); } public function createService012(): PHPStan\Analyser\ConstantResolver { return $this->getService('02')->create(); } public function createService013(): PHPStan\Analyser\ResultCache\ResultCacheClearer { return new PHPStan\Analyser\ResultCache\ResultCacheClearer('/home/michael/dev/michaelschiemer/var/phpstan/resultCache.php'); } public function createService014(): PHPStan\Analyser\LocalIgnoresProcessor { return new PHPStan\Analyser\LocalIgnoresProcessor; } public function createService015(): PHPStan\Analyser\FileAnalyser { return new PHPStan\Analyser\FileAnalyser( $this->getService('01'), $this->getService('07'), $this->getService('defaultAnalysisParser'), $this->getService('0327'), $this->getService('04'), $this->getService('08'), $this->getService('014') ); } public function createService016(): PHPStan\Cache\Cache { return new PHPStan\Cache\Cache($this->getService('cacheStorage')); } public function createService017(): PHPStan\Parser\ArrayFilterArgVisitor { return new PHPStan\Parser\ArrayFilterArgVisitor; } public function createService018(): PHPStan\Parser\VariadicMethodsVisitor { return new PHPStan\Parser\VariadicMethodsVisitor; } public function createService019(): PHPStan\Parser\DeclarePositionVisitor { return new PHPStan\Parser\DeclarePositionVisitor; } public function createService020(): PHPStan\Parser\ClosureBindToVarVisitor { return new PHPStan\Parser\ClosureBindToVarVisitor; } public function createService021(): PHPStan\Parser\ClosureBindArgVisitor { return new PHPStan\Parser\ClosureBindArgVisitor; } public function createService022(): PHPStan\Parser\TypeTraverserInstanceofVisitor { return new PHPStan\Parser\TypeTraverserInstanceofVisitor; } public function createService023(): PHPStan\Parser\ImmediatelyInvokedClosureVisitor { return new PHPStan\Parser\ImmediatelyInvokedClosureVisitor; } public function createService024(): PHPStan\Parser\MagicConstantParamDefaultVisitor { return new PHPStan\Parser\MagicConstantParamDefaultVisitor; } public function createService025(): PHPStan\Parser\TryCatchTypeVisitor { return new PHPStan\Parser\TryCatchTypeVisitor; } public function createService026(): PHPStan\Parser\ArrayMapArgVisitor { return new PHPStan\Parser\ArrayMapArgVisitor; } public function createService027(): PHPStan\Parser\LexerFactory { return new PHPStan\Parser\LexerFactory($this->getService('043')); } public function createService028(): PHPStan\Parser\StandaloneThrowExprVisitor { return new PHPStan\Parser\StandaloneThrowExprVisitor; } public function createService029(): PHPStan\Parser\CurlSetOptArgVisitor { return new PHPStan\Parser\CurlSetOptArgVisitor; } public function createService030(): PHPStan\Parser\ArrayFindArgVisitor { return new PHPStan\Parser\ArrayFindArgVisitor; } public function createService031(): PHPStan\Parser\ParentStmtTypesVisitor { return new PHPStan\Parser\ParentStmtTypesVisitor; } public function createService032(): PHPStan\Parser\ArrayWalkArgVisitor { return new PHPStan\Parser\ArrayWalkArgVisitor; } public function createService033(): PHPStan\Parser\AnonymousClassVisitor { return new PHPStan\Parser\AnonymousClassVisitor; } public function createService034(): PHPStan\Parser\VariadicFunctionsVisitor { return new PHPStan\Parser\VariadicFunctionsVisitor; } public function createService035(): PHPStan\Parser\ClosureArgVisitor { return new PHPStan\Parser\ClosureArgVisitor; } public function createService036(): PHPStan\Parser\ArrowFunctionArgVisitor { return new PHPStan\Parser\ArrowFunctionArgVisitor; } public function createService037(): PHPStan\Parser\LastConditionVisitor { return new PHPStan\Parser\LastConditionVisitor; } public function createService038(): PHPStan\Parser\NewAssignedToPropertyVisitor { return new PHPStan\Parser\NewAssignedToPropertyVisitor; } public function createService039(): PHPStan\Broker\AnonymousClassNameHelper { return new PHPStan\Broker\AnonymousClassNameHelper($this->getService('0333'), $this->getService('simpleRelativePathHelper')); } public function createService040(): PHPStan\Php\ComposerPhpVersionFactory { return new PHPStan\Php\ComposerPhpVersionFactory(['/home/michael/dev/michaelschiemer']); } public function createService041(): PHPStan\Php\PhpVersionFactoryFactory { return new PHPStan\Php\PhpVersionFactoryFactory(80400, ['/home/michael/dev/michaelschiemer']); } public function createService042(): PHPStan\Php\PhpVersionFactory { return $this->getService('041')->create(); } public function createService043(): PHPStan\Php\PhpVersion { return $this->getService('042')->create(); } public function createService044(): PHPStan\PhpDoc\PhpDocInheritanceResolver { return new PHPStan\PhpDoc\PhpDocInheritanceResolver($this->getService('0300'), $this->getService('stubPhpDocProvider')); } public function createService045(): PHPStan\PhpDoc\DefaultStubFilesProvider { return new PHPStan\PhpDoc\DefaultStubFilesProvider( $this->getService('0345'), [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionAttribute.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionClassConstant.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionFunctionAbstract.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionMethod.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionParameter.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionProperty.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/iterable.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ArrayObject.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/WeakReference.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ext-ds.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ImagickPixel.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/PDOStatement.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/date.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ibm_db2.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/mysqli.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/zip.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/dom.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/spl.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/SplObjectStorage.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/Exception.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/arrayFunctions.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/core.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/typeCheckingFunctions.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/Countable.stub', ], ['/home/michael/dev/michaelschiemer'] ); } public function createService046(): PHPStan\PhpDoc\PhpDocStringResolver { return new PHPStan\PhpDoc\PhpDocStringResolver($this->getService('0489'), $this->getService('0492')); } public function createService047(): PHPStan\PhpDoc\ConstExprNodeResolver { return new PHPStan\PhpDoc\ConstExprNodeResolver($this->getService('0306'), $this->getService('0301')); } public function createService048(): PHPStan\PhpDoc\PhpDocNodeResolver { return new PHPStan\PhpDoc\PhpDocNodeResolver($this->getService('050'), $this->getService('047'), $this->getService('076')); } public function createService049(): PHPStan\PhpDoc\ReflectionClassStubFilesExtension { return new PHPStan\PhpDoc\ReflectionClassStubFilesExtension($this->getService('043')); } public function createService050(): PHPStan\PhpDoc\TypeNodeResolver { return new PHPStan\PhpDoc\TypeNodeResolver( $this->getService('054'), $this->getService('0306'), $this->getService('0297'), $this->getService('012'), $this->getService('0301') ); } public function createService051(): PHPStan\PhpDoc\JsonValidateStubFilesExtension { return new PHPStan\PhpDoc\JsonValidateStubFilesExtension($this->getService('043')); } public function createService052(): PHPStan\PhpDoc\SocketSelectStubFilesExtension { return new PHPStan\PhpDoc\SocketSelectStubFilesExtension($this->getService('043')); } public function createService053(): PHPStan\PhpDoc\TypeStringResolver { return new PHPStan\PhpDoc\TypeStringResolver($this->getService('0489'), $this->getService('0490'), $this->getService('050')); } public function createService054(): PHPStan\PhpDoc\LazyTypeNodeResolverExtensionRegistryProvider { return new PHPStan\PhpDoc\LazyTypeNodeResolverExtensionRegistryProvider($this->getService('0345')); } public function createService055(): PHPStan\PhpDoc\ReflectionEnumStubFilesExtension { return new PHPStan\PhpDoc\ReflectionEnumStubFilesExtension($this->getService('043')); } public function createService056(): PHPStan\PhpDoc\StubValidator { return new PHPStan\PhpDoc\StubValidator($this->getService('0346')); } public function createService057(): PHPStan\Process\CpuCoreCounter { return new PHPStan\Process\CpuCoreCounter; } public function createService058(): PHPStan\Node\Printer\ExprPrinter { return new PHPStan\Node\Printer\ExprPrinter($this->getService('059')); } public function createService059(): PHPStan\Node\Printer\Printer { return new PHPStan\Node\Printer\Printer; } public function createService060(): PHPStan\Fixable\PhpDoc\PhpDocEditor { return new PHPStan\Fixable\PhpDoc\PhpDocEditor($this->getService('0493'), $this->getService('0489'), $this->getService('0492')); } public function createService061(): PHPStan\Fixable\Patcher { return new PHPStan\Fixable\Patcher; } public function createService062(): PHPStan\Rules\Pure\FunctionPurityCheck { return new PHPStan\Rules\Pure\FunctionPurityCheck; } public function createService063(): PHPStan\Rules\Classes\MixinCheck { return new PHPStan\Rules\Classes\MixinCheck( $this->getService('reflectionProvider'), $this->getService('088'), $this->getService('0121'), $this->getService('094'), $this->getService('076'), false, false, true ); } public function createService064(): PHPStan\Rules\Classes\PropertyTagCheck { return new PHPStan\Rules\Classes\PropertyTagCheck( $this->getService('reflectionProvider'), $this->getService('088'), $this->getService('0121'), $this->getService('094'), $this->getService('076'), false, false, true ); } public function createService065(): PHPStan\Rules\Classes\LocalTypeAliasesCheck { return new PHPStan\Rules\Classes\LocalTypeAliasesCheck( [ 'AnalyticsData' => 'array', 'MetricsData' => 'array', 'BreakdownData' => 'array', ], $this->getService('reflectionProvider'), $this->getService('050'), $this->getService('094'), $this->getService('088'), $this->getService('076'), $this->getService('0121'), false, false, true ); } public function createService066(): PHPStan\Rules\Classes\MethodTagCheck { return new PHPStan\Rules\Classes\MethodTagCheck( $this->getService('reflectionProvider'), $this->getService('088'), $this->getService('0121'), $this->getService('094'), $this->getService('076'), false, false, true ); } public function createService067(): PHPStan\Rules\AttributesCheck { return new PHPStan\Rules\AttributesCheck( $this->getService('reflectionProvider'), $this->getService('074'), $this->getService('088'), false ); } public function createService068(): PHPStan\Rules\UnusedFunctionParametersCheck { return new PHPStan\Rules\UnusedFunctionParametersCheck($this->getService('reflectionProvider'), false); } public function createService069(): PHPStan\Rules\FunctionDefinitionCheck { return new PHPStan\Rules\FunctionDefinitionCheck( $this->getService('reflectionProvider'), $this->getService('088'), $this->getService('076'), $this->getService('043'), false, true ); } public function createService070(): PHPStan\Rules\Properties\PropertyDescriptor { return new PHPStan\Rules\Properties\PropertyDescriptor; } public function createService071(): PHPStan\Rules\Properties\PropertyReflectionFinder { return new PHPStan\Rules\Properties\PropertyReflectionFinder; } public function createService072(): PHPStan\Rules\Properties\LazyReadWritePropertiesExtensionProvider { return new PHPStan\Rules\Properties\LazyReadWritePropertiesExtensionProvider($this->getService('0345')); } public function createService073(): PHPStan\Rules\Properties\AccessPropertiesCheck { return new PHPStan\Rules\Properties\AccessPropertiesCheck( $this->getService('reflectionProvider'), $this->getService('098'), $this->getService('043'), true, false, false ); } public function createService074(): PHPStan\Rules\FunctionCallParametersCheck { return new PHPStan\Rules\FunctionCallParametersCheck( $this->getService('098'), $this->getService('087'), $this->getService('076'), $this->getService('071'), false, false, true, false ); } public function createService075(): PHPStan\Rules\FunctionReturnTypeCheck { return new PHPStan\Rules\FunctionReturnTypeCheck($this->getService('098')); } public function createService076(): PHPStan\Rules\PhpDoc\UnresolvableTypeHelper { return new PHPStan\Rules\PhpDoc\UnresolvableTypeHelper; } public function createService077(): PHPStan\Rules\PhpDoc\ConditionalReturnTypeRuleHelper { return new PHPStan\Rules\PhpDoc\ConditionalReturnTypeRuleHelper; } public function createService078(): PHPStan\Rules\PhpDoc\AssertRuleHelper { return new PHPStan\Rules\PhpDoc\AssertRuleHelper( $this->getService('0301'), $this->getService('reflectionProvider'), $this->getService('076'), $this->getService('088'), $this->getService('094'), $this->getService('0121'), false, false ); } public function createService079(): PHPStan\Rules\PhpDoc\RequireExtendsCheck { return new PHPStan\Rules\PhpDoc\RequireExtendsCheck($this->getService('088'), false, true); } public function createService080(): PHPStan\Rules\PhpDoc\GenericCallableRuleHelper { return new PHPStan\Rules\PhpDoc\GenericCallableRuleHelper($this->getService('0123')); } public function createService081(): PHPStan\Rules\PhpDoc\IncompatiblePhpDocTypeCheck { return new PHPStan\Rules\PhpDoc\IncompatiblePhpDocTypeCheck( $this->getService('0121'), $this->getService('076'), $this->getService('080') ); } public function createService082(): PHPStan\Rules\PhpDoc\VarTagTypeRuleHelper { return new PHPStan\Rules\PhpDoc\VarTagTypeRuleHelper( $this->getService('050'), $this->getService('0300'), $this->getService('reflectionProvider'), false, false ); } public function createService083(): PHPStan\Rules\Playground\NeverRuleHelper { return new PHPStan\Rules\Playground\NeverRuleHelper; } public function createService084(): PHPStan\Rules\ParameterCastableToStringCheck { return new PHPStan\Rules\ParameterCastableToStringCheck($this->getService('098')); } public function createService085(): PHPStan\Rules\Arrays\NonexistentOffsetInArrayDimFetchCheck { return new PHPStan\Rules\Arrays\NonexistentOffsetInArrayDimFetchCheck($this->getService('098'), false, false, false); } public function createService086(): PHPStan\Rules\ClassCaseSensitivityCheck { return new PHPStan\Rules\ClassCaseSensitivityCheck($this->getService('reflectionProvider'), false); } public function createService087(): PHPStan\Rules\NullsafeCheck { return new PHPStan\Rules\NullsafeCheck; } public function createService088(): PHPStan\Rules\ClassNameCheck { return new PHPStan\Rules\ClassNameCheck( $this->getService('086'), $this->getService('0105'), $this->getService('reflectionProvider'), $this->getService('0345') ); } public function createService089(): PHPStan\Rules\IssetCheck { return new PHPStan\Rules\IssetCheck($this->getService('070'), $this->getService('071'), false, true); } public function createService090(): PHPStan\Rules\Api\ApiRuleHelper { return new PHPStan\Rules\Api\ApiRuleHelper; } public function createService091(): PHPStan\Rules\Exceptions\MissingCheckedExceptionInThrowsCheck { return new PHPStan\Rules\Exceptions\MissingCheckedExceptionInThrowsCheck($this->getService('exceptionTypeResolver')); } public function createService092(): PHPStan\Rules\Exceptions\TooWideThrowTypeCheck { return new PHPStan\Rules\Exceptions\TooWideThrowTypeCheck(true); } public function createService093(): PHPStan\Rules\InternalTag\RestrictedInternalUsageHelper { return new PHPStan\Rules\InternalTag\RestrictedInternalUsageHelper; } public function createService094(): PHPStan\Rules\MissingTypehintCheck { return new PHPStan\Rules\MissingTypehintCheck(false, []); } public function createService095(): PHPStan\Rules\Constants\LazyAlwaysUsedClassConstantsExtensionProvider { return new PHPStan\Rules\Constants\LazyAlwaysUsedClassConstantsExtensionProvider($this->getService('0345')); } public function createService096(): PHPStan\Rules\TooWideTypehints\TooWideParameterOutTypeCheck { return new PHPStan\Rules\TooWideTypehints\TooWideParameterOutTypeCheck; } public function createService097(): PHPStan\Rules\Functions\PrintfHelper { return new PHPStan\Rules\Functions\PrintfHelper($this->getService('043')); } public function createService098(): PHPStan\Rules\RuleLevelHelper { return new PHPStan\Rules\RuleLevelHelper($this->getService('reflectionProvider'), false, true, false, false, false, false, true); } public function createService099(): PHPStan\Rules\Methods\MethodCallCheck { return new PHPStan\Rules\Methods\MethodCallCheck($this->getService('reflectionProvider'), $this->getService('098'), false, true); } public function createService0100(): PHPStan\Rules\Methods\LazyAlwaysUsedMethodExtensionProvider { return new PHPStan\Rules\Methods\LazyAlwaysUsedMethodExtensionProvider($this->getService('0345')); } public function createService0101(): PHPStan\Rules\Methods\MethodVisibilityComparisonHelper { return new PHPStan\Rules\Methods\MethodVisibilityComparisonHelper; } public function createService0102(): PHPStan\Rules\Methods\MethodPrototypeFinder { return new PHPStan\Rules\Methods\MethodPrototypeFinder($this->getService('043'), $this->getService('0498')); } public function createService0103(): PHPStan\Rules\Methods\MethodParameterComparisonHelper { return new PHPStan\Rules\Methods\MethodParameterComparisonHelper($this->getService('043')); } public function createService0104(): PHPStan\Rules\Methods\StaticMethodCallCheck { return new PHPStan\Rules\Methods\StaticMethodCallCheck( $this->getService('reflectionProvider'), $this->getService('098'), $this->getService('088'), false, true, true ); } public function createService0105(): PHPStan\Rules\ClassForbiddenNameCheck { return new PHPStan\Rules\ClassForbiddenNameCheck($this->getService('0345')); } public function createService0106(): PHPStan\Rules\Comparison\ConstantConditionRuleHelper { return new PHPStan\Rules\Comparison\ConstantConditionRuleHelper($this->getService('0107'), true); } public function createService0107(): PHPStan\Rules\Comparison\ImpossibleCheckTypeHelper { return new PHPStan\Rules\Comparison\ImpossibleCheckTypeHelper( $this->getService('reflectionProvider'), $this->getService('typeSpecifier'), ['stdClass', 'App\Framework\DI\Container'], true ); } public function createService0108(): PHPStan\Rules\RestrictedUsage\RestrictedStaticMethodCallableUsageRule { return new PHPStan\Rules\RestrictedUsage\RestrictedStaticMethodCallableUsageRule( $this->getService('0345'), $this->getService('reflectionProvider'), $this->getService('098') ); } public function createService0109(): PHPStan\Rules\RestrictedUsage\RestrictedStaticMethodUsageRule { return new PHPStan\Rules\RestrictedUsage\RestrictedStaticMethodUsageRule( $this->getService('0345'), $this->getService('reflectionProvider'), $this->getService('098') ); } public function createService0110(): PHPStan\Rules\RestrictedUsage\RestrictedMethodCallableUsageRule { return new PHPStan\Rules\RestrictedUsage\RestrictedMethodCallableUsageRule( $this->getService('0345'), $this->getService('reflectionProvider') ); } public function createService0111(): PHPStan\Rules\RestrictedUsage\RestrictedFunctionCallableUsageRule { return new PHPStan\Rules\RestrictedUsage\RestrictedFunctionCallableUsageRule( $this->getService('0345'), $this->getService('reflectionProvider') ); } public function createService0112(): PHPStan\Rules\RestrictedUsage\RestrictedPropertyUsageRule { return new PHPStan\Rules\RestrictedUsage\RestrictedPropertyUsageRule( $this->getService('0345'), $this->getService('reflectionProvider') ); } public function createService0113(): PHPStan\Rules\RestrictedUsage\RestrictedUsageOfDeprecatedStringCastRule { return new PHPStan\Rules\RestrictedUsage\RestrictedUsageOfDeprecatedStringCastRule( $this->getService('0345'), $this->getService('reflectionProvider') ); } public function createService0114(): PHPStan\Rules\RestrictedUsage\RestrictedStaticPropertyUsageRule { return new PHPStan\Rules\RestrictedUsage\RestrictedStaticPropertyUsageRule( $this->getService('0345'), $this->getService('reflectionProvider'), $this->getService('098') ); } public function createService0115(): PHPStan\Rules\RestrictedUsage\RestrictedMethodUsageRule { return new PHPStan\Rules\RestrictedUsage\RestrictedMethodUsageRule( $this->getService('0345'), $this->getService('reflectionProvider') ); } public function createService0116(): PHPStan\Rules\RestrictedUsage\RestrictedFunctionUsageRule { return new PHPStan\Rules\RestrictedUsage\RestrictedFunctionUsageRule( $this->getService('0345'), $this->getService('reflectionProvider') ); } public function createService0117(): PHPStan\Rules\RestrictedUsage\RestrictedClassConstantUsageRule { return new PHPStan\Rules\RestrictedUsage\RestrictedClassConstantUsageRule( $this->getService('0345'), $this->getService('reflectionProvider'), $this->getService('098') ); } public function createService0118(): PHPStan\Rules\Generics\GenericAncestorsCheck { return new PHPStan\Rules\Generics\GenericAncestorsCheck( $this->getService('reflectionProvider'), $this->getService('0121'), $this->getService('0120'), $this->getService('076'), [], false ); } public function createService0119(): PHPStan\Rules\Generics\CrossCheckInterfacesHelper { return new PHPStan\Rules\Generics\CrossCheckInterfacesHelper; } public function createService0120(): PHPStan\Rules\Generics\VarianceCheck { return new PHPStan\Rules\Generics\VarianceCheck; } public function createService0121(): PHPStan\Rules\Generics\GenericObjectTypeCheck { return new PHPStan\Rules\Generics\GenericObjectTypeCheck; } public function createService0122(): PHPStan\Rules\Generics\MethodTagTemplateTypeCheck { return new PHPStan\Rules\Generics\MethodTagTemplateTypeCheck($this->getService('0300'), $this->getService('0123')); } public function createService0123(): PHPStan\Rules\Generics\TemplateTypeCheck { return new PHPStan\Rules\Generics\TemplateTypeCheck( $this->getService('reflectionProvider'), $this->getService('088'), $this->getService('0121'), $this->getService('0299'), false ); } public function createService0124(): PHPStan\Rules\Debug\DebugScopeRule { return new PHPStan\Rules\Debug\DebugScopeRule($this->getService('reflectionProvider')); } public function createService0125(): PHPStan\Rules\Debug\DumpTypeRule { return new PHPStan\Rules\Debug\DumpTypeRule($this->getService('reflectionProvider')); } public function createService0126(): PHPStan\Rules\Debug\FileAssertRule { return new PHPStan\Rules\Debug\FileAssertRule($this->getService('reflectionProvider'), $this->getService('053')); } public function createService0127(): PHPStan\Rules\Debug\DumpPhpDocTypeRule { return new PHPStan\Rules\Debug\DumpPhpDocTypeRule($this->getService('reflectionProvider'), $this->getService('0493')); } public function createService0128(): PHPStan\Type\BitwiseFlagHelper { return new PHPStan\Type\BitwiseFlagHelper($this->getService('reflectionProvider')); } public function createService0129(): PHPStan\Type\PHPStan\ClassNameUsageLocationCreateIdentifierDynamicReturnTypeExtension { return new PHPStan\Type\PHPStan\ClassNameUsageLocationCreateIdentifierDynamicReturnTypeExtension; } public function createService0130(): PHPStan\Type\Php\StrlenFunctionReturnTypeExtension { return new PHPStan\Type\Php\StrlenFunctionReturnTypeExtension; } public function createService0131(): PHPStan\Type\Php\CountCharsFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\CountCharsFunctionDynamicReturnTypeExtension($this->getService('043')); } public function createService0132(): PHPStan\Type\Php\FilterInputDynamicReturnTypeExtension { return new PHPStan\Type\Php\FilterInputDynamicReturnTypeExtension($this->getService('0260')); } public function createService0133(): PHPStan\Type\Php\ArrayKeyDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayKeyDynamicReturnTypeExtension; } public function createService0134(): PHPStan\Type\Php\ArraySumFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArraySumFunctionDynamicReturnTypeExtension; } public function createService0135(): PHPStan\Type\Php\ClosureBindToDynamicReturnTypeExtension { return new PHPStan\Type\Php\ClosureBindToDynamicReturnTypeExtension; } public function createService0136(): PHPStan\Type\Php\SimpleXMLElementConstructorThrowTypeExtension { return new PHPStan\Type\Php\SimpleXMLElementConstructorThrowTypeExtension; } public function createService0137(): PHPStan\Type\Php\DatePeriodConstructorReturnTypeExtension { return new PHPStan\Type\Php\DatePeriodConstructorReturnTypeExtension; } public function createService0138(): PHPStan\Type\Php\Base64DecodeDynamicFunctionReturnTypeExtension { return new PHPStan\Type\Php\Base64DecodeDynamicFunctionReturnTypeExtension; } public function createService0139(): PHPStan\Type\Php\DsMapDynamicReturnTypeExtension { return new PHPStan\Type\Php\DsMapDynamicReturnTypeExtension; } public function createService0140(): PHPStan\Type\Php\AssertThrowTypeExtension { return new PHPStan\Type\Php\AssertThrowTypeExtension; } public function createService0141(): PHPStan\Type\Php\CtypeDigitFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\CtypeDigitFunctionTypeSpecifyingExtension; } public function createService0142(): PHPStan\Type\Php\ArrayRandFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayRandFunctionReturnTypeExtension; } public function createService0143(): PHPStan\Type\Php\ArrayReplaceFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayReplaceFunctionReturnTypeExtension; } public function createService0144(): PHPStan\Type\Php\StreamGetContentsFunctionReturnTypeExtension { return new PHPStan\Type\Php\StreamGetContentsFunctionReturnTypeExtension; } public function createService0145(): PHPStan\Type\Php\DateTimeModifyMethodThrowTypeExtension { return new PHPStan\Type\Php\DateTimeModifyMethodThrowTypeExtension($this->getService('043')); } public function createService0146(): PHPStan\Type\Php\StrSplitFunctionReturnTypeExtension { return new PHPStan\Type\Php\StrSplitFunctionReturnTypeExtension($this->getService('043')); } public function createService0147(): PHPStan\Type\Php\IniGetReturnTypeExtension { return new PHPStan\Type\Php\IniGetReturnTypeExtension; } public function createService0148(): PHPStan\Type\Php\ClassImplementsFunctionReturnTypeExtension { return new PHPStan\Type\Php\ClassImplementsFunctionReturnTypeExtension; } public function createService0149(): PHPStan\Type\Php\ArrayFillFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayFillFunctionReturnTypeExtension($this->getService('043')); } public function createService0150(): PHPStan\Type\Php\ArraySearchFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\ArraySearchFunctionTypeSpecifyingExtension; } public function createService0151(): PHPStan\Type\Php\GetCalledClassDynamicReturnTypeExtension { return new PHPStan\Type\Php\GetCalledClassDynamicReturnTypeExtension; } public function createService0152(): PHPStan\Type\Php\SetTypeFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\SetTypeFunctionTypeSpecifyingExtension; } public function createService0153(): PHPStan\Type\Php\RandomIntFunctionReturnTypeExtension { return new PHPStan\Type\Php\RandomIntFunctionReturnTypeExtension; } public function createService0154(): PHPStan\Type\Php\JsonThrowOnErrorDynamicReturnTypeExtension { return new PHPStan\Type\Php\JsonThrowOnErrorDynamicReturnTypeExtension( $this->getService('reflectionProvider'), $this->getService('0128') ); } public function createService0155(): PHPStan\Type\Php\GetDefinedVarsFunctionReturnTypeExtension { return new PHPStan\Type\Php\GetDefinedVarsFunctionReturnTypeExtension; } public function createService0156(): PHPStan\Type\Php\ArrayFindFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayFindFunctionReturnTypeExtension($this->getService('0191')); } public function createService0157(): PHPStan\Type\Php\HashFunctionsReturnTypeExtension { return new PHPStan\Type\Php\HashFunctionsReturnTypeExtension($this->getService('043')); } public function createService0158(): PHPStan\Type\Php\TypeSpecifyingFunctionsDynamicReturnTypeExtension { return new PHPStan\Type\Php\TypeSpecifyingFunctionsDynamicReturnTypeExtension( $this->getService('reflectionProvider'), true, ['stdClass', 'App\Framework\DI\Container'] ); } public function createService0159(): PHPStan\Type\Php\DateIntervalDynamicReturnTypeExtension { return new PHPStan\Type\Php\DateIntervalDynamicReturnTypeExtension; } public function createService0160(): PHPStan\Type\Php\ArrayFilterFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayFilterFunctionReturnTypeExtension($this->getService('0191')); } public function createService0161(): PHPStan\Type\Php\StrCaseFunctionsReturnTypeExtension { return new PHPStan\Type\Php\StrCaseFunctionsReturnTypeExtension; } public function createService0162(): PHPStan\Type\Php\IsArrayFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\IsArrayFunctionTypeSpecifyingExtension; } public function createService0163(): PHPStan\Type\Php\CompactFunctionReturnTypeExtension { return new PHPStan\Type\Php\CompactFunctionReturnTypeExtension(true); } public function createService0164(): PHPStan\Type\Php\ArrayValuesFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayValuesFunctionDynamicReturnTypeExtension($this->getService('043')); } public function createService0165(): PHPStan\Type\Php\GetParentClassDynamicFunctionReturnTypeExtension { return new PHPStan\Type\Php\GetParentClassDynamicFunctionReturnTypeExtension($this->getService('reflectionProvider')); } public function createService0166(): PHPStan\Type\Php\HighlightStringDynamicReturnTypeExtension { return new PHPStan\Type\Php\HighlightStringDynamicReturnTypeExtension($this->getService('043')); } public function createService0167(): PHPStan\Type\Php\SimpleXMLElementAsXMLMethodReturnTypeExtension { return new PHPStan\Type\Php\SimpleXMLElementAsXMLMethodReturnTypeExtension; } public function createService0168(): PHPStan\Type\Php\RangeFunctionReturnTypeExtension { return new PHPStan\Type\Php\RangeFunctionReturnTypeExtension; } public function createService0169(): PHPStan\Type\Php\PowFunctionReturnTypeExtension { return new PHPStan\Type\Php\PowFunctionReturnTypeExtension; } public function createService0170(): PHPStan\Type\Php\StrRepeatFunctionReturnTypeExtension { return new PHPStan\Type\Php\StrRepeatFunctionReturnTypeExtension; } public function createService0171(): PHPStan\Type\Php\DateFormatFunctionReturnTypeExtension { return new PHPStan\Type\Php\DateFormatFunctionReturnTypeExtension($this->getService('0174')); } public function createService0172(): PHPStan\Type\Php\DateTimeSubMethodThrowTypeExtension { return new PHPStan\Type\Php\DateTimeSubMethodThrowTypeExtension($this->getService('043')); } public function createService0173(): PHPStan\Type\Php\ArrayKeyLastDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayKeyLastDynamicReturnTypeExtension; } public function createService0174(): PHPStan\Type\Php\DateFunctionReturnTypeHelper { return new PHPStan\Type\Php\DateFunctionReturnTypeHelper; } public function createService0175(): PHPStan\Type\Php\ArrayKeyFirstDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayKeyFirstDynamicReturnTypeExtension; } public function createService0176(): PHPStan\Type\Php\PregReplaceCallbackClosureTypeExtension { return new PHPStan\Type\Php\PregReplaceCallbackClosureTypeExtension($this->getService('0266')); } public function createService0177(): PHPStan\Type\Php\StrtotimeFunctionReturnTypeExtension { return new PHPStan\Type\Php\StrtotimeFunctionReturnTypeExtension; } public function createService0178(): PHPStan\Type\Php\ThrowableReturnTypeExtension { return new PHPStan\Type\Php\ThrowableReturnTypeExtension; } public function createService0179(): PHPStan\Type\Php\SimpleXMLElementClassPropertyReflectionExtension { return new PHPStan\Type\Php\SimpleXMLElementClassPropertyReflectionExtension; } public function createService0180(): PHPStan\Type\Php\ArrayIntersectKeyFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayIntersectKeyFunctionReturnTypeExtension($this->getService('043')); } public function createService0181(): PHPStan\Type\Php\StrrevFunctionReturnTypeExtension { return new PHPStan\Type\Php\StrrevFunctionReturnTypeExtension; } public function createService0182(): PHPStan\Type\Php\AbsFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\AbsFunctionDynamicReturnTypeExtension; } public function createService0183(): PHPStan\Type\Php\GetClassDynamicReturnTypeExtension { return new PHPStan\Type\Php\GetClassDynamicReturnTypeExtension; } public function createService0184(): PHPStan\Type\Php\PropertyExistsTypeSpecifyingExtension { return new PHPStan\Type\Php\PropertyExistsTypeSpecifyingExtension($this->getService('071')); } public function createService0185(): PHPStan\Type\Php\StrvalFamilyFunctionReturnTypeExtension { return new PHPStan\Type\Php\StrvalFamilyFunctionReturnTypeExtension; } public function createService0186(): PHPStan\Type\Php\RoundFunctionReturnTypeExtension { return new PHPStan\Type\Php\RoundFunctionReturnTypeExtension($this->getService('043')); } public function createService0187(): PHPStan\Type\Php\VersionCompareFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\VersionCompareFunctionDynamicReturnTypeExtension(80400, $this->getService('040')); } public function createService0188(): PHPStan\Type\Php\ExplodeFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\ExplodeFunctionDynamicReturnTypeExtension($this->getService('043')); } public function createService0189(): PHPStan\Type\Php\ArrayPointerFunctionsDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayPointerFunctionsDynamicReturnTypeExtension; } public function createService0190(): PHPStan\Type\Php\ClosureFromCallableDynamicReturnTypeExtension { return new PHPStan\Type\Php\ClosureFromCallableDynamicReturnTypeExtension; } public function createService0191(): PHPStan\Type\Php\ArrayFilterFunctionReturnTypeHelper { return new PHPStan\Type\Php\ArrayFilterFunctionReturnTypeHelper($this->getService('reflectionProvider')); } public function createService0192(): PHPStan\Type\Php\PregFilterFunctionReturnTypeExtension { return new PHPStan\Type\Php\PregFilterFunctionReturnTypeExtension; } public function createService0193(): PHPStan\Type\Php\PathinfoFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\PathinfoFunctionDynamicReturnTypeExtension($this->getService('reflectionProvider')); } public function createService0194(): PHPStan\Type\Php\InArrayFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\InArrayFunctionTypeSpecifyingExtension; } public function createService0195(): PHPStan\Type\Php\PregMatchTypeSpecifyingExtension { return new PHPStan\Type\Php\PregMatchTypeSpecifyingExtension($this->getService('0266')); } public function createService0196(): PHPStan\Type\Php\ArrayPopFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayPopFunctionReturnTypeExtension; } public function createService0197(): PHPStan\Type\Php\CurlGetinfoFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\CurlGetinfoFunctionDynamicReturnTypeExtension($this->getService('reflectionProvider')); } public function createService0198(): PHPStan\Type\Php\StrPadFunctionReturnTypeExtension { return new PHPStan\Type\Php\StrPadFunctionReturnTypeExtension; } public function createService0199(): PHPStan\Type\Php\StrContainingTypeSpecifyingExtension { return new PHPStan\Type\Php\StrContainingTypeSpecifyingExtension; } public function createService0200(): PHPStan\Type\Php\NonEmptyStringFunctionsReturnTypeExtension { return new PHPStan\Type\Php\NonEmptyStringFunctionsReturnTypeExtension; } public function createService0201(): PHPStan\Type\Php\MbStrlenFunctionReturnTypeExtension { return new PHPStan\Type\Php\MbStrlenFunctionReturnTypeExtension($this->getService('043')); } public function createService0202(): PHPStan\Type\Php\SprintfFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\SprintfFunctionDynamicReturnTypeExtension; } public function createService0203(): PHPStan\Type\Php\ClassExistsFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\ClassExistsFunctionTypeSpecifyingExtension; } public function createService0204(): PHPStan\Type\Php\NumberFormatFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\NumberFormatFunctionDynamicReturnTypeExtension; } public function createService0205(): PHPStan\Type\Php\ArrayMergeFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayMergeFunctionDynamicReturnTypeExtension; } public function createService0206(): PHPStan\Type\Php\FilterVarDynamicReturnTypeExtension { return new PHPStan\Type\Php\FilterVarDynamicReturnTypeExtension($this->getService('0260')); } public function createService0207(): PHPStan\Type\Php\ReplaceFunctionsDynamicReturnTypeExtension { return new PHPStan\Type\Php\ReplaceFunctionsDynamicReturnTypeExtension; } public function createService0208(): PHPStan\Type\Php\XMLReaderOpenReturnTypeExtension { return new PHPStan\Type\Php\XMLReaderOpenReturnTypeExtension; } public function createService0209(): PHPStan\Type\Php\TrimFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\TrimFunctionDynamicReturnTypeExtension; } public function createService0210(): PHPStan\Type\Php\CountFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\CountFunctionTypeSpecifyingExtension; } public function createService0211(): PHPStan\Type\Php\PDOConnectReturnTypeExtension { return new PHPStan\Type\Php\PDOConnectReturnTypeExtension($this->getService('043')); } public function createService0212(): PHPStan\Type\Php\MbConvertEncodingFunctionReturnTypeExtension { return new PHPStan\Type\Php\MbConvertEncodingFunctionReturnTypeExtension($this->getService('043')); } public function createService0213(): PHPStan\Type\Php\ArrayReverseFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayReverseFunctionReturnTypeExtension($this->getService('043')); } public function createService0214(): PHPStan\Type\Php\PregSplitDynamicReturnTypeExtension { return new PHPStan\Type\Php\PregSplitDynamicReturnTypeExtension($this->getService('0128')); } public function createService0215(): PHPStan\Type\Php\ClosureBindDynamicReturnTypeExtension { return new PHPStan\Type\Php\ClosureBindDynamicReturnTypeExtension; } public function createService0216(): PHPStan\Type\Php\IteratorToArrayFunctionReturnTypeExtension { return new PHPStan\Type\Php\IteratorToArrayFunctionReturnTypeExtension; } public function createService0217(): PHPStan\Type\Php\ConstantFunctionReturnTypeExtension { return new PHPStan\Type\Php\ConstantFunctionReturnTypeExtension($this->getService('0272')); } public function createService0218(): PHPStan\Type\Php\HrtimeFunctionReturnTypeExtension { return new PHPStan\Type\Php\HrtimeFunctionReturnTypeExtension; } public function createService0219(): PHPStan\Type\Php\ArraySearchFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArraySearchFunctionDynamicReturnTypeExtension($this->getService('043')); } public function createService0220(): PHPStan\Type\Php\PregMatchParameterOutTypeExtension { return new PHPStan\Type\Php\PregMatchParameterOutTypeExtension($this->getService('0266')); } public function createService0221(): PHPStan\Type\Php\BcMathStringOrNullReturnTypeExtension { return new PHPStan\Type\Php\BcMathStringOrNullReturnTypeExtension($this->getService('043')); } public function createService0222(): PHPStan\Type\Php\StatDynamicReturnTypeExtension { return new PHPStan\Type\Php\StatDynamicReturnTypeExtension; } public function createService0223(): PHPStan\Type\Php\CountFunctionReturnTypeExtension { return new PHPStan\Type\Php\CountFunctionReturnTypeExtension; } public function createService0224(): PHPStan\Type\Php\IntdivThrowTypeExtension { return new PHPStan\Type\Php\IntdivThrowTypeExtension; } public function createService0225(): PHPStan\Type\Php\ArrayColumnHelper { return new PHPStan\Type\Php\ArrayColumnHelper($this->getService('043')); } public function createService0226(): PHPStan\Type\Php\ReflectionFunctionConstructorThrowTypeExtension { return new PHPStan\Type\Php\ReflectionFunctionConstructorThrowTypeExtension($this->getService('reflectionProvider')); } public function createService0227(): PHPStan\Type\Php\ArgumentBasedFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArgumentBasedFunctionReturnTypeExtension; } public function createService0228(): PHPStan\Type\Php\StrIncrementDecrementFunctionReturnTypeExtension { return new PHPStan\Type\Php\StrIncrementDecrementFunctionReturnTypeExtension; } public function createService0229(): PHPStan\Type\Php\MbSubstituteCharacterDynamicReturnTypeExtension { return new PHPStan\Type\Php\MbSubstituteCharacterDynamicReturnTypeExtension($this->getService('043')); } public function createService0230(): PHPStan\Type\Php\FilterVarArrayDynamicReturnTypeExtension { return new PHPStan\Type\Php\FilterVarArrayDynamicReturnTypeExtension( $this->getService('0260'), $this->getService('reflectionProvider') ); } public function createService0231(): PHPStan\Type\Php\DsMapDynamicMethodThrowTypeExtension { return new PHPStan\Type\Php\DsMapDynamicMethodThrowTypeExtension; } public function createService0232(): PHPStan\Type\Php\SubstrDynamicReturnTypeExtension { return new PHPStan\Type\Php\SubstrDynamicReturnTypeExtension($this->getService('043')); } public function createService0233(): PHPStan\Type\Php\ArrayKeyExistsFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\ArrayKeyExistsFunctionTypeSpecifyingExtension; } public function createService0234(): PHPStan\Type\Php\ArrayPadDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayPadDynamicReturnTypeExtension; } public function createService0235(): PHPStan\Type\Php\ArrayReduceFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayReduceFunctionReturnTypeExtension; } public function createService0236(): PHPStan\Type\Php\BackedEnumFromMethodDynamicReturnTypeExtension { return new PHPStan\Type\Php\BackedEnumFromMethodDynamicReturnTypeExtension; } public function createService0237(): PHPStan\Type\Php\ArrayFlipFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayFlipFunctionReturnTypeExtension($this->getService('043')); } public function createService0238(): PHPStan\Type\Php\ParseStrParameterOutTypeExtension { return new PHPStan\Type\Php\ParseStrParameterOutTypeExtension; } public function createService0239(): PHPStan\Type\Php\IsIterableFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\IsIterableFunctionTypeSpecifyingExtension; } public function createService0240(): PHPStan\Type\Php\ArrayChangeKeyCaseFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayChangeKeyCaseFunctionReturnTypeExtension; } public function createService0241(): PHPStan\Type\Php\ReflectionClassConstructorThrowTypeExtension { return new PHPStan\Type\Php\ReflectionClassConstructorThrowTypeExtension; } public function createService0242(): PHPStan\Type\Php\FunctionExistsFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\FunctionExistsFunctionTypeSpecifyingExtension; } public function createService0243(): PHPStan\Type\Php\ImplodeFunctionReturnTypeExtension { return new PHPStan\Type\Php\ImplodeFunctionReturnTypeExtension; } public function createService0244(): PHPStan\Type\Php\StrTokFunctionReturnTypeExtension { return new PHPStan\Type\Php\StrTokFunctionReturnTypeExtension; } public function createService0245(): PHPStan\Type\Php\DateTimeConstructorThrowTypeExtension { return new PHPStan\Type\Php\DateTimeConstructorThrowTypeExtension($this->getService('043')); } public function createService0246(): PHPStan\Type\Php\TriggerErrorDynamicReturnTypeExtension { return new PHPStan\Type\Php\TriggerErrorDynamicReturnTypeExtension($this->getService('043')); } public function createService0247(): PHPStan\Type\Php\MbFunctionsReturnTypeExtension { return new PHPStan\Type\Php\MbFunctionsReturnTypeExtension($this->getService('043')); } public function createService0248(): PHPStan\Type\Php\ReflectionClassIsSubclassOfTypeSpecifyingExtension { return new PHPStan\Type\Php\ReflectionClassIsSubclassOfTypeSpecifyingExtension; } public function createService0249(): PHPStan\Type\Php\AssertFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\AssertFunctionTypeSpecifyingExtension; } public function createService0250(): PHPStan\Type\Php\GettimeofdayDynamicFunctionReturnTypeExtension { return new PHPStan\Type\Php\GettimeofdayDynamicFunctionReturnTypeExtension; } public function createService0251(): PHPStan\Type\Php\ArrayFillKeysFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayFillKeysFunctionReturnTypeExtension($this->getService('043')); } public function createService0252(): PHPStan\Type\Php\DioStatDynamicFunctionReturnTypeExtension { return new PHPStan\Type\Php\DioStatDynamicFunctionReturnTypeExtension; } public function createService0253(): PHPStan\Type\Php\ArrayFindKeyFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayFindKeyFunctionReturnTypeExtension; } public function createService0254(): PHPStan\Type\Php\StrWordCountFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\StrWordCountFunctionDynamicReturnTypeExtension; } public function createService0255(): PHPStan\Type\Php\GettypeFunctionReturnTypeExtension { return new PHPStan\Type\Php\GettypeFunctionReturnTypeExtension; } public function createService0256(): PHPStan\Type\Php\ArrayNextDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayNextDynamicReturnTypeExtension; } public function createService0257(): PHPStan\Type\Php\OpenSslEncryptParameterOutTypeExtension { return new PHPStan\Type\Php\OpenSslEncryptParameterOutTypeExtension; } public function createService0258(): PHPStan\Type\Php\DateIntervalConstructorThrowTypeExtension { return new PHPStan\Type\Php\DateIntervalConstructorThrowTypeExtension($this->getService('043')); } public function createService0259(): PHPStan\Type\Php\MinMaxFunctionReturnTypeExtension { return new PHPStan\Type\Php\MinMaxFunctionReturnTypeExtension($this->getService('043')); } public function createService0260(): PHPStan\Type\Php\FilterFunctionReturnTypeHelper { return new PHPStan\Type\Php\FilterFunctionReturnTypeHelper($this->getService('reflectionProvider'), $this->getService('043')); } public function createService0261(): PHPStan\Type\Php\DefinedConstantTypeSpecifyingExtension { return new PHPStan\Type\Php\DefinedConstantTypeSpecifyingExtension($this->getService('0272')); } public function createService0262(): PHPStan\Type\Php\BcMathNumberOperatorTypeSpecifyingExtension { return new PHPStan\Type\Php\BcMathNumberOperatorTypeSpecifyingExtension($this->getService('043')); } public function createService0263(): PHPStan\Type\Php\ArrayShiftFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayShiftFunctionReturnTypeExtension; } public function createService0264(): PHPStan\Type\Php\SscanfFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\SscanfFunctionDynamicReturnTypeExtension; } public function createService0265(): PHPStan\Type\Php\GetDebugTypeFunctionReturnTypeExtension { return new PHPStan\Type\Php\GetDebugTypeFunctionReturnTypeExtension; } public function createService0266(): PHPStan\Type\Php\RegexArrayShapeMatcher { return new PHPStan\Type\Php\RegexArrayShapeMatcher( $this->getService('0296'), $this->getService('0295'), $this->getService('043') ); } public function createService0267(): PHPStan\Type\Php\MethodExistsTypeSpecifyingExtension { return new PHPStan\Type\Php\MethodExistsTypeSpecifyingExtension; } public function createService0268(): PHPStan\Type\Php\DateTimeZoneConstructorThrowTypeExtension { return new PHPStan\Type\Php\DateTimeZoneConstructorThrowTypeExtension($this->getService('043')); } public function createService0269(): PHPStan\Type\Php\ArrayCombineFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayCombineFunctionReturnTypeExtension($this->getService('043')); } public function createService0270(): PHPStan\Type\Php\IsAFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\IsAFunctionTypeSpecifyingExtension($this->getService('0274')); } public function createService0271(): PHPStan\Type\Php\ArraySpliceFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArraySpliceFunctionReturnTypeExtension($this->getService('043')); } public function createService0272(): PHPStan\Type\Php\ConstantHelper { return new PHPStan\Type\Php\ConstantHelper; } public function createService0273(): PHPStan\Type\Php\ArrayColumnFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayColumnFunctionReturnTypeExtension($this->getService('0225')); } public function createService0274(): PHPStan\Type\Php\IsAFunctionTypeSpecifyingHelper { return new PHPStan\Type\Php\IsAFunctionTypeSpecifyingHelper; } public function createService0275(): PHPStan\Type\Php\DefineConstantTypeSpecifyingExtension { return new PHPStan\Type\Php\DefineConstantTypeSpecifyingExtension; } public function createService0276(): PHPStan\Type\Php\ParseUrlFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\ParseUrlFunctionDynamicReturnTypeExtension; } public function createService0277(): PHPStan\Type\Php\IsSubclassOfFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\IsSubclassOfFunctionTypeSpecifyingExtension($this->getService('0274')); } public function createService0278(): PHPStan\Type\Php\ArraySliceFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArraySliceFunctionReturnTypeExtension($this->getService('043')); } public function createService0279(): PHPStan\Type\Php\ArrayCurrentDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayCurrentDynamicReturnTypeExtension; } public function createService0280(): PHPStan\Type\Php\LtrimFunctionReturnTypeExtension { return new PHPStan\Type\Php\LtrimFunctionReturnTypeExtension; } public function createService0281(): PHPStan\Type\Php\DateTimeCreateDynamicReturnTypeExtension { return new PHPStan\Type\Php\DateTimeCreateDynamicReturnTypeExtension; } public function createService0282(): PHPStan\Type\Php\DateFunctionReturnTypeExtension { return new PHPStan\Type\Php\DateFunctionReturnTypeExtension($this->getService('0174')); } public function createService0283(): PHPStan\Type\Php\MicrotimeFunctionReturnTypeExtension { return new PHPStan\Type\Php\MicrotimeFunctionReturnTypeExtension; } public function createService0284(): PHPStan\Type\Php\JsonThrowTypeExtension { return new PHPStan\Type\Php\JsonThrowTypeExtension($this->getService('reflectionProvider'), $this->getService('0128')); } public function createService0285(): PHPStan\Type\Php\DateTimeDynamicReturnTypeExtension { return new PHPStan\Type\Php\DateTimeDynamicReturnTypeExtension; } public function createService0286(): PHPStan\Type\Php\DateFormatMethodReturnTypeExtension { return new PHPStan\Type\Php\DateFormatMethodReturnTypeExtension($this->getService('0174')); } public function createService0287(): PHPStan\Type\Php\SimpleXMLElementXpathMethodReturnTypeExtension { return new PHPStan\Type\Php\SimpleXMLElementXpathMethodReturnTypeExtension; } public function createService0288(): PHPStan\Type\Php\ArrayMapFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayMapFunctionReturnTypeExtension; } public function createService0289(): PHPStan\Type\Php\ReflectionMethodConstructorThrowTypeExtension { return new PHPStan\Type\Php\ReflectionMethodConstructorThrowTypeExtension($this->getService('reflectionProvider')); } public function createService0290(): PHPStan\Type\Php\ArrayChunkFunctionReturnTypeExtension { return new PHPStan\Type\Php\ArrayChunkFunctionReturnTypeExtension($this->getService('043')); } public function createService0291(): PHPStan\Type\Php\ArrayKeysFunctionDynamicReturnTypeExtension { return new PHPStan\Type\Php\ArrayKeysFunctionDynamicReturnTypeExtension($this->getService('043')); } public function createService0292(): PHPStan\Type\Php\IsCallableFunctionTypeSpecifyingExtension { return new PHPStan\Type\Php\IsCallableFunctionTypeSpecifyingExtension($this->getService('0267')); } public function createService0293(): PHPStan\Type\Php\ReflectionPropertyConstructorThrowTypeExtension { return new PHPStan\Type\Php\ReflectionPropertyConstructorThrowTypeExtension($this->getService('reflectionProvider')); } public function createService0294(): PHPStan\Type\Constant\OversizedArrayBuilder { return new PHPStan\Type\Constant\OversizedArrayBuilder; } public function createService0295(): PHPStan\Type\Regex\RegexExpressionHelper { return new PHPStan\Type\Regex\RegexExpressionHelper($this->getService('0301')); } public function createService0296(): PHPStan\Type\Regex\RegexGroupParser { return new PHPStan\Type\Regex\RegexGroupParser($this->getService('043'), $this->getService('0295')); } public function createService0297(): PHPStan\Type\LazyTypeAliasResolverProvider { return new PHPStan\Type\LazyTypeAliasResolverProvider($this->getService('0345')); } public function createService0298(): PHPStan\Type\ClosureTypeFactory { return new PHPStan\Type\ClosureTypeFactory( $this->getService('0301'), $this->getService('0495'), $this->getService('betterReflectionReflector'), $this->getService('currentPhpVersionPhpParser') ); } public function createService0299(): PHPStan\Type\UsefulTypeAliasResolver { return new PHPStan\Type\UsefulTypeAliasResolver( [ 'AnalyticsData' => 'array', 'MetricsData' => 'array', 'BreakdownData' => 'array', ], $this->getService('053'), $this->getService('050'), $this->getService('reflectionProvider') ); } public function createService0300(): PHPStan\Type\FileTypeMapper { return new PHPStan\Type\FileTypeMapper( $this->getService('0306'), $this->getService('defaultAnalysisParser'), $this->getService('046'), $this->getService('048'), $this->getService('039'), $this->getService('0333') ); } public function createService0301(): PHPStan\Reflection\InitializerExprTypeResolver { return new PHPStan\Reflection\InitializerExprTypeResolver( $this->getService('012'), $this->getService('0306'), $this->getService('043'), $this->getService('0340'), $this->getService('0294'), false ); } public function createService0302(): PHPStan\Reflection\Php\SealedAllowedSubTypesClassReflectionExtension { return new PHPStan\Reflection\Php\SealedAllowedSubTypesClassReflectionExtension; } public function createService0303(): PHPStan\Reflection\Php\UniversalObjectCratesClassReflectionExtension { return new PHPStan\Reflection\Php\UniversalObjectCratesClassReflectionExtension( $this->getService('reflectionProvider'), ['stdClass', 'App\Framework\DI\Container'], $this->getService('0500') ); } public function createService0304(): PHPStan\Reflection\Php\EnumAllowedSubTypesClassReflectionExtension { return new PHPStan\Reflection\Php\EnumAllowedSubTypesClassReflectionExtension; } public function createService0305(): PHPStan\Reflection\Deprecation\DeprecationProvider { return new PHPStan\Reflection\Deprecation\DeprecationProvider($this->getService('0345')); } public function createService0306(): PHPStan\Reflection\ReflectionProvider\LazyReflectionProviderProvider { return new PHPStan\Reflection\ReflectionProvider\LazyReflectionProviderProvider($this->getService('0345')); } public function createService0307(): PHPStan\Reflection\AttributeReflectionFactory { return new PHPStan\Reflection\AttributeReflectionFactory($this->getService('0301'), $this->getService('0306')); } public function createService0308(): PHPStan\Reflection\ConstructorsHelper { return new PHPStan\Reflection\ConstructorsHelper($this->getService('0345'), []); } public function createService0309(): PHPStan\Reflection\SignatureMap\SignatureMapParser { return new PHPStan\Reflection\SignatureMap\SignatureMapParser($this->getService('053')); } public function createService0310(): PHPStan\Reflection\SignatureMap\Php8SignatureMapProvider { return new PHPStan\Reflection\SignatureMap\Php8SignatureMapProvider( $this->getService('0311'), $this->getService('0323'), $this->getService('0300'), $this->getService('043'), $this->getService('0301'), $this->getService('0306') ); } public function createService0311(): PHPStan\Reflection\SignatureMap\FunctionSignatureMapProvider { return new PHPStan\Reflection\SignatureMap\FunctionSignatureMapProvider( $this->getService('0309'), $this->getService('0301'), $this->getService('043'), false ); } public function createService0312(): PHPStan\Reflection\SignatureMap\NativeFunctionReflectionProvider { return new PHPStan\Reflection\SignatureMap\NativeFunctionReflectionProvider( $this->getService('0313'), $this->getService('betterReflectionReflector'), $this->getService('0300'), $this->getService('stubPhpDocProvider'), $this->getService('0307') ); } public function createService0313(): PHPStan\Reflection\SignatureMap\SignatureMapProvider { return $this->getService('0314')->create(); } public function createService0314(): PHPStan\Reflection\SignatureMap\SignatureMapProviderFactory { return new PHPStan\Reflection\SignatureMap\SignatureMapProviderFactory( $this->getService('043'), $this->getService('0311'), $this->getService('0310') ); } public function createService0315(): PHPStan\Reflection\BetterReflection\SourceStubber\PhpStormStubsSourceStubberFactory { return new PHPStan\Reflection\BetterReflection\SourceStubber\PhpStormStubsSourceStubberFactory( $this->getService('php8PhpParser'), $this->getService('059'), $this->getService('043') ); } public function createService0316(): PHPStan\Reflection\BetterReflection\SourceStubber\ReflectionSourceStubberFactory { return new PHPStan\Reflection\BetterReflection\SourceStubber\ReflectionSourceStubberFactory( $this->getService('059'), $this->getService('043') ); } public function createService0317(): PHPStan\Reflection\BetterReflection\BetterReflectionSourceLocatorFactory { return new PHPStan\Reflection\BetterReflection\BetterReflectionSourceLocatorFactory( $this->getService('phpParserDecorator'), $this->getService('php8PhpParser'), $this->getService('0494'), $this->getService('0495'), $this->getService('0322'), $this->getService('0320'), $this->getService('0321'), $this->getService('0351'), $this->getService('0323'), [], [], $this->getParameter('analysedPaths'), ['/home/michael/dev/michaelschiemer'], $this->getParameter('analysedPathsFromConfig'), false, $this->getParameter('singleReflectionFile') ); } public function createService0318(): PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumDynamicReturnTypeExtension { return new PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumDynamicReturnTypeExtension($this->getService('043')); } public function createService0319(): PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedDirectorySourceLocatorFactory { return new PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedDirectorySourceLocatorFactory( $this->getService('0323'), $this->getService('fileFinderScan'), $this->getService('043'), $this->getService('016') ); } public function createService0320(): PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedDirectorySourceLocatorRepository { return new PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedDirectorySourceLocatorRepository($this->getService('0319')); } public function createService0321(): PHPStan\Reflection\BetterReflection\SourceLocator\ComposerJsonAndInstalledJsonSourceLocatorMaker { return new PHPStan\Reflection\BetterReflection\SourceLocator\ComposerJsonAndInstalledJsonSourceLocatorMaker( $this->getService('0320'), $this->getService('0351'), $this->getService('0319'), $this->getService('043') ); } public function createService0322(): PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedSingleFileSourceLocatorRepository { return new PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedSingleFileSourceLocatorRepository($this->getService('0352')); } public function createService0323(): PHPStan\Reflection\BetterReflection\SourceLocator\FileNodesFetcher { return new PHPStan\Reflection\BetterReflection\SourceLocator\FileNodesFetcher( $this->getService('0497'), $this->getService('defaultAnalysisParser') ); } public function createService0324(): PHPStan\Collectors\RegistryFactory { return new PHPStan\Collectors\RegistryFactory($this->getService('0345')); } public function createService0325(): PHPStan\Collectors\Registry { return $this->getService('0324')->create(); } public function createService0326(): PHPStan\Dependency\ExportedNodeResolver { return new PHPStan\Dependency\ExportedNodeResolver( $this->getService('reflectionProvider'), $this->getService('0300'), $this->getService('058') ); } public function createService0327(): PHPStan\Dependency\DependencyResolver { return new PHPStan\Dependency\DependencyResolver( $this->getService('0333'), $this->getService('reflectionProvider'), $this->getService('0326'), $this->getService('0300') ); } public function createService0328(): PHPStan\Dependency\ExportedNodeFetcher { return new PHPStan\Dependency\ExportedNodeFetcher($this->getService('defaultAnalysisParser'), $this->getService('0496')); } public function createService0329(): PHPStan\Parallel\Scheduler { return new PHPStan\Parallel\Scheduler(20, 32, 2); } public function createService0330(): PHPStan\Parallel\ParallelAnalyser { return new PHPStan\Parallel\ParallelAnalyser(50, 600.0, 134217728); } public function createService0331(): PHPStan\File\FileExcluderFactory { return new PHPStan\File\FileExcluderFactory( $this->getService('0353'), [ 'analyseAndScan' => [ '/home/michael/dev/michaelschiemer/src/Framework/View/cache', '/home/michael/dev/michaelschiemer/src/Framework/Cache/storage', '/home/michael/dev/michaelschiemer/src/Application/Security/Events', '/home/michael/dev/michaelschiemer/src/*/views/*.php', ], 'analyse' => [], ] ); } public function createService0332(): PHPStan\File\FileMonitor { return new PHPStan\File\FileMonitor( $this->getService('fileFinderAnalyse'), $this->getService('fileFinderScan'), $this->getParameter('analysedPaths'), $this->getParameter('analysedPathsFromConfig'), [], [] ); } public function createService0333(): PHPStan\File\FileHelper { return new PHPStan\File\FileHelper('/home/michael/dev/michaelschiemer'); } public function createService0334(): PHPStan\Command\ErrorFormatter\CiDetectedErrorFormatter { return new PHPStan\Command\ErrorFormatter\CiDetectedErrorFormatter( $this->getService('errorFormatter.github'), $this->getService('errorFormatter.teamcity') ); } public function createService0335(): PHPStan\Command\AnalyserRunner { return new PHPStan\Command\AnalyserRunner( $this->getService('0329'), $this->getService('03'), $this->getService('0330'), $this->getService('057') ); } public function createService0336(): PHPStan\Command\FixerApplication { return new PHPStan\Command\FixerApplication( $this->getService('0332'), $this->getService('06'), $this->getService('045'), $this->getParameter('analysedPaths'), '/home/michael/dev/michaelschiemer', ($this->getParameter('sysGetTempDir')) . '/phpstan-fixer', ['1.1.1.2'], ['/home/michael/dev/michaelschiemer'], [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/parametersSchema.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level1.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level0.neon', '/home/michael/dev/michaelschiemer/phpstan.neon', '/home/michael/dev/michaelschiemer/phpstan-baseline.neon', '/home/michael/dev/michaelschiemer/phpstan-rules.neon', ], null, [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/ReflectionUnionType.php', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/ReflectionAttribute.php', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/Attribute.php', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/ReflectionIntersectionType.php', '/home/michael/dev/michaelschiemer/tests/bootstrap.php', ], null, '1' ); } public function createService0337(): PHPStan\Command\AnalyseApplication { return new PHPStan\Command\AnalyseApplication( $this->getService('0335'), $this->getService('09'), $this->getService('056'), $this->getService('0348'), $this->getService('06'), $this->getService('045') ); } public function createService0338(): PHPStan\DependencyInjection\Type\LazyDynamicReturnTypeExtensionRegistryProvider { return new PHPStan\DependencyInjection\Type\LazyDynamicReturnTypeExtensionRegistryProvider($this->getService('0345')); } public function createService0339(): PHPStan\DependencyInjection\Type\LazyParameterClosureTypeExtensionProvider { return new PHPStan\DependencyInjection\Type\LazyParameterClosureTypeExtensionProvider($this->getService('0345')); } public function createService0340(): PHPStan\DependencyInjection\Type\LazyOperatorTypeSpecifyingExtensionRegistryProvider { return new PHPStan\DependencyInjection\Type\LazyOperatorTypeSpecifyingExtensionRegistryProvider($this->getService('0345')); } public function createService0341(): PHPStan\DependencyInjection\Type\LazyParameterOutTypeExtensionProvider { return new PHPStan\DependencyInjection\Type\LazyParameterOutTypeExtensionProvider($this->getService('0345')); } public function createService0342(): PHPStan\DependencyInjection\Type\LazyDynamicThrowTypeExtensionProvider { return new PHPStan\DependencyInjection\Type\LazyDynamicThrowTypeExtensionProvider($this->getService('0345')); } public function createService0343(): PHPStan\DependencyInjection\Type\LazyExpressionTypeResolverExtensionRegistryProvider { return new PHPStan\DependencyInjection\Type\LazyExpressionTypeResolverExtensionRegistryProvider($this->getService('0345')); } public function createService0344(): PHPStan\DependencyInjection\Reflection\LazyClassReflectionExtensionRegistryProvider { return new PHPStan\DependencyInjection\Reflection\LazyClassReflectionExtensionRegistryProvider($this->getService('0345')); } public function createService0345(): PHPStan\DependencyInjection\MemoizingContainer { return new PHPStan\DependencyInjection\MemoizingContainer($this->getService('0347')); } public function createService0346(): PHPStan\DependencyInjection\DerivativeContainerFactory { return new PHPStan\DependencyInjection\DerivativeContainerFactory( '/home/michael/dev/michaelschiemer', '/home/michael/dev/michaelschiemer/var/phpstan', [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level1.neon', '/home/michael/dev/michaelschiemer/phpstan.neon', ], $this->getParameter('analysedPaths'), ['/home/michael/dev/michaelschiemer'], $this->getParameter('analysedPathsFromConfig'), '1', null, null, $this->getParameter('singleReflectionFile'), $this->getParameter('singleReflectionInsteadOfFile') ); } public function createService0347(): PHPStan\DependencyInjection\Nette\NetteContainer { return new PHPStan\DependencyInjection\Nette\NetteContainer($this); } public function createService0348(): PHPStan\Analyser\ResultCache\ResultCacheManagerFactory { return new class ($this) implements PHPStan\Analyser\ResultCache\ResultCacheManagerFactory { private $container; public function __construct(Container_76d77f364f $container) { $this->container = $container; } public function create(array $fileReplacements): PHPStan\Analyser\ResultCache\ResultCacheManager { return new PHPStan\Analyser\ResultCache\ResultCacheManager( $this->container->getService('0345'), $this->container->getService('0328'), $this->container->getService('fileFinderScan'), $this->container->getService('reflectionProvider'), $this->container->getService('045'), $this->container->getService('0333'), '/home/michael/dev/michaelschiemer/var/phpstan/resultCache.php', $this->container->getParameter('analysedPaths'), $this->container->getParameter('analysedPathsFromConfig'), ['/home/michael/dev/michaelschiemer'], '1', null, [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/ReflectionUnionType.php', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/ReflectionAttribute.php', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/Attribute.php', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/ReflectionIntersectionType.php', '/home/michael/dev/michaelschiemer/tests/bootstrap.php', ], [], [], $fileReplacements, false, [ ['parameters', 'editorUrl'], ['parameters', 'editorUrlTitle'], ['parameters', 'errorFormat'], ['parameters', 'ignoreErrors'], ['parameters', 'reportUnmatchedIgnoredErrors'], ['parameters', 'tipsOfTheDay'], ['parameters', 'parallel'], ['parameters', 'internalErrorsCountLimit'], ['parameters', 'cache'], ['parameters', 'memoryLimitFile'], ['parameters', 'pro'], 'parametersSchema', ], 7 ); } }; } public function createService0349(): PHPStan\Reflection\Php\PhpMethodReflectionFactory { return new class ($this) implements PHPStan\Reflection\Php\PhpMethodReflectionFactory { private $container; public function __construct(Container_76d77f364f $container) { $this->container = $container; } public function create( PHPStan\Reflection\ClassReflection $declaringClass, ?PHPStan\Reflection\ClassReflection $declaringTrait, PHPStan\BetterReflection\Reflection\Adapter\ReflectionMethod $reflection, PHPStan\Type\Generic\TemplateTypeMap $templateTypeMap, array $phpDocParameterTypes, ?PHPStan\Type\Type $phpDocReturnType, ?PHPStan\Type\Type $phpDocThrowType, ?string $deprecatedDescription, bool $isDeprecated, bool $isInternal, bool $isFinal, ?bool $isPure, PHPStan\Reflection\Assertions $asserts, ?PHPStan\Type\Type $selfOutType, ?string $phpDocComment, array $phpDocParameterOutTypes, array $immediatelyInvokedCallableParameters, array $phpDocClosureThisTypeParameters, bool $acceptsNamedArguments, array $attributes ): PHPStan\Reflection\Php\PhpMethodReflection { return new PHPStan\Reflection\Php\PhpMethodReflection( $this->container->getService('0301'), $declaringClass, $declaringTrait, $reflection, $this->container->getService('reflectionProvider'), $this->container->getService('0307'), $this->container->getService('defaultAnalysisParser'), $templateTypeMap, $phpDocParameterTypes, $phpDocReturnType, $phpDocThrowType, $deprecatedDescription, $isDeprecated, $isInternal, $isFinal, $isPure, $asserts, $acceptsNamedArguments, $selfOutType, $phpDocComment, $phpDocParameterOutTypes, $immediatelyInvokedCallableParameters, $phpDocClosureThisTypeParameters, $attributes ); } }; } public function createService0350(): PHPStan\Reflection\FunctionReflectionFactory { return new class ($this) implements PHPStan\Reflection\FunctionReflectionFactory { private $container; public function __construct(Container_76d77f364f $container) { $this->container = $container; } public function create( PHPStan\BetterReflection\Reflection\Adapter\ReflectionFunction $reflection, PHPStan\Type\Generic\TemplateTypeMap $templateTypeMap, array $phpDocParameterTypes, ?PHPStan\Type\Type $phpDocReturnType, ?PHPStan\Type\Type $phpDocThrowType, ?string $deprecatedDescription, bool $isDeprecated, bool $isInternal, ?string $filename, ?bool $isPure, PHPStan\Reflection\Assertions $asserts, bool $acceptsNamedArguments, ?string $phpDocComment, array $phpDocParameterOutTypes, array $phpDocParameterImmediatelyInvokedCallable, array $phpDocParameterClosureThisTypes, array $attributes ): PHPStan\Reflection\Php\PhpFunctionReflection { return new PHPStan\Reflection\Php\PhpFunctionReflection( $this->container->getService('0301'), $reflection, $this->container->getService('defaultAnalysisParser'), $this->container->getService('0307'), $templateTypeMap, $phpDocParameterTypes, $phpDocReturnType, $phpDocThrowType, $deprecatedDescription, $isDeprecated, $isInternal, $filename, $isPure, $asserts, $acceptsNamedArguments, $phpDocComment, $phpDocParameterOutTypes, $phpDocParameterImmediatelyInvokedCallable, $phpDocParameterClosureThisTypes, $attributes ); } }; } public function createService0351(): PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedPsrAutoloaderLocatorFactory { return new class ($this) implements PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedPsrAutoloaderLocatorFactory { private $container; public function __construct(Container_76d77f364f $container) { $this->container = $container; } public function create(PHPStan\BetterReflection\SourceLocator\Type\Composer\Psr\PsrAutoloaderMapping $mapping): PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedPsrAutoloaderLocator { return new PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedPsrAutoloaderLocator($mapping, $this->container->getService('0322')); } }; } public function createService0352(): PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedSingleFileSourceLocatorFactory { return new class ($this) implements PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedSingleFileSourceLocatorFactory { private $container; public function __construct(Container_76d77f364f $container) { $this->container = $container; } public function create(string $fileName): PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedSingleFileSourceLocator { return new PHPStan\Reflection\BetterReflection\SourceLocator\OptimizedSingleFileSourceLocator( $this->container->getService('0323'), $fileName ); } }; } public function createService0353(): PHPStan\File\FileExcluderRawFactory { return new class ($this) implements PHPStan\File\FileExcluderRawFactory { private $container; public function __construct(Container_76d77f364f $container) { $this->container = $container; } public function create(array $analyseExcludes): PHPStan\File\FileExcluder { return new PHPStan\File\FileExcluder($this->container->getService('0333'), $analyseExcludes); } }; } public function createService0354(): PHPStan\Rules\Classes\InvalidPromotedPropertiesRule { return new PHPStan\Rules\Classes\InvalidPromotedPropertiesRule($this->getService('043')); } public function createService0355(): PHPStan\Rules\Classes\ClassAttributesRule { return new PHPStan\Rules\Classes\ClassAttributesRule($this->getService('067')); } public function createService0356(): PHPStan\Rules\Classes\ExistingClassInInstanceOfRule { return new PHPStan\Rules\Classes\ExistingClassInInstanceOfRule( $this->getService('reflectionProvider'), $this->getService('088'), false, true ); } public function createService0357(): PHPStan\Rules\Classes\InstantiationCallableRule { return new PHPStan\Rules\Classes\InstantiationCallableRule; } public function createService0358(): PHPStan\Rules\Classes\InstantiationRule { return new PHPStan\Rules\Classes\InstantiationRule( $this->getService('0345'), $this->getService('reflectionProvider'), $this->getService('074'), $this->getService('088'), true ); } public function createService0359(): PHPStan\Rules\Classes\LocalTypeTraitAliasesRule { return new PHPStan\Rules\Classes\LocalTypeTraitAliasesRule($this->getService('065'), $this->getService('reflectionProvider')); } public function createService0360(): PHPStan\Rules\Classes\ExistingClassInClassExtendsRule { return new PHPStan\Rules\Classes\ExistingClassInClassExtendsRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0361(): PHPStan\Rules\Classes\NewStaticRule { return new PHPStan\Rules\Classes\NewStaticRule; } public function createService0362(): PHPStan\Rules\Classes\AllowedSubTypesRule { return new PHPStan\Rules\Classes\AllowedSubTypesRule; } public function createService0363(): PHPStan\Rules\Classes\ExistingClassInTraitUseRule { return new PHPStan\Rules\Classes\ExistingClassInTraitUseRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0364(): PHPStan\Rules\Classes\ReadOnlyClassRule { return new PHPStan\Rules\Classes\ReadOnlyClassRule($this->getService('043')); } public function createService0365(): PHPStan\Rules\Classes\DuplicateDeclarationRule { return new PHPStan\Rules\Classes\DuplicateDeclarationRule; } public function createService0366(): PHPStan\Rules\Classes\EnumSanityRule { return new PHPStan\Rules\Classes\EnumSanityRule; } public function createService0367(): PHPStan\Rules\Classes\ExistingClassesInInterfaceExtendsRule { return new PHPStan\Rules\Classes\ExistingClassesInInterfaceExtendsRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0368(): PHPStan\Rules\Classes\LocalTypeTraitUseAliasesRule { return new PHPStan\Rules\Classes\LocalTypeTraitUseAliasesRule($this->getService('065')); } public function createService0369(): PHPStan\Rules\Classes\TraitAttributeClassRule { return new PHPStan\Rules\Classes\TraitAttributeClassRule; } public function createService0370(): PHPStan\Rules\Classes\LocalTypeAliasesRule { return new PHPStan\Rules\Classes\LocalTypeAliasesRule($this->getService('065')); } public function createService0371(): PHPStan\Rules\Classes\ClassConstantAttributesRule { return new PHPStan\Rules\Classes\ClassConstantAttributesRule($this->getService('067')); } public function createService0372(): PHPStan\Rules\Classes\NonClassAttributeClassRule { return new PHPStan\Rules\Classes\NonClassAttributeClassRule; } public function createService0373(): PHPStan\Rules\Classes\ExistingClassesInEnumImplementsRule { return new PHPStan\Rules\Classes\ExistingClassesInEnumImplementsRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0374(): PHPStan\Rules\Classes\ExistingClassesInClassImplementsRule { return new PHPStan\Rules\Classes\ExistingClassesInClassImplementsRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0375(): PHPStan\Rules\Classes\ClassConstantRule { return new PHPStan\Rules\Classes\ClassConstantRule( $this->getService('reflectionProvider'), $this->getService('098'), $this->getService('088'), $this->getService('043'), false ); } public function createService0376(): PHPStan\Rules\Classes\UnusedConstructorParametersRule { return new PHPStan\Rules\Classes\UnusedConstructorParametersRule($this->getService('068')); } public function createService0377(): PHPStan\Rules\Keywords\ContinueBreakInLoopRule { return new PHPStan\Rules\Keywords\ContinueBreakInLoopRule; } public function createService0378(): PHPStan\Rules\Keywords\DeclareStrictTypesRule { return new PHPStan\Rules\Keywords\DeclareStrictTypesRule($this->getService('058')); } public function createService0379(): PHPStan\Rules\Keywords\RequireFileExistsRule { return new PHPStan\Rules\Keywords\RequireFileExistsRule('/home/michael/dev/michaelschiemer'); } public function createService0380(): PHPStan\Rules\Missing\MissingReturnRule { return new PHPStan\Rules\Missing\MissingReturnRule(false, false); } public function createService0381(): PHPStan\Rules\Properties\ReadOnlyPropertyRule { return new PHPStan\Rules\Properties\ReadOnlyPropertyRule($this->getService('043')); } public function createService0382(): PHPStan\Rules\Properties\MissingReadOnlyByPhpDocPropertyAssignRule { return new PHPStan\Rules\Properties\MissingReadOnlyByPhpDocPropertyAssignRule($this->getService('0308')); } public function createService0383(): PHPStan\Rules\Properties\AccessStaticPropertiesRule { return new PHPStan\Rules\Properties\AccessStaticPropertiesRule( $this->getService('reflectionProvider'), $this->getService('098'), $this->getService('088'), true ); } public function createService0384(): PHPStan\Rules\Properties\AccessStaticPropertiesInAssignRule { return new PHPStan\Rules\Properties\AccessStaticPropertiesInAssignRule($this->getService('0383')); } public function createService0385(): PHPStan\Rules\Properties\ReadingWriteOnlyPropertiesRule { return new PHPStan\Rules\Properties\ReadingWriteOnlyPropertiesRule( $this->getService('070'), $this->getService('071'), $this->getService('098'), true ); } public function createService0386(): PHPStan\Rules\Properties\PropertyAttributesRule { return new PHPStan\Rules\Properties\PropertyAttributesRule($this->getService('067')); } public function createService0387(): PHPStan\Rules\Properties\ExistingClassesInPropertiesRule { return new PHPStan\Rules\Properties\ExistingClassesInPropertiesRule( $this->getService('reflectionProvider'), $this->getService('088'), $this->getService('076'), $this->getService('043'), false, true, true ); } public function createService0388(): PHPStan\Rules\Properties\AccessPropertiesRule { return new PHPStan\Rules\Properties\AccessPropertiesRule($this->getService('073')); } public function createService0389(): PHPStan\Rules\Properties\OverridingPropertyRule { return new PHPStan\Rules\Properties\OverridingPropertyRule($this->getService('043'), false, false); } public function createService0390(): PHPStan\Rules\Properties\PropertyInClassRule { return new PHPStan\Rules\Properties\PropertyInClassRule($this->getService('043')); } public function createService0391(): PHPStan\Rules\Properties\PropertyHookAttributesRule { return new PHPStan\Rules\Properties\PropertyHookAttributesRule($this->getService('067')); } public function createService0392(): PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyRule { return new PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyRule; } public function createService0393(): PHPStan\Rules\Properties\SetPropertyHookParameterRule { return new PHPStan\Rules\Properties\SetPropertyHookParameterRule($this->getService('094'), false, false); } public function createService0394(): PHPStan\Rules\Properties\AccessPropertiesInAssignRule { return new PHPStan\Rules\Properties\AccessPropertiesInAssignRule($this->getService('073')); } public function createService0395(): PHPStan\Rules\Properties\ExistingClassesInPropertyHookTypehintsRule { return new PHPStan\Rules\Properties\ExistingClassesInPropertyHookTypehintsRule($this->getService('069')); } public function createService0396(): PHPStan\Rules\Properties\PropertiesInInterfaceRule { return new PHPStan\Rules\Properties\PropertiesInInterfaceRule($this->getService('043')); } public function createService0397(): PHPStan\Rules\Properties\MissingReadOnlyPropertyAssignRule { return new PHPStan\Rules\Properties\MissingReadOnlyPropertyAssignRule($this->getService('0308')); } public function createService0398(): PHPStan\Rules\Properties\PropertyAssignRefRule { return new PHPStan\Rules\Properties\PropertyAssignRefRule($this->getService('043'), $this->getService('071')); } public function createService0399(): PHPStan\Rules\Properties\InvalidCallablePropertyTypeRule { return new PHPStan\Rules\Properties\InvalidCallablePropertyTypeRule; } public function createService0400(): PHPStan\Rules\Properties\WritingToReadOnlyPropertiesRule { return new PHPStan\Rules\Properties\WritingToReadOnlyPropertiesRule( $this->getService('098'), $this->getService('070'), $this->getService('071'), true ); } public function createService0401(): PHPStan\Rules\PhpDoc\SealedDefinitionTraitRule { return new PHPStan\Rules\PhpDoc\SealedDefinitionTraitRule($this->getService('reflectionProvider')); } public function createService0402(): PHPStan\Rules\Names\UsedNamesRule { return new PHPStan\Rules\Names\UsedNamesRule; } public function createService0403(): PHPStan\Rules\Operators\InvalidAssignVarRule { return new PHPStan\Rules\Operators\InvalidAssignVarRule($this->getService('087')); } public function createService0404(): PHPStan\Rules\Operators\InvalidIncDecOperationRule { return new PHPStan\Rules\Operators\InvalidIncDecOperationRule($this->getService('098')); } public function createService0405(): PHPStan\Rules\Arrays\OffsetAccessWithoutDimForReadingRule { return new PHPStan\Rules\Arrays\OffsetAccessWithoutDimForReadingRule; } public function createService0406(): PHPStan\Rules\Arrays\DuplicateKeysInLiteralArraysRule { return new PHPStan\Rules\Arrays\DuplicateKeysInLiteralArraysRule($this->getService('058')); } public function createService0407(): PHPStan\Rules\Ignore\IgnoreParseErrorRule { return new PHPStan\Rules\Ignore\IgnoreParseErrorRule; } public function createService0408(): PHPStan\Rules\Cast\UnsetCastRule { return new PHPStan\Rules\Cast\UnsetCastRule($this->getService('043')); } public function createService0409(): PHPStan\Rules\Whitespace\FileWhitespaceRule { return new PHPStan\Rules\Whitespace\FileWhitespaceRule; } public function createService0410(): PHPStan\Rules\Variables\EmptyRule { return new PHPStan\Rules\Variables\EmptyRule($this->getService('089')); } public function createService0411(): PHPStan\Rules\Variables\IssetRule { return new PHPStan\Rules\Variables\IssetRule($this->getService('089')); } public function createService0412(): PHPStan\Rules\Variables\UnsetRule { return new PHPStan\Rules\Variables\UnsetRule($this->getService('071'), $this->getService('043')); } public function createService0413(): PHPStan\Rules\Variables\NullCoalesceRule { return new PHPStan\Rules\Variables\NullCoalesceRule($this->getService('089')); } public function createService0414(): PHPStan\Rules\Variables\DefinedVariableRule { return new PHPStan\Rules\Variables\DefinedVariableRule(true, true); } public function createService0415(): PHPStan\Rules\Variables\CompactVariablesRule { return new PHPStan\Rules\Variables\CompactVariablesRule(true); } public function createService0416(): PHPStan\Rules\Namespaces\ExistingNamesInGroupUseRule { return new PHPStan\Rules\Namespaces\ExistingNamesInGroupUseRule( $this->getService('reflectionProvider'), $this->getService('088'), false, true ); } public function createService0417(): PHPStan\Rules\Namespaces\ExistingNamesInUseRule { return new PHPStan\Rules\Namespaces\ExistingNamesInUseRule( $this->getService('reflectionProvider'), $this->getService('088'), false, true ); } public function createService0418(): PHPStan\Rules\Api\PhpStanNamespaceIn3rdPartyPackageRule { return new PHPStan\Rules\Api\PhpStanNamespaceIn3rdPartyPackageRule($this->getService('090')); } public function createService0419(): PHPStan\Rules\Api\RuntimeReflectionFunctionRule { return new PHPStan\Rules\Api\RuntimeReflectionFunctionRule($this->getService('reflectionProvider')); } public function createService0420(): PHPStan\Rules\Api\ApiInstanceofTypeRule { return new PHPStan\Rules\Api\ApiInstanceofTypeRule($this->getService('reflectionProvider')); } public function createService0421(): PHPStan\Rules\Api\ApiClassConstFetchRule { return new PHPStan\Rules\Api\ApiClassConstFetchRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0422(): PHPStan\Rules\Api\ApiInterfaceExtendsRule { return new PHPStan\Rules\Api\ApiInterfaceExtendsRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0423(): PHPStan\Rules\Api\ApiInstanceofRule { return new PHPStan\Rules\Api\ApiInstanceofRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0424(): PHPStan\Rules\Api\ApiClassImplementsRule { return new PHPStan\Rules\Api\ApiClassImplementsRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0425(): PHPStan\Rules\Api\OldPhpParser4ClassRule { return new PHPStan\Rules\Api\OldPhpParser4ClassRule; } public function createService0426(): PHPStan\Rules\Api\ApiMethodCallRule { return new PHPStan\Rules\Api\ApiMethodCallRule($this->getService('090')); } public function createService0427(): PHPStan\Rules\Api\ApiInstantiationRule { return new PHPStan\Rules\Api\ApiInstantiationRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0428(): PHPStan\Rules\Api\NodeConnectingVisitorAttributesRule { return new PHPStan\Rules\Api\NodeConnectingVisitorAttributesRule; } public function createService0429(): PHPStan\Rules\Api\ApiClassExtendsRule { return new PHPStan\Rules\Api\ApiClassExtendsRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0430(): PHPStan\Rules\Api\ApiStaticCallRule { return new PHPStan\Rules\Api\ApiStaticCallRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0431(): PHPStan\Rules\Api\RuntimeReflectionInstantiationRule { return new PHPStan\Rules\Api\RuntimeReflectionInstantiationRule($this->getService('reflectionProvider')); } public function createService0432(): PHPStan\Rules\Api\ApiTraitUseRule { return new PHPStan\Rules\Api\ApiTraitUseRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0433(): PHPStan\Rules\Api\GetTemplateTypeRule { return new PHPStan\Rules\Api\GetTemplateTypeRule($this->getService('reflectionProvider')); } public function createService0434(): PHPStan\Rules\Exceptions\ThrowExpressionRule { return new PHPStan\Rules\Exceptions\ThrowExpressionRule($this->getService('043')); } public function createService0435(): PHPStan\Rules\Exceptions\NoncapturingCatchRule { return new PHPStan\Rules\Exceptions\NoncapturingCatchRule; } public function createService0436(): PHPStan\Rules\Exceptions\CaughtExceptionExistenceRule { return new PHPStan\Rules\Exceptions\CaughtExceptionExistenceRule( $this->getService('reflectionProvider'), $this->getService('088'), false, true ); } public function createService0437(): PHPStan\Rules\Constants\MagicConstantContextRule { return new PHPStan\Rules\Constants\MagicConstantContextRule; } public function createService0438(): PHPStan\Rules\Constants\FinalConstantRule { return new PHPStan\Rules\Constants\FinalConstantRule($this->getService('043')); } public function createService0439(): PHPStan\Rules\Constants\ConstantRule { return new PHPStan\Rules\Constants\ConstantRule(true); } public function createService0440(): PHPStan\Rules\Constants\OverridingConstantRule { return new PHPStan\Rules\Constants\OverridingConstantRule(false); } public function createService0441(): PHPStan\Rules\Constants\DynamicClassConstantFetchRule { return new PHPStan\Rules\Constants\DynamicClassConstantFetchRule($this->getService('043'), $this->getService('098')); } public function createService0442(): PHPStan\Rules\Constants\FinalPrivateConstantRule { return new PHPStan\Rules\Constants\FinalPrivateConstantRule; } public function createService0443(): PHPStan\Rules\Constants\NativeTypedClassConstantRule { return new PHPStan\Rules\Constants\NativeTypedClassConstantRule($this->getService('043')); } public function createService0444(): PHPStan\Rules\Constants\ClassAsClassConstantRule { return new PHPStan\Rules\Constants\ClassAsClassConstantRule; } public function createService0445(): PHPStan\Rules\Functions\InnerFunctionRule { return new PHPStan\Rules\Functions\InnerFunctionRule; } public function createService0446(): PHPStan\Rules\Functions\RedefinedParametersRule { return new PHPStan\Rules\Functions\RedefinedParametersRule; } public function createService0447(): PHPStan\Rules\Functions\ArrowFunctionAttributesRule { return new PHPStan\Rules\Functions\ArrowFunctionAttributesRule($this->getService('067')); } public function createService0448(): PHPStan\Rules\Functions\PrintfParametersRule { return new PHPStan\Rules\Functions\PrintfParametersRule($this->getService('097'), $this->getService('reflectionProvider')); } public function createService0449(): PHPStan\Rules\Functions\CallToNonExistentFunctionRule { return new PHPStan\Rules\Functions\CallToNonExistentFunctionRule($this->getService('reflectionProvider'), false, true); } public function createService0450(): PHPStan\Rules\Functions\ArrowFunctionReturnNullsafeByRefRule { return new PHPStan\Rules\Functions\ArrowFunctionReturnNullsafeByRefRule($this->getService('087')); } public function createService0451(): PHPStan\Rules\Functions\DefineParametersRule { return new PHPStan\Rules\Functions\DefineParametersRule($this->getService('043')); } public function createService0452(): PHPStan\Rules\Functions\ExistingClassesInArrowFunctionTypehintsRule { return new PHPStan\Rules\Functions\ExistingClassesInArrowFunctionTypehintsRule( $this->getService('069'), $this->getService('043') ); } public function createService0453(): PHPStan\Rules\Functions\ExistingClassesInTypehintsRule { return new PHPStan\Rules\Functions\ExistingClassesInTypehintsRule($this->getService('069')); } public function createService0454(): PHPStan\Rules\Functions\InvalidLexicalVariablesInClosureUseRule { return new PHPStan\Rules\Functions\InvalidLexicalVariablesInClosureUseRule; } public function createService0455(): PHPStan\Rules\Functions\VariadicParametersDeclarationRule { return new PHPStan\Rules\Functions\VariadicParametersDeclarationRule; } public function createService0456(): PHPStan\Rules\Functions\FunctionAttributesRule { return new PHPStan\Rules\Functions\FunctionAttributesRule($this->getService('067')); } public function createService0457(): PHPStan\Rules\Functions\UnusedClosureUsesRule { return new PHPStan\Rules\Functions\UnusedClosureUsesRule($this->getService('068')); } public function createService0458(): PHPStan\Rules\Functions\ParamAttributesRule { return new PHPStan\Rules\Functions\ParamAttributesRule($this->getService('067')); } public function createService0459(): PHPStan\Rules\Functions\CallToFunctionParametersRule { return new PHPStan\Rules\Functions\CallToFunctionParametersRule( $this->getService('reflectionProvider'), $this->getService('074') ); } public function createService0460(): PHPStan\Rules\Functions\PrintfArrayParametersRule { return new PHPStan\Rules\Functions\PrintfArrayParametersRule($this->getService('097'), $this->getService('reflectionProvider')); } public function createService0461(): PHPStan\Rules\Functions\ClosureAttributesRule { return new PHPStan\Rules\Functions\ClosureAttributesRule($this->getService('067')); } public function createService0462(): PHPStan\Rules\Functions\ExistingClassesInClosureTypehintsRule { return new PHPStan\Rules\Functions\ExistingClassesInClosureTypehintsRule($this->getService('069')); } public function createService0463(): PHPStan\Rules\Functions\ReturnNullsafeByRefRule { return new PHPStan\Rules\Functions\ReturnNullsafeByRefRule($this->getService('087')); } public function createService0464(): PHPStan\Rules\Functions\FunctionCallableRule { return new PHPStan\Rules\Functions\FunctionCallableRule( $this->getService('reflectionProvider'), $this->getService('098'), $this->getService('043'), false, false ); } public function createService0465(): PHPStan\Rules\Methods\MethodAttributesRule { return new PHPStan\Rules\Methods\MethodAttributesRule($this->getService('067')); } public function createService0466(): PHPStan\Rules\Methods\AbstractPrivateMethodRule { return new PHPStan\Rules\Methods\AbstractPrivateMethodRule; } public function createService0467(): PHPStan\Rules\Methods\FinalPrivateMethodRule { return new PHPStan\Rules\Methods\FinalPrivateMethodRule; } public function createService0468(): PHPStan\Rules\Methods\CallStaticMethodsRule { return new PHPStan\Rules\Methods\CallStaticMethodsRule($this->getService('0104'), $this->getService('074')); } public function createService0469(): PHPStan\Rules\Methods\MethodVisibilityInInterfaceRule { return new PHPStan\Rules\Methods\MethodVisibilityInInterfaceRule; } public function createService0470(): PHPStan\Rules\Methods\CallMethodsRule { return new PHPStan\Rules\Methods\CallMethodsRule($this->getService('099'), $this->getService('074')); } public function createService0471(): PHPStan\Rules\Methods\ExistingClassesInTypehintsRule { return new PHPStan\Rules\Methods\ExistingClassesInTypehintsRule($this->getService('069')); } public function createService0472(): PHPStan\Rules\Methods\MissingMethodImplementationRule { return new PHPStan\Rules\Methods\MissingMethodImplementationRule; } public function createService0473(): PHPStan\Rules\Methods\MissingMagicSerializationMethodsRule { return new PHPStan\Rules\Methods\MissingMagicSerializationMethodsRule($this->getService('043')); } public function createService0474(): PHPStan\Rules\Methods\OverridingMethodRule { return new PHPStan\Rules\Methods\OverridingMethodRule( $this->getService('043'), $this->getService('0506'), false, $this->getService('0103'), $this->getService('0101'), $this->getService('0102'), false ); } public function createService0475(): PHPStan\Rules\Methods\StaticMethodCallableRule { return new PHPStan\Rules\Methods\StaticMethodCallableRule($this->getService('0104'), $this->getService('043')); } public function createService0476(): PHPStan\Rules\Methods\ConstructorReturnTypeRule { return new PHPStan\Rules\Methods\ConstructorReturnTypeRule; } public function createService0477(): PHPStan\Rules\Methods\AbstractMethodInNonAbstractClassRule { return new PHPStan\Rules\Methods\AbstractMethodInNonAbstractClassRule; } public function createService0478(): PHPStan\Rules\Methods\ConsistentConstructorRule { return new PHPStan\Rules\Methods\ConsistentConstructorRule($this->getService('0103'), $this->getService('0101')); } public function createService0479(): PHPStan\Rules\Methods\MethodCallableRule { return new PHPStan\Rules\Methods\MethodCallableRule($this->getService('099'), $this->getService('043')); } public function createService0480(): PHPStan\Rules\Traits\ConflictingTraitConstantsRule { return new PHPStan\Rules\Traits\ConflictingTraitConstantsRule( $this->getService('0301'), $this->getService('reflectionProvider') ); } public function createService0481(): PHPStan\Rules\Traits\ConstantsInTraitsRule { return new PHPStan\Rules\Traits\ConstantsInTraitsRule($this->getService('043')); } public function createService0482(): PHPStan\Rules\Traits\TraitAttributesRule { return new PHPStan\Rules\Traits\TraitAttributesRule($this->getService('067')); } public function createService0483(): PHPStan\Rules\Regexp\RegularExpressionPatternRule { return new PHPStan\Rules\Regexp\RegularExpressionPatternRule($this->getService('0295')); } public function createService0484(): PHPStan\Rules\EnumCases\EnumCaseAttributesRule { return new PHPStan\Rules\EnumCases\EnumCaseAttributesRule($this->getService('067')); } public function createService0485(): PHPStan\Rules\Types\InvalidTypesInUnionRule { return new PHPStan\Rules\Types\InvalidTypesInUnionRule; } public function createService0486(): PhpParser\BuilderFactory { return new PhpParser\BuilderFactory; } public function createService0487(): PhpParser\NodeVisitor\NameResolver { return new PhpParser\NodeVisitor\NameResolver(options: ['preserveOriginalNames' => true]); } public function createService0488(): PHPStan\PhpDocParser\ParserConfig { return new PHPStan\PhpDocParser\ParserConfig(['lines' => true]); } public function createService0489(): PHPStan\PhpDocParser\Lexer\Lexer { return new PHPStan\PhpDocParser\Lexer\Lexer($this->getService('0488')); } public function createService0490(): PHPStan\PhpDocParser\Parser\TypeParser { return new PHPStan\PhpDocParser\Parser\TypeParser($this->getService('0488'), $this->getService('0491')); } public function createService0491(): PHPStan\PhpDocParser\Parser\ConstExprParser { return new PHPStan\PhpDocParser\Parser\ConstExprParser($this->getService('0488')); } public function createService0492(): PHPStan\PhpDocParser\Parser\PhpDocParser { return new PHPStan\PhpDocParser\Parser\PhpDocParser( $this->getService('0488'), $this->getService('0490'), $this->getService('0491') ); } public function createService0493(): PHPStan\PhpDocParser\Printer\Printer { return new PHPStan\PhpDocParser\Printer\Printer; } public function createService0494(): PHPStan\BetterReflection\SourceLocator\SourceStubber\PhpStormStubsSourceStubber { return $this->getService('0315')->create(); } public function createService0495(): PHPStan\BetterReflection\SourceLocator\SourceStubber\ReflectionSourceStubber { return $this->getService('0316')->create(); } public function createService0496(): PHPStan\Dependency\ExportedNodeVisitor { return new PHPStan\Dependency\ExportedNodeVisitor($this->getService('0326')); } public function createService0497(): PHPStan\Reflection\BetterReflection\SourceLocator\CachingVisitor { return new PHPStan\Reflection\BetterReflection\SourceLocator\CachingVisitor; } public function createService0498(): PHPStan\Reflection\Php\PhpClassReflectionExtension { return new PHPStan\Reflection\Php\PhpClassReflectionExtension( $this->getService('01'), $this->getService('07'), $this->getService('0349'), $this->getService('044'), $this->getService('0305'), $this->getService('0499'), $this->getService('0500'), $this->getService('0313'), $this->getService('defaultAnalysisParser'), $this->getService('stubPhpDocProvider'), $this->getService('0306'), $this->getService('0300'), $this->getService('0307'), false ); } public function createService0499(): PHPStan\Reflection\Annotations\AnnotationsMethodsClassReflectionExtension { return new PHPStan\Reflection\Annotations\AnnotationsMethodsClassReflectionExtension; } public function createService0500(): PHPStan\Reflection\Annotations\AnnotationsPropertiesClassReflectionExtension { return new PHPStan\Reflection\Annotations\AnnotationsPropertiesClassReflectionExtension; } public function createService0501(): PHPStan\Reflection\Mixin\MixinMethodsClassReflectionExtension { return new PHPStan\Reflection\Mixin\MixinMethodsClassReflectionExtension([]); } public function createService0502(): PHPStan\Reflection\Mixin\MixinPropertiesClassReflectionExtension { return new PHPStan\Reflection\Mixin\MixinPropertiesClassReflectionExtension([]); } public function createService0503(): PHPStan\Reflection\Php\Soap\SoapClientMethodsClassReflectionExtension { return new PHPStan\Reflection\Php\Soap\SoapClientMethodsClassReflectionExtension; } public function createService0504(): PHPStan\Reflection\RequireExtension\RequireExtendsMethodsClassReflectionExtension { return new PHPStan\Reflection\RequireExtension\RequireExtendsMethodsClassReflectionExtension; } public function createService0505(): PHPStan\Reflection\RequireExtension\RequireExtendsPropertiesClassReflectionExtension { return new PHPStan\Reflection\RequireExtension\RequireExtendsPropertiesClassReflectionExtension; } public function createService0506(): PHPStan\Rules\Methods\MethodSignatureRule { return new PHPStan\Rules\Methods\MethodSignatureRule($this->getService('0498'), false, false); } public function createService0507(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionClass'); } public function createService0508(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionClassConstant'); } public function createService0509(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionFunctionAbstract'); } public function createService0510(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionParameter'); } public function createService0511(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionProperty'); } public function createService0512(): PHPStan\Type\Php\DateTimeModifyReturnTypeExtension { return new PHPStan\Type\Php\DateTimeModifyReturnTypeExtension($this->getService('043'), 'DateTime'); } public function createService0513(): PHPStan\Type\Php\DateTimeModifyReturnTypeExtension { return new PHPStan\Type\Php\DateTimeModifyReturnTypeExtension($this->getService('043'), 'DateTimeImmutable'); } public function createService0514(): PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension { return new PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension( $this->getService('043'), 'PHPStan\Reflection\ClassReflection', 'getNativeReflection' ); } public function createService0515(): PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension { return new PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension( $this->getService('043'), 'PHPStan\Reflection\Php\BuiltinMethodReflection', 'getDeclaringClass' ); } public function createService0516(): PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension { return new PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension( $this->getService('043'), 'PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnumBackedCase' ); } public function createService0517(): PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension { return new PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension( $this->getService('043'), 'PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnumUnitCase' ); } public function createService0518(): PHPStan\Rules\Exceptions\MissingCheckedExceptionInFunctionThrowsRule { return new PHPStan\Rules\Exceptions\MissingCheckedExceptionInFunctionThrowsRule($this->getService('091')); } public function createService0519(): PHPStan\Rules\Exceptions\MissingCheckedExceptionInMethodThrowsRule { return new PHPStan\Rules\Exceptions\MissingCheckedExceptionInMethodThrowsRule($this->getService('091')); } public function createService0520(): PHPStan\Rules\Exceptions\MissingCheckedExceptionInPropertyHookThrowsRule { return new PHPStan\Rules\Exceptions\MissingCheckedExceptionInPropertyHookThrowsRule($this->getService('091')); } public function createService0521(): PHPStan\Rules\Properties\UninitializedPropertyRule { return new PHPStan\Rules\Properties\UninitializedPropertyRule($this->getService('0308')); } public function createService0522(): PHPStan\Rules\Classes\NewStaticInAbstractClassStaticMethodRule { return new PHPStan\Rules\Classes\NewStaticInAbstractClassStaticMethodRule; } public function createService0523(): PHPStan\Rules\InternalTag\RestrictedInternalClassConstantUsageExtension { return new PHPStan\Rules\InternalTag\RestrictedInternalClassConstantUsageExtension($this->getService('093')); } public function createService0524(): PHPStan\Rules\InternalTag\RestrictedInternalClassNameUsageExtension { return new PHPStan\Rules\InternalTag\RestrictedInternalClassNameUsageExtension($this->getService('093')); } public function createService0525(): PHPStan\Rules\InternalTag\RestrictedInternalFunctionUsageExtension { return new PHPStan\Rules\InternalTag\RestrictedInternalFunctionUsageExtension($this->getService('093')); } public function createServiceBetterReflectionProvider(): PHPStan\Reflection\BetterReflection\BetterReflectionProvider { return new PHPStan\Reflection\BetterReflection\BetterReflectionProvider( $this->getService('0306'), $this->getService('0301'), $this->getService('0344'), $this->getService('betterReflectionReflector'), $this->getService('0300'), $this->getService('044'), $this->getService('0305'), $this->getService('043'), $this->getService('0312'), $this->getService('stubPhpDocProvider'), $this->getService('0350'), $this->getService('relativePathHelper'), $this->getService('039'), $this->getService('0333'), $this->getService('0494'), $this->getService('0313'), $this->getService('0307'), ['stdClass', 'App\Framework\DI\Container'] ); } public function createServiceBetterReflectionReflector(): PHPStan\Reflection\BetterReflection\Reflector\MemoizingReflector { return new PHPStan\Reflection\BetterReflection\Reflector\MemoizingReflector($this->getService('originalBetterReflectionReflector')); } public function createServiceBetterReflectionSourceLocator(): PHPStan\BetterReflection\SourceLocator\Type\SourceLocator { return $this->getService('0317')->create(); } public function createServiceCacheStorage(): PHPStan\Cache\FileCacheStorage { return new PHPStan\Cache\FileCacheStorage('/home/michael/dev/michaelschiemer/var/phpstan/cache/PHPStan'); } public function createServiceContainer(): Container_76d77f364f { return $this; } public function createServiceCurrentPhpVersionLexer(): PhpParser\Lexer { return $this->getService('027')->create(); } public function createServiceCurrentPhpVersionPhpParser(): PhpParser\ParserAbstract { return $this->getService('currentPhpVersionPhpParserFactory')->create(); } public function createServiceCurrentPhpVersionPhpParserFactory(): PHPStan\Parser\PhpParserFactory { return new PHPStan\Parser\PhpParserFactory($this->getService('currentPhpVersionLexer'), $this->getService('043')); } public function createServiceCurrentPhpVersionRichParser(): PHPStan\Parser\RichParser { return new PHPStan\Parser\RichParser( $this->getService('currentPhpVersionPhpParser'), $this->getService('0487'), $this->getService('0345'), $this->getService('05') ); } public function createServiceCurrentPhpVersionSimpleDirectParser(): PHPStan\Parser\SimpleParser { return new PHPStan\Parser\SimpleParser( $this->getService('currentPhpVersionPhpParser'), $this->getService('0487'), $this->getService('018'), $this->getService('034') ); } public function createServiceCurrentPhpVersionSimpleParser(): PHPStan\Parser\CleaningParser { return new PHPStan\Parser\CleaningParser($this->getService('currentPhpVersionSimpleDirectParser'), $this->getService('043')); } public function createServiceDefaultAnalysisParser(): PHPStan\Parser\CachedParser { return new PHPStan\Parser\CachedParser($this->getService('pathRoutingParser'), 256); } public function createServiceErrorFormatter__checkstyle(): PHPStan\Command\ErrorFormatter\CheckstyleErrorFormatter { return new PHPStan\Command\ErrorFormatter\CheckstyleErrorFormatter($this->getService('simpleRelativePathHelper')); } public function createServiceErrorFormatter__github(): PHPStan\Command\ErrorFormatter\GithubErrorFormatter { return new PHPStan\Command\ErrorFormatter\GithubErrorFormatter($this->getService('simpleRelativePathHelper')); } public function createServiceErrorFormatter__gitlab(): PHPStan\Command\ErrorFormatter\GitlabErrorFormatter { return new PHPStan\Command\ErrorFormatter\GitlabErrorFormatter($this->getService('simpleRelativePathHelper')); } public function createServiceErrorFormatter__json(): PHPStan\Command\ErrorFormatter\JsonErrorFormatter { return new PHPStan\Command\ErrorFormatter\JsonErrorFormatter(false); } public function createServiceErrorFormatter__junit(): PHPStan\Command\ErrorFormatter\JunitErrorFormatter { return new PHPStan\Command\ErrorFormatter\JunitErrorFormatter($this->getService('simpleRelativePathHelper')); } public function createServiceErrorFormatter__prettyJson(): PHPStan\Command\ErrorFormatter\JsonErrorFormatter { return new PHPStan\Command\ErrorFormatter\JsonErrorFormatter(true); } public function createServiceErrorFormatter__raw(): PHPStan\Command\ErrorFormatter\RawErrorFormatter { return new PHPStan\Command\ErrorFormatter\RawErrorFormatter; } public function createServiceErrorFormatter__table(): PHPStan\Command\ErrorFormatter\TableErrorFormatter { return new PHPStan\Command\ErrorFormatter\TableErrorFormatter( $this->getService('relativePathHelper'), $this->getService('simpleRelativePathHelper'), $this->getService('0334'), true, null, null ); } public function createServiceErrorFormatter__teamcity(): PHPStan\Command\ErrorFormatter\TeamcityErrorFormatter { return new PHPStan\Command\ErrorFormatter\TeamcityErrorFormatter($this->getService('simpleRelativePathHelper')); } public function createServiceExceptionTypeResolver(): PHPStan\Rules\Exceptions\DefaultExceptionTypeResolver { return new PHPStan\Rules\Exceptions\DefaultExceptionTypeResolver($this->getService('reflectionProvider'), [], [], [], []); } public function createServiceFileExcluderAnalyse(): PHPStan\File\FileExcluder { return $this->getService('0331')->createAnalyseFileExcluder(); } public function createServiceFileExcluderScan(): PHPStan\File\FileExcluder { return $this->getService('0331')->createScanFileExcluder(); } public function createServiceFileFinderAnalyse(): PHPStan\File\FileFinder { return new PHPStan\File\FileFinder($this->getService('fileExcluderAnalyse'), $this->getService('0333'), ['php']); } public function createServiceFileFinderScan(): PHPStan\File\FileFinder { return new PHPStan\File\FileFinder($this->getService('fileExcluderScan'), $this->getService('0333'), ['php']); } public function createServiceFreshStubParser(): PHPStan\Parser\StubParser { return new PHPStan\Parser\StubParser($this->getService('php8PhpParser'), $this->getService('0487')); } public function createServiceNodeScopeResolverReflector(): PHPStan\Reflection\BetterReflection\Reflector\MemoizingReflector { return $this->getService('betterReflectionReflector'); } public function createServiceOriginalBetterReflectionReflector(): PHPStan\BetterReflection\Reflector\DefaultReflector { return new PHPStan\BetterReflection\Reflector\DefaultReflector($this->getService('betterReflectionSourceLocator')); } public function createServiceParentDirectoryRelativePathHelper(): PHPStan\File\ParentDirectoryRelativePathHelper { return new PHPStan\File\ParentDirectoryRelativePathHelper('/home/michael/dev/michaelschiemer'); } public function createServicePathRoutingParser(): PHPStan\Parser\PathRoutingParser { return new PHPStan\Parser\PathRoutingParser( $this->getService('0333'), $this->getService('currentPhpVersionRichParser'), $this->getService('currentPhpVersionSimpleParser'), $this->getService('php8Parser'), $this->getParameter('singleReflectionFile') ); } public function createServicePhp8Lexer(): PhpParser\Lexer\Emulative { return $this->getService('027')->createEmulative(); } public function createServicePhp8Parser(): PHPStan\Parser\SimpleParser { return new PHPStan\Parser\SimpleParser( $this->getService('php8PhpParser'), $this->getService('0487'), $this->getService('018'), $this->getService('034') ); } public function createServicePhp8PhpParser(): PhpParser\Parser\Php8 { return new PhpParser\Parser\Php8($this->getService('php8Lexer')); } public function createServicePhpParserDecorator(): PHPStan\Parser\PhpParserDecorator { return new PHPStan\Parser\PhpParserDecorator($this->getService('defaultAnalysisParser')); } public function createServicePhpstanDiagnoseExtension(): PHPStan\Diagnose\PHPStanDiagnoseExtension { return new PHPStan\Diagnose\PHPStanDiagnoseExtension( $this->getService('043'), 80400, $this->getService('0333'), ['/home/michael/dev/michaelschiemer'], [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/parametersSchema.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level1.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level0.neon', '/home/michael/dev/michaelschiemer/phpstan.neon', '/home/michael/dev/michaelschiemer/phpstan-baseline.neon', '/home/michael/dev/michaelschiemer/phpstan-rules.neon', ], $this->getService('040') ); } public function createServiceReflectionProvider(): PHPStan\Reflection\ReflectionProvider { return $this->getService('reflectionProviderFactory')->create(); } public function createServiceReflectionProviderFactory(): PHPStan\Reflection\ReflectionProvider\ReflectionProviderFactory { return new PHPStan\Reflection\ReflectionProvider\ReflectionProviderFactory($this->getService('betterReflectionProvider')); } public function createServiceRegistry(): PHPStan\Rules\LazyRegistry { return new PHPStan\Rules\LazyRegistry($this->getService('0345')); } public function createServiceRelativePathHelper(): PHPStan\File\FuzzyRelativePathHelper { return new PHPStan\File\FuzzyRelativePathHelper( $this->getService('parentDirectoryRelativePathHelper'), '/home/michael/dev/michaelschiemer', $this->getParameter('analysedPaths') ); } public function createServiceRules__0(): App\Framework\Quality\PHPStan\Rules\PreferValueObjectsRule { return new App\Framework\Quality\PHPStan\Rules\PreferValueObjectsRule; } public function createServiceRules__1(): App\Framework\Quality\PHPStan\Rules\UseFrameworkAbstractionsRule { return new App\Framework\Quality\PHPStan\Rules\UseFrameworkAbstractionsRule; } public function createServiceRules__2(): App\Framework\Quality\PHPStan\Rules\ForbiddenFunctionsRule { return new App\Framework\Quality\PHPStan\Rules\ForbiddenFunctionsRule; } public function createServiceRules__3(): App\Framework\Quality\PHPStan\Rules\UseClockAbstractionRule { return new App\Framework\Quality\PHPStan\Rules\UseClockAbstractionRule; } public function createServiceRules__4(): App\Framework\Quality\PHPStan\Rules\UseTimerAbstractionRule { return new App\Framework\Quality\PHPStan\Rules\UseTimerAbstractionRule; } public function createServiceRules__5(): App\Framework\Quality\PHPStan\Rules\UseDateTimeAbstractionRule { return new App\Framework\Quality\PHPStan\Rules\UseDateTimeAbstractionRule; } public function createServiceSimpleRelativePathHelper(): PHPStan\File\SimpleRelativePathHelper { return new PHPStan\File\SimpleRelativePathHelper('/home/michael/dev/michaelschiemer'); } public function createServiceStubFileTypeMapper(): PHPStan\Type\FileTypeMapper { return new PHPStan\Type\FileTypeMapper( $this->getService('0306'), $this->getService('stubParser'), $this->getService('046'), $this->getService('048'), $this->getService('039'), $this->getService('0333') ); } public function createServiceStubParser(): PHPStan\Parser\CachedParser { return new PHPStan\Parser\CachedParser($this->getService('freshStubParser'), 256); } public function createServiceStubPhpDocProvider(): PHPStan\PhpDoc\StubPhpDocProvider { return new PHPStan\PhpDoc\StubPhpDocProvider( $this->getService('stubParser'), $this->getService('stubFileTypeMapper'), $this->getService('045') ); } public function createServiceTypeSpecifier(): PHPStan\Analyser\TypeSpecifier { return $this->getService('typeSpecifierFactory')->create(); } public function createServiceTypeSpecifierFactory(): PHPStan\Analyser\TypeSpecifierFactory { return new PHPStan\Analyser\TypeSpecifierFactory($this->getService('0345')); } public function initialize(): void { } protected function getStaticParameters(): array { return [ 'bootstrapFiles' => [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/ReflectionUnionType.php', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/ReflectionAttribute.php', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/Attribute.php', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/runtime/ReflectionIntersectionType.php', '/home/michael/dev/michaelschiemer/tests/bootstrap.php', ], 'excludePaths' => [ 'analyseAndScan' => [ '/home/michael/dev/michaelschiemer/src/Framework/View/cache', '/home/michael/dev/michaelschiemer/src/Framework/Cache/storage', '/home/michael/dev/michaelschiemer/src/Application/Security/Events', '/home/michael/dev/michaelschiemer/src/*/views/*.php', ], 'analyse' => [], ], 'level' => 8, 'paths' => ['/home/michael/dev/michaelschiemer/src'], 'exceptions' => [ 'implicitThrows' => true, 'reportUncheckedExceptionDeadCatch' => true, 'uncheckedExceptionRegexes' => [], 'uncheckedExceptionClasses' => [], 'checkedExceptionRegexes' => [], 'checkedExceptionClasses' => [], 'check' => ['missingCheckedExceptionInThrows' => false, 'tooWideThrowType' => true], ], 'featureToggles' => [ 'bleedingEdge' => false, 'checkNonStringableDynamicAccess' => false, 'checkParameterCastableToNumberFunctions' => false, 'skipCheckGenericClasses' => [], 'stricterFunctionMap' => false, 'reportPreciseLineForUnusedFunctionParameter' => false, 'internalTag' => false, 'newStaticInAbstractClassStaticMethod' => false, ], 'fileExtensions' => ['php'], 'checkAdvancedIsset' => false, 'reportAlwaysTrueInLastCondition' => false, 'checkClassCaseSensitivity' => false, 'checkExplicitMixed' => false, 'checkImplicitMixed' => false, 'checkFunctionArgumentTypes' => false, 'checkFunctionNameCase' => false, 'checkInternalClassCaseSensitivity' => false, 'checkMissingCallableSignature' => false, 'checkMissingVarTagTypehint' => false, 'checkArgumentsPassedByReference' => false, 'checkMaybeUndefinedVariables' => true, 'checkNullables' => false, 'checkThisOnly' => true, 'checkUnionTypes' => false, 'checkBenevolentUnionTypes' => false, 'checkExplicitMixedMissingReturn' => false, 'checkPhpDocMissingReturn' => false, 'checkPhpDocMethodSignatures' => false, 'checkExtraArguments' => true, 'checkMissingTypehints' => false, 'checkTooWideReturnTypesInProtectedAndPublicMethods' => false, 'checkUninitializedProperties' => false, 'checkDynamicProperties' => false, 'strictRulesInstalled' => false, 'deprecationRulesInstalled' => false, 'inferPrivatePropertyTypeFromConstructor' => false, 'reportMaybes' => false, 'reportMaybesInMethodSignatures' => false, 'reportMaybesInPropertyPhpDocTypes' => false, 'reportStaticMethodSignatures' => false, 'reportWrongPhpDocTypeInVarTag' => false, 'reportAnyTypeWideningInVarTag' => false, 'reportPossiblyNonexistentGeneralArrayOffset' => false, 'reportPossiblyNonexistentConstantArrayOffset' => false, 'checkMissingOverrideMethodAttribute' => false, 'mixinExcludeClasses' => [], 'scanFiles' => [], 'scanDirectories' => [], 'parallel' => [ 'jobSize' => 20, 'processTimeout' => 600.0, 'maximumNumberOfProcesses' => 32, 'minimumNumberOfJobsPerProcess' => 2, 'buffer' => 134217728, ], 'phpVersion' => 80400, 'polluteScopeWithLoopInitialAssignments' => true, 'polluteScopeWithAlwaysIterableForeach' => true, 'polluteScopeWithBlock' => true, 'propertyAlwaysWrittenTags' => [], 'propertyAlwaysReadTags' => [], 'additionalConstructors' => [], 'treatPhpDocTypesAsCertain' => true, 'usePathConstantsAsConstantString' => false, 'rememberPossiblyImpureFunctionValues' => true, 'tips' => ['discoveringSymbols' => true, 'treatPhpDocTypesAsCertain' => true], 'tipsOfTheDay' => true, 'reportMagicMethods' => true, 'reportMagicProperties' => true, 'ignoreErrors' => [ [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Metrics\\\CacheMetricsInterface\:\:enableDebugMode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:getDriverMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:getHealthStatus\(\) has parameter \$stats with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:getMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:getSummary\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:resetMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\CacheMetricsController\:\:resetMetricsGet\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/CacheMetricsController.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\SessionManager\:\:getActiveSessionCount\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Call to function is_string\(\) with string will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Call to method getRoutes\(\) on an unknown class App\\\Framework\\\Router\\\RouteRegistry\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\Dashboard\:\:getMemoryLimitInBytes\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Parameter \#1 \$string1 of function strcmp expects string, int\|string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Parameter \#2 \$string2 of function strcmp expects string, int\|string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Property App\\\Application\\\Admin\\\Dashboard\:\:\$config is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Dashboard.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/HealthController.php', ], [ 'message' => '#^Method App\\\Application\\\Admin\\\HealthController\:\:getHealthSummary\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/HealthController.php', ], [ 'message' => '#^Caught class App\\\Application\\\Admin\\\Error not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/Images.php', ], [ 'message' => '#^Parameter \#1 \$id of method App\\\Domain\\\Media\\\ImageSlotRepository\:\:findById\(\) expects string, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageSlots.php', ], [ 'message' => '#^Cannot use array destructuring on array\\|false\.$#', 'identifier' => 'offsetAccess.nonArray', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Parameter \#1 \$hash of method App\\\Domain\\\Media\\\ImageRepository\:\:findByHash\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Parameter \$hash of class App\\\Domain\\\Media\\\Image constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Property App\\\Application\\\Admin\\\ShowImageUpload\:\:\$stringConverter is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowImageUpload.php', ], [ 'message' => '#^Parameter \#1 \$routes of class App\\\Application\\\Admin\\\RoutesViewModel constructor expects array\, list given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowRoutes.php', ], [ 'message' => '#^Property App\\\Application\\\Admin\\\ShowRoutes\:\:\$pathProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Admin/ShowRoutes.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 19, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\AnalyticsController\:\:exportData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\AnalyticsController\:\:getBusinessMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\AnalyticsController\:\:getRealTimeData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/AnalyticsController.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsDashboardService\:\:getTopPages\(\) should return array\ but returns list\\>\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsDashboardService.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getCurrentPageViews\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getLiveTraffic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getRealTimeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getRealTimeData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:getRecentActions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Property App\\\Application\\\Analytics\\\Service\\\AnalyticsRealTimeService\:\:\$storage is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsRealTimeService.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsReportService\:\:exportData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsReportService\:\:getBusinessMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsReportService\:\:getBusinessMetricsArray\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Method App\\\Application\\\Analytics\\\Service\\\AnalyticsReportService\:\:getFunnelData\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>value" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Analytics/Service/AnalyticsReportService.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Api/ExampleApiController.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 9, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Api/SimpleMarkdownController.php', ], [ 'message' => '#^Class App\\\Framework\\\Router\\\Result\\\ViewResult constructor invoked with 1 parameter, 2\-7 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Auth/ShowLogin.php', ], [ 'message' => '#^Property App\\\Application\\\Contact\\\StoreContactHandler\:\:\$contactRepository is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Contact/StoreContactHandler.php', ], [ 'message' => '#^Parameter \#2 \$metaData of class App\\\Framework\\\Router\\\Result\\\ViewResult constructor expects App\\\Framework\\\Meta\\\MetaData, App\\\Application\\\EPK\\\MetaData given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/EPK/ShowEpk.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Left side of && is always true\.$#', 'identifier' => 'booleanAnd.leftAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkDatabase\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkDatabase\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkFilesystem\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkMemory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkPhp\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Method App\\\Application\\\Health\\\HealthCheckController\:\:checkRedis\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Health/HealthCheckController.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/ChatController.php', ], [ 'message' => '#^Method App\\\Application\\\Http\\\Controllers\\\ChatController\:\:broadcast\(\) has parameter \$message with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/ChatController.php', ], [ 'message' => '#^Method App\\\Application\\\Http\\\Controllers\\\ChatController\:\:handleChatMessage\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/ChatController.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/NotificationController.php', ], [ 'message' => '#^Method App\\\Application\\\Http\\\Controllers\\\NotificationController\:\:getUserNotifications\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/NotificationController.php', ], [ 'message' => '#^Cannot instantiate interface App\\\Framework\\\Http\\\Response\.$#', 'identifier' => 'new.interface', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/QrCodeController.php', ], [ 'message' => '#^Parameter \#3 \$config of method App\\\Application\\\Service\\\QrCodeService\:\:generatePng\(\) expects App\\\Domain\\\QrCode\\\ValueObject\\\QrCodeConfig\|null, App\\\Application\\\Http\\\Controllers\\\QrCodeConfig given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/QrCodeController.php', ], [ 'message' => '#^Parameter \#3 \$config of method App\\\Application\\\Service\\\QrCodeService\:\:generateSvg\(\) expects App\\\Domain\\\QrCode\\\ValueObject\\\QrCodeConfig\|null, App\\\Application\\\Http\\\Controllers\\\QrCodeConfig given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Controllers/QrCodeController.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:getErrorTemplate\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Smartlink.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:getViewTemplate\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Smartlink.php', ], [ 'message' => '#^Property App\\\Application\\\Http\\\Smartlink\:\:\$handler is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Http/Smartlink.php', ], [ 'message' => '#^Function rmdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Method App\\\Application\\\Media\\\MediaCleanupService\:\:cleanupEmptyDirectories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Method App\\\Application\\\Media\\\MediaCleanupService\:\:cleanupUnusedFiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Method App\\\Application\\\Media\\\MediaCleanupService\:\:createImageVariants\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Method App\\\Application\\\Media\\\MediaCleanupService\:\:fullCleanup\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/MediaCleanupService.php', ], [ 'message' => '#^Function gmdate\(\) is forbidden\: Use Clock\:\:now\(\)\-\>setTimezone\(\) and format\(\) instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowImage.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 13, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowImage.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowImage.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function gmdate expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowImage.php', ], [ 'message' => '#^Parameter \#2 \$fileSize of static method App\\\Framework\\\Http\\\Streaming\\\RangeParser\:\:parseRange\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowVideo.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Framework\\\Http\\\Responses\\\StreamResponse constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Media/ShowVideo.php', ], [ 'message' => '#^Access to constant RAPIDMAIL_PASSWORD on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Newsletter/SignUp/NewsletterSignupHandler.php', ], [ 'message' => '#^Access to constant RAPIDMAIL_USERNAME on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Newsletter/SignUp/NewsletterSignupHandler.php', ], [ 'message' => '#^Call to static method getRapidmailListId\(\) on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Newsletter/SignUp/NewsletterSignupHandler.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:exportMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getMemoryStats\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getReport\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getRequestStats\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:getSummary\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Method App\\\Application\\\Performance\\\Http\\\Controller\\\PerformanceController\:\:resetMetrics\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Parameter \#1 \$value of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:parse\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Performance/Http/Controller/PerformanceController.php', ], [ 'message' => '#^Call to an undefined method Symfony\\\Component\\\Finder\\\Exception\\\AccessDeniedException\:\:getAction\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to an undefined method Symfony\\\Component\\\Finder\\\Exception\\\AccessDeniedException\:\:getRequiredPermission\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to an undefined method Symfony\\\Component\\\Finder\\\Exception\\\AccessDeniedException\:\:getResource\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getAlgorithm\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\CryptographicException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getErrors\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\ValidationException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getInvalidValue\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\ValidationException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getMessage\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\CryptographicException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Call to method getOperation\(\) on an unknown class App\\\Framework\\\Core\\\Exceptions\\\CryptographicException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Class App\\\Framework\\\Core\\\Exceptions\\\CryptographicException not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Class App\\\Framework\\\Core\\\Exceptions\\\ValidationException not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Parameter \$email of class App\\\Application\\\Security\\\Events\\\Authorization\\\AccessDeniedEvent constructor expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Parameter \$exception of method App\\\Application\\\Security\\\ExceptionHandlers\\\SecurityExceptionHandler\:\:handleCryptographicError\(\) has invalid type App\\\Framework\\\Core\\\Exceptions\\\CryptographicException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Parameter \$exception of method App\\\Application\\\Security\\\ExceptionHandlers\\\SecurityExceptionHandler\:\:handleValidationError\(\) has invalid type App\\\Framework\\\Core\\\Exceptions\\\ValidationException\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ExceptionHandlers/SecurityExceptionHandler.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:authenticate\(\) never returns App\\\Domain\\\User\\\User so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:authenticate\(\) should return App\\\Domain\\\User\\\User\|null but returns App\\\Framework\\\Database\\\Example\\\User\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:handleFailedAttempt\(\) expects App\\\Domain\\\User\\\User, App\\\Framework\\\Database\\\Example\\\User given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:handleSuccessfulLogin\(\) expects App\\\Domain\\\User\\\User, App\\\Framework\\\Database\\\Example\\\User given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Application\\\Security\\\Guards\\\AuthenticationGuard\:\:isAccountLocked\(\) expects App\\\Domain\\\User\\\User, App\\\Framework\\\Database\\\Example\\\User given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \$sessionId of class App\\\Application\\\Security\\\Events\\\Auth\\\AuthenticationSuccessEvent constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Parameter \$sessionId of class App\\\Application\\\Security\\\Events\\\Auth\\\SessionTerminatedEvent constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Guards/AuthenticationGuard.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Middleware/SecurityEventMiddleware.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Middleware\\\SecurityEventMiddleware\:\:analyzeResponse\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Middleware/SecurityEventMiddleware.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Middleware\\\SecurityEventMiddleware\:\:checkRateLimit\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Middleware/SecurityEventMiddleware.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Middleware\\\SecurityEventMiddleware\:\:validateCsrfToken\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Middleware/SecurityEventMiddleware.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:ACCOUNT_LOCKED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:AUDIT_FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:DATA_ACCESS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:FILE_UPLOAD\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:INJECTION_ATTEMPT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCESS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:MALWARE_DETECTED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:PRIVILEGE_ESCALATION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:SESSION_HIJACK\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:SESSION_TIMEOUT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Match expression does not handle remaining values\: App\\\Application\\\Security\\\SecurityEventType\:\:ADMIN_ACTION\|App\\\Application\\\Security\\\SecurityEventType\:\:CONFIG_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:CSRF_VIOLATION\|App\\\Application\\\Security\\\SecurityEventType\:\:EMAIL_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCEEDED\|App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:USER_DELETED$#', 'identifier' => 'match.unhandled', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\OWASPSecurityEventFactory\:\:createDataAccessIdentifier\(\) returns an array but should consider using a Value Object for better type safety and domain modeling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$attackType of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:maliciousInput\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$eventType of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:auditFailure\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$field of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:inputValidationFailure\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$filename of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:fileUploadFailure\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#1 \$malwareType of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:malwareDetected\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#2 \$fromRole of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:privilegeEscalation\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#2 \$resource of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:authorizationFailure\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Parameter \#3 \$toRole of static method App\\\Application\\\Security\\\ValueObjects\\\OWASPEventIdentifier\:\:privilegeEscalation\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventLogger.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityContext.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityContext.php', ], [ 'message' => '#^Cannot call method createFromSecurityEvent\(\) on App\\\Application\\\Security\\\OWASPSecurityEventFactory\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityEventLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityEventLogger.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\SecurityEventLogger\:\:extractPayload\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/SecurityEventLogger.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/FileUploadSecurityService.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Services\\\FileUploadSecurityService\:\:validateUpload\(\) has parameter \$file with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/FileUploadSecurityService.php', ], [ 'message' => '#^Parameter \#2 \$mimeType of method App\\\Application\\\Security\\\Services\\\FileUploadSecurityService\:\:dispatchSuspiciousUpload\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/FileUploadSecurityService.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Services\\\InputValidationService\:\:sanitizeInput\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/InputValidationService.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\Services\\\InputValidationService\:\:validateInput\(\) has parameter \$rules with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/Services/InputValidationService.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogFormat.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogFormat.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\ValueObjects\\\OWASPLogFormat\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogFormat.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:ACCOUNT_LOCKED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:AUDIT_FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:FILE_UPLOAD\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:INJECTION_ATTEMPT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCESS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:MALWARE_DETECTED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:PRIVILEGE_ESCALATION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:SESSION_HIJACK\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Access to undefined constant App\\\Application\\\Security\\\SecurityEventType\:\:SESSION_TIMEOUT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Match arm comparison between App\\\Application\\\Security\\\SecurityEventType\:\:ADMIN_ACTION\|App\\\Application\\\Security\\\SecurityEventType\:\:CONFIG_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:CSRF_VIOLATION\|App\\\Application\\\Security\\\SecurityEventType\:\:EMAIL_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCEEDED\|App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:USER_DELETED and App\\\Application\\\Security\\\SecurityEventType\:\:ACCESS_DENIED is always false\.$#', 'identifier' => 'match.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Match arm comparison between App\\\Application\\\Security\\\SecurityEventType\:\:ADMIN_ACTION\|App\\\Application\\\Security\\\SecurityEventType\:\:CONFIG_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:CSRF_VIOLATION\|App\\\Application\\\Security\\\SecurityEventType\:\:EMAIL_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_SUCCEEDED\|App\\\Application\\\Security\\\SecurityEventType\:\:PASSWORD_CHANGED\|App\\\Application\\\Security\\\SecurityEventType\:\:USER_DELETED and App\\\Application\\\Security\\\SecurityEventType\:\:LOGIN_FAILED is always false\.$#', 'identifier' => 'match.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/OWASPLogLevel.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/SecurityContext.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/ValueObjects/SecurityContext.php', ], [ 'message' => '#^Access to constant SHOPIFY_ACCESS_TOKEN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/CustomerController.php', ], [ 'message' => '#^Access to constant SHOPIFY_API_VERSION on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/CustomerController.php', ], [ 'message' => '#^Access to constant SHOPIFY_SHOP_DOMAIN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/CustomerController.php', ], [ 'message' => '#^Access to constant SHOPIFY_ACCESS_TOKEN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/OrderController.php', ], [ 'message' => '#^Access to constant SHOPIFY_API_VERSION on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/OrderController.php', ], [ 'message' => '#^Access to constant SHOPIFY_SHOP_DOMAIN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/OrderController.php', ], [ 'message' => '#^Access to constant SHOPIFY_ACCESS_TOKEN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductController.php', ], [ 'message' => '#^Access to constant SHOPIFY_API_VERSION on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductController.php', ], [ 'message' => '#^Access to constant SHOPIFY_SHOP_DOMAIN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductController.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ProductRequest\:\:__construct\(\) has parameter \$images with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductRequest.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ProductRequest\:\:__construct\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductRequest.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ProductRequest\:\:__construct\(\) has parameter \$variants with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ProductRequest.php', ], [ 'message' => '#^Access to constant SHOPIFY_ACCESS_TOKEN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopController.php', ], [ 'message' => '#^Access to constant SHOPIFY_API_VERSION on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopController.php', ], [ 'message' => '#^Access to constant SHOPIFY_SHOP_DOMAIN on an unknown class Archive\\\Config\\\ApiConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopController.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ShopifyWebhookHandler\:\:processCustomerCreated\(\) has parameter \$customerData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopifyWebhookHandler.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ShopifyWebhookHandler\:\:processOrderCreated\(\) has parameter \$orderData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopifyWebhookHandler.php', ], [ 'message' => '#^Method App\\\Application\\\Shopify\\\ShopifyWebhookHandler\:\:processProductUpdate\(\) has parameter \$productData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Shopify/ShopifyWebhookHandler.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$clock is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$connection is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$dateTimeFormatter is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$entityManager is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$imageRepository is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Property App\\\Application\\\Website\\\ShowHome\:\:\$urlGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowHome.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Website/ShowVcard.php', ], [ 'message' => '#^Method App\\\Domain\\\AI\\\AiQuery\:\:__construct\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/AI/AiQuery.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/Email.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_starts_with expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$string of function chunk_split expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/PhoneNumber.php', ], [ 'message' => '#^Parameter \#1 \$red of class App\\\Domain\\\Common\\\ValueObject\\\RGBColor constructor expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/RGBColor.php', ], [ 'message' => '#^Parameter \#2 \$green of class App\\\Domain\\\Common\\\ValueObject\\\RGBColor constructor expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/RGBColor.php', ], [ 'message' => '#^Parameter \#3 \$blue of class App\\\Domain\\\Common\\\ValueObject\\\RGBColor constructor expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Common/ValueObject/RGBColor.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\GdImageProcessor\:\:createImageFromFile\(\) should return GdImage but returns GdImage\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\GdImageProcessor\:\:createVariant\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Parameter \#1 \$width of function imagecreatetruecolor expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Parameter \#2 \$height of function imagecreatetruecolor expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Parameter \#6 \$color of function imagefilledrectangle expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Domain\\\Media\\\ImageVariant constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Variable \$format in PHPDoc tag @var does not exist\.$#', 'identifier' => 'varTag.variableNotFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Variable \$size in PHPDoc tag @var does not exist\.$#', 'identifier' => 'varTag.variableNotFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/GdImageProcessor.php', ], [ 'message' => '#^Cannot access property \$image on object\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageRepository\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageRepository\:\:findByFilename\(\) should return App\\\Domain\\\Media\\\Image\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageRepository\:\:findByHash\(\) should return App\\\Domain\\\Media\\\Image\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageRepository\:\:findById\(\) should return App\\\Domain\\\Media\\\Image\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Property App\\\Domain\\\Media\\\ImageRepository\:\:\$connection is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageResizer\:\:createImageFromFile\(\) should return GdImage but returns GdImage\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageResizer\:\:saveImage\(\) has parameter \$image with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Missing parameter \$size \(string\) in call to App\\\Domain\\\Media\\\ImageVariant constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Parameter \#1 \$width of function imagecreatetruecolor expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Parameter \#2 \$height of function imagecreatetruecolor expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Domain\\\Media\\\ImageVariant constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageResizer.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSlotRepository\:\:findById\(\) should return App\\\Domain\\\Media\\\ImageSlot but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSlotRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSlotRepository\:\:findBySlotName\(\) should return App\\\Domain\\\Media\\\ImageSlot but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSlotRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSlotRepository\:\:getSlots\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSlotRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:generateImgTag\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:generatePictureElement\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:generateSourceElement\(\) has parameter \$variants with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:getFallbackImage\(\) has parameter \$variantsByFormat with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:groupVariantsByFormat\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageSourceSetGenerator.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageVariantConfig\:\:getAllVariants\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageVariantConfig.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageVariantConfig\:\:getVariantsForType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageVariantConfig.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageVariantRepository\:\:findByFilename\(\) should return App\\\Domain\\\Media\\\ImageVariant\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageVariantRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImageVariantType\:\:getSizes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImageVariantType.php', ], [ 'message' => '#^Call to an undefined method Imagick\:\:autoOrientImage\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Method App\\\Domain\\\Media\\\ImagickImageProcessor\:\:createVariant\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Domain\\\Media\\\ImageVariant constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Variable \$format in PHPDoc tag @var does not exist\.$#', 'identifier' => 'varTag.variableNotFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Variable \$size in PHPDoc tag @var does not exist\.$#', 'identifier' => 'varTag.variableNotFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/ImagickImageProcessor.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Media/SaveImageFile.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Entity/MetaEntry.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Entity/MetaEntry.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Entity\\\MetaEntry\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Entity/MetaEntry.php', ], [ 'message' => '#^Parameter \#3 \$subject of function str_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Entity/MetaEntry.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:clearCache\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:createMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:deleteMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:getMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:listMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:toggleMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:updateMeta\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Controller\\\MetaAdminController\:\:validateTemplate\(\) has invalid return type App\\\Framework\\\Http\\\JsonResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Controller/MetaAdminController.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getAttribute\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getQueryParams\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getRouteParameters\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:setAttribute\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Response\:\:getBody\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Response\:\:getHeader\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Response\:\:setBody\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\RenderContext\:\:setMeta\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Middleware\\\MetaMiddleware\:\:extractContextFromRequest\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Middleware/MetaMiddleware.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\Max does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\MaxLength does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 11, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\Min does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\Required does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\Validation\\\Attributes\\\Url does not exist\.$#', 'identifier' => 'attribute.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Http\\\Request\\\MetaRequest\:\:getKeywordsAsArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Property App\\\Domain\\\Meta\\\Http\\\Request\\\MetaRequest\:\:\$customMeta type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Property App\\\Domain\\\Meta\\\Http\\\Request\\\MetaRequest\:\:\$keywords type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Http/Request/MetaRequest.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Interface\\\MetaAware\:\:getMetaKeywords\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Interface/MetaAware.php', ], [ 'message' => '#^Cannot call method fetchColumn\(\) on PDOStatement\|false\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Cannot call method format\(\) on DateTimeImmutable\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Cannot call method toArray\(\) on App\\\Domain\\\Meta\\\ValueObject\\\MetaData\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\DatabaseMetaRepository\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\DatabaseMetaRepository\:\:findAllByRoute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\DatabaseMetaRepository\:\:hydrateFromRow\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\DatabaseMetaRepository\:\:search\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/DatabaseMetaRepository.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\MetaRepositoryInterface\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/MetaRepositoryInterface.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\MetaRepositoryInterface\:\:findAllByRoute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/MetaRepositoryInterface.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Repository\\\MetaRepositoryInterface\:\:search\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Repository/MetaRepositoryInterface.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getRouteParameters\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getUri\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Call to method deleteByPattern\(\) on an unknown class App\\\Framework\\\Cache\\\CacheInterface\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Call to method get\(\) on an unknown class App\\\Framework\\\Cache\\\CacheInterface\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Call to method set\(\) on an unknown class App\\\Framework\\\Cache\\\CacheInterface\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:resolveForEntity\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:resolveForRequest\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:resolveForRoute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:merge\(\) expects App\\\Domain\\\Meta\\\ValueObject\\\MetaData, App\\\Domain\\\Meta\\\ValueObject\\\MetaData\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Parameter \$cache of method App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:__construct\(\) has invalid type App\\\Framework\\\Cache\\\CacheInterface\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Property App\\\Domain\\\Meta\\\Service\\\MetaManager\:\:\$cache has unknown class App\\\Framework\\\Cache\\\CacheInterface as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaManager.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:extractPlaceholders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:getNestedValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolve\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolveCustomMeta\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolveCustomMeta\(\) has parameter \$customMeta with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolveCustomMeta\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:resolveTemplate\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\Service\\\MetaTemplateResolver\:\:validateTemplate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Offset 1 on array\{list\, list\\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Offset 2 on array\{list\, list\, list\\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace_callback expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/Service/MetaTemplateResolver.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:__construct\(\) has parameter \$customMeta with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/ValueObject/MetaData.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:__construct\(\) has parameter \$keywords with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/ValueObject/MetaData.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/ValueObject/MetaData.php', ], [ 'message' => '#^Method App\\\Domain\\\Meta\\\ValueObject\\\MetaData\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/Meta/ValueObject/MetaData.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\AlignmentPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/AlignmentPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\AlignmentPattern\:\:applyPattern\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/AlignmentPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\AlignmentPattern\:\:calculatePositions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/AlignmentPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\AlignmentPatternTable\:\:getPositions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/AlignmentPatternTable.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\DarkModulePattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/DarkModulePattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\FinderPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/FinderPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\FinderPattern\:\:applySeparator\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/FinderPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\FinderPattern\:\:createAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/FinderPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\FormatInfoPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/FormatInfoPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\PatternInterface\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/PatternInterface.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\TimingPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/TimingPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\VersionInfoPattern\:\:apply\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/VersionInfoPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\VersionInfoPattern\:\:placeVersionInfo\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/VersionInfoPattern.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Pattern\\\VersionInfoPattern\:\:placeVersionInfoTransposed\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Pattern/VersionInfoPattern.php', ], [ 'message' => '#^Match expression does not handle remaining values\: 0\|int\<4, max\>$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeEncoder\:\:addPadBytes\(\) has parameter \$errorCorrectionLevel with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeEncoder\:\:addTerminator\(\) has parameter \$errorCorrectionLevel with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:applyMask\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:calculateMaskPenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:evaluateBalancePenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:evaluateConsecutiveModulesPenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:evaluateFinderPatternLikePenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:evaluateSameColorBlocksPenalty\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeMasker\:\:findBestMask\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeMasker.php', ], [ 'message' => '#^Comparison operation "\>\=" between int\<0, max\> and 0 is always true\.$#', 'identifier' => 'greaterOrEqual.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeRenderer.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeRenderer\:\:applyFunctionalPatterns\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeRenderer.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\QrCodeRenderer\:\:placeData\(\) has parameter \$matrix with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/QrCodeRenderer.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:binaryToBytes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:bytesToBinary\(\) has parameter \$bytes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:interleaveBlocks\(\) has parameter \$blocks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:interleaveBlocks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:organizeDataBlocks\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomon\:\:organizeDataBlocks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomon.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomonEncoder\:\:encode\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomonEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\Service\\\ReedSolomonEncoder\:\:encode\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/Service/ReedSolomonEncoder.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\GaloisField\:\:getExpTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/GaloisField.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\GaloisField\:\:getLogTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/GaloisField.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\Polynomial\:\:divideAndRemainder\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/Polynomial.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\Polynomial\:\:getCoefficients\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/Polynomial.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\Polynomial\:\:removeLeadingZeros\(\) has parameter \$coefficients with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/Polynomial.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\Polynomial\:\:removeLeadingZeros\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/Polynomial.php', ], [ 'message' => '#^Method App\\\Domain\\\QrCode\\\ValueObject\\\QrCodeMatrix\:\:toPng\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#1 \$width of function imagecreate expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#2 \$height of function imagecreate expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#4 \$color of function imagefill expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#6 \$color of function imagefilledrectangle expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/QrCode/ValueObject/QrCodeMatrix.php', ], [ 'message' => '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Domain/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Function setcookie\(\) is forbidden\: Use Cookie abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:getCounters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:getSessionId\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:storeAggregatedData\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackAction\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackApiCall\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackBusinessEvent\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsCollector\:\:trackPageView\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\AnalyticsConfig\:\:__construct\(\) has parameter \$sensitiveKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/AnalyticsConfig.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/BusinessEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Events\\\BusinessEvent\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/BusinessEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Analytics\\\Events\\\BusinessEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/BusinessEvent.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/BusinessEvent.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/PageView.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Events\\\PageView\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/PageView.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Analytics\\\Events\\\PageView\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/PageView.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/PageView.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/SecurityEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Events\\\SecurityEvent\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/SecurityEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Analytics\\\Events\\\SecurityEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/SecurityEvent.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/SecurityEvent.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/UserAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Events\\\UserAction\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/UserAction.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Analytics\\\Events\\\UserAction\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/UserAction.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Events/UserAction.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Listeners/SecurityAnalyticsListener.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Listeners\\\SecurityAnalyticsListener\:\:sanitizeProperties\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Listeners/SecurityAnalyticsListener.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Listeners\\\SecurityAnalyticsListener\:\:sanitizeProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Listeners/SecurityAnalyticsListener.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:getAggregated\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:getTimeSeries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:getTopList\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:storeAggregated\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\AnalyticsStorage\:\:storeRawData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/AnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:createDirectory\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:exists\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:lastModified\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\AtomicStorage\|App\\\Framework\\\Filesystem\\\Storage\:\:listDirectory\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:getAggregated\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:getTimeSeries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:getTopList\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:storeAggregated\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:storeRawData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Property App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:\$aggregatedData type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Property App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:\$performanceCollector is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Property App\\\Framework\\\Analytics\\\Storage\\\PerformanceBasedAnalyticsStorage\:\:\$rawDataBuffer type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Analytics/Storage/PerformanceBasedAnalyticsStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Api\\\ApiException\:\:getResponseData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Api/ApiException.php', ], [ 'message' => '#^Attribute class Attribute constructor invoked with 2 parameters, 0\-1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Attributes/StaticPage.php', ], [ 'message' => '#^Call to an undefined method object\:\:getDeclaringClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Auth/AuthMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Auth/AuthMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Auth\\\AuthMapper\:\:map\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Auth/AuthMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Auth\\\AuthMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Auth/AuthMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheBuilder\:\:createDevelopment\(\) has parameter \$validationConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheBuilder\:\:createFull\(\) has parameter \$validationConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheBuilder\:\:withValidation\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheDecorator\:\:__call\(\) has parameter \$args with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheInitializer\:\:clear\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheInitializer.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Commands/ClearCache.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/FileCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Driver\\\FileCache\:\:getFilesForKey\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/FileCache.php', ], [ 'message' => '#^Parameter \#1 \$string of function md5 expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/FileCache.php', ], [ 'message' => '#^Property App\\\Framework\\\Cache\\\Driver\\\InMemoryCache\:\:\$data type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/InMemoryCache.php', ], [ 'message' => '#^Comparison operation "\>" between \(bool\|int\|Redis\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/RedisCache.php', ], [ 'message' => '#^Comparison operation "\>" between \(int\|Redis\|false\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/RedisCache.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Driver/RedisCache.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheClear.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheClear\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheClear.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheClear.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheDelete.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheDelete\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheDelete.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheDelete.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheHit.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheHit\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheHit.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheHit.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheMiss.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheMiss\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheMiss.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheMiss.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheSet.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Cache\\\Events\\\CacheSet\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheSet.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and \-1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Events/CacheSet.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/FileCacheCleaner.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\Storage\:\:listDirectory\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/FileCacheCleaner.php', ], [ 'message' => '#^Result of method App\\\Framework\\\Filesystem\\\Storage\:\:delete\(\) \(void\) is used\.$#', 'identifier' => 'method.void', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/FileCacheCleaner.php', ], [ 'message' => '#^Strict comparison using \=\=\= between null and null will always evaluate to true\.$#', 'identifier' => 'identical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/FileCacheCleaner.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:deleteMultiple\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:getMultiple\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:setMultiple\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\LoggingCacheDecorator\:\:deleteMultiple\(\) has parameter \$keys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\LoggingCacheDecorator\:\:getMultiple\(\) has parameter \$keys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\LoggingCacheDecorator\:\:getMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\LoggingCacheDecorator\:\:setMultiple\(\) has parameter \$items with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/LoggingCacheDecorator.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:getFormattedDriverStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:getHeaviestKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:getStatsForDriver\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:getTopKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:\$keyStats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Cache\\\Metrics\\\CacheMetrics\:\:\$stats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetricsInterface\:\:getHeaviestKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetricsInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetricsInterface\:\:getStatsForDriver\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetricsInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheMetricsInterface\:\:getTopKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheMetricsInterface.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:__construct\(\) has parameter \$driverStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:__construct\(\) has parameter \$heaviestKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:__construct\(\) has parameter \$topKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:getRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\CacheStatsSnapshot\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/CacheStatsSnapshot.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/MetricsDecoratedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Metrics\\\MetricsDecoratedCache\:\:sanitizeKey\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/MetricsDecoratedCache.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/MetricsDecoratedCache.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/Metrics/MetricsDecoratedCache.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MetricsCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\MetricsCacheDecorator\:\:sanitizeKey\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MetricsCacheDecorator.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MetricsCacheDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\ValidationCacheDecorator\:\:__construct\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/ValidationCacheDecorator.php', ], [ 'message' => '#^Binary operation "\+" between App\\\Framework\\\Cache\\\CacheItem and 1 results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Binary operation "\-" between int and App\\\Framework\\\Cache\\\CacheItem results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\Cache\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreaker\:\:calculateRetryAfter\(\) should return int but returns float\|int\<0, max\>\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreaker\:\:getHalfOpenAttempts\(\) should return int but returns App\\\Framework\\\Cache\\\CacheItem\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreaker\:\:getMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreaker.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:__construct\(\) has parameter \$configurations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:determineHealthStatus\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:exportConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:getAllServicesStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:getGlobalStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:getServiceConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:getServicesInNamespace\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:importConfiguration\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:performHealthChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerManager\:\:performServiceHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerManager.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMiddleware\:\:__construct\(\) has parameter \$protectedServices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerMiddleware.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerMiddleware.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fclose expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fgets expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Commands/CircuitBreakerCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\DatabaseCircuitBreaker\:\:getStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientRequest\:\:getUrl\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:getStatusCode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\HttpClient\:\:request\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:__construct\(\) has parameter \$serviceConfigs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:delete\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:get\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:getServicesStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:post\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:put\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\HttpClientCircuitBreaker\:\:withServices\(\) has parameter \$services with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Parameter \#1 \$method of class App\\\Framework\\\HttpClient\\\ClientRequest constructor expects App\\\Framework\\\Http\\\Method, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Parameter \#2 \$response of class App\\\Framework\\\HttpClient\\\Exception\\\ClientErrorException constructor expects App\\\Framework\\\HttpClient\\\ClientResponse, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Parameter \#3 \$headers of class App\\\Framework\\\HttpClient\\\ClientRequest constructor expects App\\\Framework\\\Http\\\Headers, array given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\CircuitBreaker\\\CircuitBreaker\:\:execute\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlerCompiler\:\:compile\(\) has parameter \$handlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlerCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlerDescriptor\:\:fromHandlerArray\(\) has parameter \$handler with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerDescriptor.php', ], [ 'message' => '#^Cannot call method getName\(\) on ReflectionType\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlerMapper.php', ], [ 'message' => '#^Class App\\\Framework\\\CommandBus\\\CommandHandlersCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlersCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlersCollection\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlersCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\CommandHandlersCollection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlersCollection.php', ], [ 'message' => '#^Property App\\\Framework\\\CommandBus\\\CommandHandlersCollection\:\:\$handlers type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/CommandHandlersCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\DefaultCommandBus\:\:__construct\(\) has parameter \$middlewares with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\DefaultCommandBus\:\:__debugInfo\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Method App\\\Framework\\\CommandBus\\\DefaultCommandBus\:\:__debugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Property App\\\Framework\\\CommandBus\\\DefaultCommandBus\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CommandBus/DefaultCommandBus.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Configuration.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Configuration\:\:__construct\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Configuration.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Configuration\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Configuration.php', ], [ 'message' => '#^Property App\\\Framework\\\Config\\\Configuration\:\:\$config type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Configuration.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Console\\\ConsoleOutput\:\:askPassword\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Console/SecretsCommand.php', ], [ 'message' => '#^Parameter \#1 \$basePath of method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:generateSecretsTemplate\(\) expects App\\\Framework\\\Filesystem\\\FilePath\|string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Console/SecretsCommand.php', ], [ 'message' => '#^Parameter \#1 \$basePath of method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:validateEncryptionSetup\(\) expects App\\\Framework\\\Filesystem\\\FilePath\|string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Console/SecretsCommand.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:encryptSecretsInFile\(\) has parameter \$keysToEncrypt with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:generateSecretsTemplate\(\) has parameter \$secretKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:parseEnvFile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:validateEncryptionSetup\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Property App\\\Framework\\\Config\\\EncryptedEnvLoader\:\:\$randomGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/EncryptedEnvLoader.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Environment\:\:__construct\(\) has parameter \$variables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Environment\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\Environment\:\:withVariables\(\) has parameter \$variables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Parameter \#1 \$callback of function forward_static_call expects callable\(\)\: mixed, array\{string, \'tryFrom\'\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/Environment.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecretManager\:\:getSecretKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecretManager\:\:getSecurityContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecretManager\:\:rotateSecrets\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecretManager\:\:validateSecretsForContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecretManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Config\\\SecurityConfig\:\:__construct\(\) has parameter \$allowedHosts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/SecurityConfig.php', ], [ 'message' => '#^Parameter \$timezone of class App\\\Framework\\\Config\\\AppConfig constructor expects App\\\Framework\\\DateTime\\\Timezone, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/TypedConfigInitializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\InteractiveMenu\:\:readKey\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/InteractiveMenu.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/InteractiveMenu.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Components\\\InteractiveMenu\:\:\$menuItems type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/InteractiveMenu.php', ], [ 'message' => '#^Cannot call method apply\(\) on App\\\Framework\\\Console\\\ConsoleStyle\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\Table\:\:addRow\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\Table\:\:renderRow\(\) has parameter \$cells with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\Table\:\:setHeaders\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\Table\:\:setRows\(\) has parameter \$rows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Parameter \#2 \$style of method App\\\Framework\\\Console\\\Components\\\Table\:\:renderRow\(\) expects App\\\Framework\\\Console\\\ConsoleStyle, App\\\Framework\\\Console\\\ConsoleStyle\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Components\\\Table\:\:\$columnWidths type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Components\\\Table\:\:\$headers type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Components\\\Table\:\:\$rows type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/Table.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\TextBox\:\:splitTextIntoLines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/TextBox.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\Components\\\TextBox\:\:wrapText\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/TextBox.php', ], [ 'message' => '#^Cannot call method apply\(\) on App\\\Framework\\\Console\\\ConsoleStyle\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Components/TreeHelper.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleApplication\:\:executeCommand\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleApplication\:\:run\(\) has parameter \$argv with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Parameter \#1 \$output of class App\\\Framework\\\Console\\\Components\\\InteractiveMenu constructor expects App\\\Framework\\\Console\\\ConsoleOutput, App\\\Framework\\\Console\\\ConsoleOutputInterface given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\ConsoleApplication\:\:\$commands type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.php', ], [ 'message' => '#^Call to an undefined method object\:\:getDeclaringClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleCommandMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleCommandMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleCommandMapper\:\:map\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleCommandMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleCommandMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleCommandMapper.php', ], [ 'message' => '#^Cannot call method askQuestion\(\) on App\\\Framework\\\Console\\\ConsoleOutputInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Cannot call method confirm\(\) on App\\\Framework\\\Console\\\ConsoleOutputInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Cannot call method write\(\) on App\\\Framework\\\Console\\\ConsoleOutputInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Cannot call method writeLine\(\) on App\\\Framework\\\Console\\\ConsoleOutputInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:__construct\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:choice\(\) has parameter \$choices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:getArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:menu\(\) has parameter \$items with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:multiSelect\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:multiSelect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInput\:\:parseArguments\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Parameter \#1 \$output of class App\\\Framework\\\Console\\\Components\\\InteractiveMenu constructor expects App\\\Framework\\\Console\\\ConsoleOutput, App\\\Framework\\\Console\\\ConsoleOutputInterface\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\ConsoleInput\:\:\$arguments type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\ConsoleInput\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInput.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:choice\(\) has parameter \$choices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:getArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:menu\(\) has parameter \$items with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:multiSelect\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\ConsoleInputInterface\:\:multiSelect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleInputInterface.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleOutput.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/DemoCommand.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ProgressBar.php', ], [ 'message' => '#^Strict comparison using \=\=\= between float and 0 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ProgressBar.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Spinner.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Spinner\:\:\$frames type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Spinner.php', ], [ 'message' => '#^Property App\\\Framework\\\Console\\\Spinner\:\:\$updateCount \(int\) does not accept float\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/Spinner.php', ], [ 'message' => '#^Method App\\\Framework\\\Console\\\SpinnerStyle\:\:getFrames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/SpinnerStyle.php', ], [ 'message' => '#^Method App\\\Framework\\\Context\\\ExecutionContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Context/ExecutionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Context\\\ExecutionContext\:\:getMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Context/ExecutionContext.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Application.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeCompiler\:\:compile\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeCompiler.php', ], [ 'message' => '#^Call to method create\(\) on an unknown class Archive\\\Async1\\\DiscoveryFactory\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeDiscoveryService\:\:discoverAndProcess\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:__construct\(\) has parameter \$attributeMappers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:getAllMappedAttributes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:getAttributesOfType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:getProcessingStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributes\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:serializeReflector\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:\$attributeMappers type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:\$mappedAttributes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:\$mapperByClass type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:\$processingStats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:extractMethodParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:processAttributes\(\) has parameter \$ref with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:processAttributes\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:processClass\(\) has parameter \$refClass with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeProcessor\:\:processClass\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeProcessor.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ClassParser\:\:getClassesInFile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ClassParser\:\:getTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ClassParser\:\:parseClassName\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ClassParser\:\:parseNamespace\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\ClassParser\:\:\$classCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\ClassParser\:\:\$tokenCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ClassParser.php', ], [ 'message' => '#^PHPDoc tag @param for parameter \$mappers with type array\ is incompatible with native type App\\\Framework\\\Core\\\AttributeMapper\.$#', 'identifier' => 'parameter.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Discovery.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DiscoveryCacheManager\:\:loadCache\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DiscoveryCacheManager\:\:storeCache\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Parameter \#1 \$string of function md5 expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DiscoveryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DynamicRoute\:\:__construct\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DynamicRoute.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DynamicRoute\:\:__construct\(\) has parameter \$paramNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DynamicRoute.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DynamicRoute\:\:__construct\(\) has parameter \$paramValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DynamicRoute.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\DynamicRoute\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/DynamicRoute.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ErrorHandler/GlobalErrorHandler.php', ], [ 'message' => '#^Class OutOfMemoryError not found\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ErrorHandler/GlobalErrorHandler.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ErrorHandler/GlobalErrorHandler.php', ], [ 'message' => '#^Instanceof between Exception and ParseError will always evaluate to false\.$#', 'identifier' => 'instanceof.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ErrorHandler/GlobalErrorHandler.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/ApplicationBooted.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/ErrorOccurred.php', ], [ 'message' => '#^Anonymous function has an unused use \$container\.$#', 'identifier' => 'closure.unusedUse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventCompilerPass.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:__construct\(\) has parameter \$eventHandlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:__invoke\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:invokeHandler\(\) has parameter \$handler with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:\$handlers type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcher.php', ], [ 'message' => '#^Parameter \#1 \$container of class App\\\Framework\\\Core\\\Events\\\EventDispatcher constructor expects App\\\Framework\\\DI\\\DefaultContainer, App\\\Framework\\\DI\\\Container given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcherInitializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventDispatcherInterface\:\:dispatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventDispatcherInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerCompiler\:\:compile\(\) has parameter \$attributeData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerCompiler.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerMapper\:\:process\(\) has parameter \$attributeData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Events\\\EventHandlerMapper\:\:process\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/UserRegistered.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationLocator.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationLocator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:__construct\(\) has parameter \$targetInterfaces with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:getAllImplementations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:getClassInterfaces\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:getImplementations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:\$implementations type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:\$implementationsByClass type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:\$interfaces is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\InterfaceImplementationVisitor\:\:\$interfaces type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/InterfaceImplementationVisitor.php', ], [ 'message' => '#^Argument of an invalid type array\|null supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\PathProvider\:\:\$namespacePaths type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\PathProvider\:\:\$resolvedPaths type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PathProvider.php', ], [ 'message' => '#^Static method App\\\Framework\\\Core\\\PhpObjectExporter\:\:export\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/PhpObjectExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\Route\:\:\$attributes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Route.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\Route\:\:\$parameters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Route.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCache.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteCache\:\:load\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteCache\:\:save\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteCompiler\:\:compileOptimized\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Offset \'http_method\' does not exist on array\{method\: string, path\: string, controller\: class\-string, handler\: string\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Offset \'name\' on \*NEVER\* on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Offset \'parameters\' on \*NEVER\* on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\RouteCompiler\:\:\$named is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Strict comparison using \=\=\= between \'\*\' and \'\*\' will always evaluate to true\.$#', 'identifier' => 'identical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:findRoute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:getRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:getRoutesForController\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function str_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:\$routes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:\$routesByController type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Core\\\RouteDiscoveryVisitor\:\:\$routesByPath type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\RouteMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/RouteMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\StaticRoute\:\:__construct\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/StaticRoute.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\StaticRoute\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/StaticRoute.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Parameter \#3 \$length of function substr expects int\|null, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/EmailAddress.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailSecurityService\:\:detectSimilarEmails\(\) has parameter \$existingEmails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailSecurityService\:\:detectSimilarEmails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailValidationService\:\:__construct\(\) has parameter \$allowedDomains with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailValidationService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailValidationService\:\:__construct\(\) has parameter \$blockedDomains with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailValidationService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailValidationService\:\:suggestCorrections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailValidationService.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\EmailValidationService\:\:validateSyntax\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/EmailValidationService.php', ], [ 'message' => '#^Cannot access offset \'fragment\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'host\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'path\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'port\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'query\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'scheme\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Cannot access offset \'user\' on array\{scheme\?\: string, host\?\: string, port\?\: int\<0, 65535\>, user\?\: string, pass\?\: string, path\?\: string, query\?\: string, fragment\?\: string\}\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\UrlManipulator\:\:buildUrl\(\) has parameter \$parsed with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\UrlManipulator\:\:withQuery\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/UrlManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:build\(\) has parameter \$query with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:getQueryParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$fragment is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$fragment is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$host is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$host is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$password is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$password is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$path is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$path is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$port is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$port is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$query is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$query is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$scheme is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$scheme is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$user is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Core\\\ValueObjects\\\Url\:\:\$user is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>value" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Url.php', ], [ 'message' => '#^Call to an undefined method object\:\:compile\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Call to an undefined method object\:\:getAttributeClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\AttributeProcessorRegistry\:\:processAll\(\) has parameter \$discoveryResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\AttributeProcessorRegistry\:\:processAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) expects class\-string\, App\\\Framework\\\Core\\\AttributeCompiler given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) expects class\-string\, App\\\Framework\\\Core\\\AttributeMapper given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\AttributeProcessorRegistry\:\:\$compilers \(array\\) does not accept array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\AttributeProcessorRegistry\:\:\$mappers \(array\\) does not accept array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/AttributeProcessorRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\BindingRegistry\:\:getAllBindings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/BindingRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\BindingRegistry\:\:\$bindings type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/BindingRegistry.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:analyzeDependencies\(\) has parameter \$services with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:analyzeDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:analyzeServiceDependencies\(\) has parameter \$analyzedServices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:analyzeServiceDependencies\(\) has parameter \$dependencies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:compile\(\) has parameter \$services with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) should return T of object but returns object\.$#', 'identifier' => 'return.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) should return T of object but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DefaultContainer\:\:getRegisteredServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Parameter \#2 \$concrete of method App\\\Framework\\\DI\\\DefaultContainer\:\:resolveBinding\(\) expects \(callable\(\)\: mixed\)\|object\|string, \(callable\(\)\: mixed\)\|object\|string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\DefaultContainer\:\:\$resolving type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DefaultContainer.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DependencyResolver\:\:resolveDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DependencyResolver\:\:resolveFromCache\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DependencyResolver\:\:resolveParameter\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\DependencyResolver\:\:\$constructorCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Exceptions\\\CyclicDependencyException\:\:__construct\(\) has parameter \$dependencyChain with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Exceptions/CyclicDependencyException.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Exceptions\\\ParameterResolutionException\:\:__construct\(\) has parameter \$dependencyChain with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Exceptions/ParameterResolutionException.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InitializerDependencyGraph\:\:analyzeDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerDependencyGraph.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InitializerDependencyGraph\:\:getNodes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerDependencyGraph.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InitializerDependencyGraph\:\:topologicalSort\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerDependencyGraph.php', ], [ 'message' => '#^Offset string on array\{\} in isset\(\) does not exist\.$#', 'identifier' => 'isset.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerDependencyGraph.php', ], [ 'message' => '#^Call to an undefined method object\:\:getDeclaringClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:getReturnType\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InitializerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\InstanceRegistry\:\:getAllRegistered\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InstanceRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\InstanceRegistry\:\:\$instances type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InstanceRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\InstanceRegistry\:\:\$singletons type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InstanceRegistry.php', ], [ 'message' => '#^Strict comparison using \!\=\= between mixed and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InstanceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:invoke\(\) has parameter \$overrides with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:invokeOn\(\) has parameter \$overrides with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:invokeStatic\(\) has parameter \$overrides with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:resolveMethodParameters\(\) has parameter \$overrides with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\MethodInvoker\:\:resolveMethodParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Part \$instance \(object\) of encapsed string cannot be cast to string\.$#', 'identifier' => 'encapsedStringPart.nonString', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/MethodInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ReflectionCache\:\:get\(\) return type with generic class ReflectionClass does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ReflectionCache\:\:getMethodParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\ReflectionCache\:\:\$classCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\ReflectionCache\:\:\$methodCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\ReflectionCache\:\:\$parameterCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ReflectionCache.php', ], [ 'message' => '#^Binary operation "\-" between 100 and App\\\Framework\\\Core\\\ValueObjects\\\Percentage results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupMetadata\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupMetadata\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:__construct\(\) has parameter \$excludeTables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:__construct\(\) has parameter \$includeTables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:excludingTables\(\) has parameter \$tables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\BackupOptions\:\:withTables\(\) has parameter \$tables with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/BackupOptions.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/Console/BackupCommand.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/Console/BackupCommand.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Filesystem\\\File\:\:read\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Filesystem\\\File\:\:write\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\DatabaseBackupService\:\:getTables\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Backup\\\DatabaseBackupService\:\:listBackups\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Offset \'Create Table\' might not exist on array\|null\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Parameter \#1 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Parameter \#1 \$permissions of method App\\\Framework\\\Filesystem\\\Directory\:\:create\(\) expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Parameter \$checksum of class App\\\Framework\\\Database\\\Backup\\\BackupMetadata constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Backup\\\DatabaseBackupService\:\:\$randomGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Static call to instance method App\\\Framework\\\Filesystem\\\Directory\:\:create\(\)\.$#', 'identifier' => 'method.staticCall', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Backup/DatabaseBackupService.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:findByQuery\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:findByQuery\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:preloadBelongsTo\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:preloadHasMany\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\BatchRelationLoader\:\:preloadOneToOne\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Parameter \#1 \$entityClass of method App\\\Framework\\\Database\\\BatchRelationLoader\:\:findByQuery\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Parameter \#2 \$foreignKeyProperty of method App\\\Framework\\\Database\\\BatchRelationLoader\:\:groupByForeignKey\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Parameter \#2 \$propertyName of method App\\\Framework\\\Database\\\BatchRelationLoader\:\:getPropertyValue\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/BatchRelationLoader.php', ], [ 'message' => '#^Call to function method_exists\(\) with App\\\Framework\\\Cache\\\Cache and \'clear\' will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:set\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:setWithTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:setWithTags\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:setWithTags\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:withTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\CacheAdapterStrategy\:\:\$stats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Call to method age\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Call to static method fromClock\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getEntityMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getOverviewMetrics\(\) has parameter \$cacheStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getPerformanceMetrics\(\) has parameter \$cacheStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getRecommendations\(\) has parameter \$cacheStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getRegionMetrics\(\) has parameter \$regionStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getRegionMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getSlowQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:getTopQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Parameter \$totalRequests of class App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheOverviewMetrics constructor expects int, array\|float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:\$entityMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:\$queryMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\CacheMetrics\:\:\$startTime has unknown class App\\\Framework\\\Database\\\Events\\\Timestamp as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheStrategy\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheStrategy\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheStrategy\:\:set\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:createCriticalStrategy\(\) has parameter \$entityIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:createCriticalStrategy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:executeWarmupStrategy\(\) has parameter \$strategy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:executeWarmupStrategy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:getDefaultStrategies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpAllEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpCriticalEntities\(\) has parameter \$entityIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpCriticalEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpEntities\(\) has parameter \$warmupStrategies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpPopularEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\CacheWarmupStrategy\:\:warmUpRecentEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheWarmupStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheKey\:\:forCollection\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheKey\:\:forCollection\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheKey\:\:forQuery\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheKey.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\IdentityMap\:\:add\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\Metadata\\\EntityMetadata\:\:getIdProperty\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:executeWarmUpStrategy\(\) has parameter \$strategy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:findCollection\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:findCollection\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:findCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:getStrategyForEntity\(\) should return string but returns App\\\Framework\\\Database\\\Cache\\\CacheStrategy\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:shouldCacheCollection\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:shouldCacheCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:warmUpCache\(\) has parameter \$warmUpStrategies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\IdentityMap\:\:clear\(\) invoked with 1 parameter, 0 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:\$strategies \(array\\) does not accept array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Cache\\\EntityCacheManager\:\:\$enabled is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/EntityCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:getCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:getQueryResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:getRegionStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:putCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\NullSecondLevelCache\:\:putQueryResult\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/NullSecondLevelCache.php', ], [ 'message' => '#^Cannot access offset \'hits\' on array\{hits\: 0, misses\: 0\}\|int\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Cannot access offset \'misses\' on array\{hits\: 0, misses\: 0\}\|int\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:createQueryCacheKey\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:getQueryStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:hashQuery\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:query\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:shouldCacheQuery\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Missing parameter \$connection \(App\\\Framework\\\Database\\\ConnectionInterface\) in call to App\\\Framework\\\Database\\\Cache\\\QueryCacheKey constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Parameter \#1 \$string of function strtoupper expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:\$queryStats \(array\\) does not accept array\\|int\>\.$#', 'identifier' => 'assign.propertyType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Cache\\\QueryCache\:\:\$enabled is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Unknown parameter \$hash in call to App\\\Framework\\\Database\\\Cache\\\QueryCacheKey constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:getConnectionInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:isAssociativeArray\(\) has parameter \$array with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:normalizeParameters\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\QueryCacheKey\:\:normalizeParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Parameter \#1 \$string of function strtolower expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/QueryCacheKey.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\CacheItem\:\:getValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\CacheItem\:\:isHit\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\Events\\\EventDispatcher\:\:listen\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Call to method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:invalidatePattern\(\) on a separate line has no effect\.$#', 'identifier' => 'method.resultUnused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:getCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:getQueryResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:getRegionStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:putCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:putQueryResult\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#2 \$value of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects string, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:getCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:getQueryResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:getRegionStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:putCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SecondLevelCacheInterface\:\:putQueryResult\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SecondLevelCacheInterface.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:set\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:\$cache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:\$expiry type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Cache\\\SimpleCacheStrategy\:\:\$stats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/SimpleCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheMetricsSnapshot\:\:__construct\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheMetricsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheMetricsSnapshot\:\:__construct\(\) has parameter \$recommendations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheMetricsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheMetricsSnapshot\:\:__construct\(\) has parameter \$regions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheMetricsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheMetricsSnapshot\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheMetricsSnapshot.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheOverviewMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheOverviewMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CachePerformanceMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CachePerformanceMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\CacheRecommendation\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/CacheRecommendation.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\EntityCacheMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/EntityCacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\EntityMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/EntityMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\MemoryUsageMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/MemoryUsageMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\QueryCacheMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/QueryCacheMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\QueryMetrics\:\:__construct\(\) has parameter \$slowQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/QueryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\QueryMetrics\:\:__construct\(\) has parameter \$topQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/QueryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\QueryMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/QueryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\ValueObjects\\\RegionMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/ValueObjects/RegionMetrics.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Commands/ExportProfilingDataCommand.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Commands/ShowProfilingStatsCommand.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Commands\\\ShowProfilingStatsCommand\:\:\$entityManager is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Commands/ShowProfilingStatsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Config\\\CacheConfig\:\:__construct\(\) has parameter \$disabledEntityClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Config/CacheConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Config\\\CacheConfig\:\:__construct\(\) has parameter \$enabledEntityClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Config/CacheConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Config\\\CacheConfig\:\:__construct\(\) has parameter \$regions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Config/CacheConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Config\\\ReadWriteConfig\:\:getAllWeights\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Config/ReadWriteConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionInterface\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionInterface.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionMetadata.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionMetadata\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionMetadata.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionPool\:\:getConnectionMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ConnectionPool\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ConnectionPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Criteria\:\:getCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Criteria.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Criteria\:\:getOrders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Criteria.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\CriteriaQuery\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/CriteriaQuery.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Criterion\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Criterion.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\DetachedCriteria\:\:getCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/DetachedCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\DetachedCriteria\:\:getOrders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/DetachedCriteria.php', ], [ 'message' => '#^Class App\\\Framework\\\Database\\\Criteria\\\Example\\\User not found\.$#', 'identifier' => 'class.notFound', 'count' => 11, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findActiveUsersWithPosts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findPremiumUsers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUserByEmail\(\) has invalid return type App\\\Framework\\\Database\\\Criteria\\\Example\\\User\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUsersByAge\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUsersByEmail\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUsersByIds\(\) has parameter \$userIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findUsersByIds\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:findVipOrActiveUsers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:getUserStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:getUsersPage\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Example\\\CriteriaUsageExample\:\:searchUsersByName\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Example/CriteriaUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\BetweenExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/BetweenExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\InExpression\:\:__construct\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/InExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\InExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/InExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\LikeExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/LikeExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\LogicalExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/LogicalExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\NotExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/NotExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Expression\\\SimpleExpression\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Expression/SimpleExpression.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Projection\:\:getAliases\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Projection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Projection\\\AggregateProjection\:\:getAliases\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Projection/AggregateProjection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Projection\\\ProjectionList\:\:getAliases\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Projection/ProjectionList.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Projection\\\PropertyProjection\:\:getAliases\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Projection/PropertyProjection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Restrictions\:\:in\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Restrictions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Criteria\\\Restrictions\:\:notIn\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Criteria/Restrictions.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCacheStrategy\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCacheStrategyFromCache\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCachedConnection\(\) has parameter \$cacheConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCachedConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCachedConnectionWithCache\(\) has parameter \$additionalConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createCachedConnectionWithCache\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createConnection\(\) has parameter \$middlewareConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createConnectionWithCustomCache\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createDirectConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createFullFeaturedConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createFullFeaturedConnection\(\) has parameter \$middlewareConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createLazyConnection\(\) has parameter \$additionalMiddleware with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createLazyConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createProductionConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createProductionConnection\(\) has parameter \$middlewareConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createPureLazyConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createRetryableConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createRobustConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseFactory\:\:createRobustConnection\(\) has parameter \$middlewareConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:getConnectionPoolStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:getMigrationStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:getProfilingStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:migrate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\DatabaseManager\:\:rollback\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Parameter \#2 \$memoryMonitor of class App\\\Framework\\\Database\\\Profiling\\\QueryProfiler constructor expects App\\\Framework\\\Performance\\\MemoryMonitor, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/DatabaseManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Driver\\\Driver\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/Driver.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Driver\\\DriverConfig\:\:fromArray\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/DriverConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Driver\\\MysqlDriver\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/MysqlDriver.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Driver\\\MysqlDriver\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/MysqlDriver.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Driver\\\PostgresDriver\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/PostgresDriver.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Driver\\\PostgresDriver\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/PostgresDriver.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Driver\\\SqliteDriver\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/SqliteDriver.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Driver\\\SqliteDriver\:\:\$options type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Driver/SqliteDriver.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityLoaderInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findBy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityLoaderInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findOneBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityLoaderInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findAllEager\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findAllLazy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findBy\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findBy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByEager\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByEager\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByEager\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByWithoutCache\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByWithoutCache\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findByWithoutCache\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findOneBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findWithRelations\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findWithRelations\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:findWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:getDomainEventStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:getIdentityMapStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:getProfilingStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:getReference\(\) should return object but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\EntityManager\:\:saveAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Parameter \#1 \$entity of method App\\\Framework\\\Database\\\EntityManager\:\:initializeLazyObject\(\) expects object, object\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Parameter \#1 \$entity of method App\\\Framework\\\Database\\\EntityManager\:\:isLazyGhost\(\) expects object, object\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\EntityManager\:\:\$typeConverter is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/EntityManager.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityCreatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityCreatedEvent\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityCreatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityCreatedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityCreatedEvent.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDeletedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityDeletedEvent\:\:__construct\(\) has parameter \$deletedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDeletedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityDeletedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDeletedEvent.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDetachedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityDetachedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityDetachedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityCreated\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityDeleted\(\) has parameter \$deletedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityLoaded\(\) has parameter \$loadedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityUpdated\(\) has parameter \$changes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityUpdated\(\) has parameter \$newValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:entityUpdated\(\) has parameter \$oldValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityEventManager\:\:getDomainEventStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityEventManager.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityLoadedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityLoadedEvent\:\:__construct\(\) has parameter \$loadedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityLoadedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityLoadedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityLoadedEvent.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:now\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityUpdatedEvent\:\:__construct\(\) has parameter \$changes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityUpdatedEvent\:\:__construct\(\) has parameter \$newValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityUpdatedEvent\:\:__construct\(\) has parameter \$oldValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\EntityUpdatedEvent\:\:getEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/EntityUpdatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\Examples\\\EntityEventUsageExample\:\:eventStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/EntityEventUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:logAnalyticsEvent\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:cleanupUserData\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:createUserProfile\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:notifyUserDeletion\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:sendWelcomeEmail\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Parameter \#1 \$user of method App\\\Framework\\\Database\\\Events\\\Examples\\\UserEventHandlers\:\:trackUserRegistration\(\) expects App\\\Framework\\\Database\\\Events\\\Examples\\\ExampleUser, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserEventHandlers.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserPremiumUpgradeEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Events\\\Examples\\\UserPremiumUpgradeEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserPremiumUpgradeEvent.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserRegistrationAnalyticsEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Events\\\Examples\\\UserRegistrationAnalyticsEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserRegistrationAnalyticsEvent.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserWelcomeEmailEvent.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Events\\\Examples\\\UserWelcomeEmailEvent\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Events/Examples/UserWelcomeEmailEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Example\\\UserRepository\:\:changeEmail\(\) should return App\\\Framework\\\Database\\\Example\\\User but returns object\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Example/UserRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Example\\\UserRepository\:\:changeName\(\) should return App\\\Framework\\\Database\\\Example\\\User but returns object\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Example/UserRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Example\\\UserRepository\:\:create\(\) should return App\\\Framework\\\Database\\\Example\\\User but returns object\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Example/UserRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Example\\\UserRepository\:\:findByEmail\(\) should return App\\\Framework\\\Database\\\Example\\\User\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Example/UserRepository.php', ], [ 'message' => '#^Access to undefined constant PDO\:\:ATTR_NULL_TO_STRING\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:__construct\(\) has parameter \$customQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:checkPdoStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:detailed\(\) has parameter \$customQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:executeCustomQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:getConnectionAttributes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:withCustomQueries\(\) has parameter \$customQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/ConnectionHealthChecker.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckResult\:\:__construct\(\) has parameter \$additionalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckResult\:\:healthy\(\) has parameter \$additionalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckResult\:\:unhealthy\(\) has parameter \$additionalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckResult.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:getAllResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:runHealthCheck\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:runScheduledChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:\$healthChecks type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\HealthCheck\\\HealthCheckScheduler\:\:\$lastResults type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HealthCheck/HealthCheckScheduler.php', ], [ 'message' => '#^Cannot call method findBy\(\) on App\\\Framework\\\Database\\\EntityLoaderInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadBelongsToRelation\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadBelongsToRelation\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadHasManyRelation\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadHasManyRelation\(\) has parameter \$entityKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadOneToOneRelation\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadOneToOneRelation\(\) has parameter \$entityKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadRelations\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadRelations\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadRelations\(\) has parameter \$entityKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadSingleRelation\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadSingleRelation\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:batchLoadSingleRelation\(\) has parameter \$entityKeys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:eagerLoadRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:eagerLoadRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:getForeignKeyPropertyName\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:getRelationKeyValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrate\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateManyWithRelations\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateManyWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateManyWithRelations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateWithRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:hydrateWithoutRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:loadHasManyRelation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Hydrator\:\:loadRelation\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Parameter \#1 \$entityClass of method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:find\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Parameter \#1 \$entityClass of method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findBy\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Parameter \#1 \$entityClass of method App\\\Framework\\\Database\\\EntityLoaderInterface\:\:findOneBy\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Parameter \#1 \$name of method ReflectionClass\\:\:getProperty\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Hydrator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrate\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateManyWithRelations\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateManyWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateManyWithRelations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateWithRelations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\HydratorInterface\:\:hydrateWithRelations\(\) has parameter \$relations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/HydratorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\IdentityMap\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/IdentityMap.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\IdentityMap\:\:\$entities type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/IdentityMap.php', ], [ 'message' => '#^Anonymous function has an unused use \$object\.$#', 'identifier' => 'closure.unusedUse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyConnectionFactory\:\:createLazyGhost\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyConnectionFactory\:\:createLazyGhost\(\) should return App\\\Framework\\\Database\\\ConnectionInterface but returns object\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyConnectionFactory\:\:initializeLazyConnection\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyConnectionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:createLazyGhost\(\) should return object but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:getRelationAccessStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:hydrateEntity\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:hydrateRelatedEntities\(\) has parameter \$dataRows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:hydrateRelatedEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadBelongsToRelation\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadHasManyRelation\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadHasManyRelation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadOneToOneRelation\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadRelation\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:loadRelationByType\(\) has parameter \$propertyMetadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\LazyLoader\:\:queryRelatedData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/LazyLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\EntityMetadata\:\:__construct\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/EntityMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\EntityMetadata\:\:__construct\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/EntityMetadata.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>columnName" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/EntityMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:analyzeType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:createBelongsToRelationMetadata\(\) has parameter \$parentReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:createHasRelationMetadata\(\) has parameter \$parentReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:createRelationMetadataForEntityProperty\(\) has parameter \$parentReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractProperties\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractPropertyMetadata\(\) has parameter \$classReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractRelationMetadata\(\) has parameter \$classReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractRelations\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:extractRelations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:findForeignKeyProperty\(\) has parameter \$parentReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:findIdProperty\(\) has parameter \$properties with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:findIdProperty\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:getColumnName\(\) has parameter \$classReflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:getEntityAttribute\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\MetadataExtractor\:\:hasConstructorParameter\(\) has parameter \$reflection with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>idColumn" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataExtractor.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Metadata\\\MetadataRegistry\:\:\$metadata type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/MetadataRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Metadata\\\PropertyMetadata\:\:__construct\(\) has parameter \$allTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Metadata/PropertyMetadata.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\CacheMiddleware\:\:__construct\(\) has parameter \$cacheableOperations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\CacheMiddleware\:\:deserializeResult\(\) has parameter \$cachedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\CacheMiddleware\:\:getCacheStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\CacheMiddleware\:\:serializeResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/CacheMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/HealthCheckMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\MiddlewarePipeline\:\:addMultiple\(\) has parameter \$middleware with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/MiddlewarePipeline.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\MiddlewarePipeline\:\:getMiddleware\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/MiddlewarePipeline.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\QueryContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/QueryContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\QueryContext\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/QueryContext.php', ], [ 'message' => '#^Cannot call method getMessage\(\) on Throwable\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/RetryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Middleware\\\RetryMiddleware\:\:__construct\(\) has parameter \$retryableExceptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/RetryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\MiddlewareConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/MiddlewareConnection.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Migration\\\ApplyMigrations\:\:\$db is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/ApplyMigrations.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Migration\\\ApplyMigrations\:\:\$loader is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/ApplyMigrations.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationGenerator.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationGenerator.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Call to an undefined method object\:\:getDescription\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationLoader\:\:loadMigrations\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Parameter \#1 \$array of function usort contains unresolvable type\.$#', 'identifier' => 'argument.unresolvableType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Parameter \#2 \$callback of function usort contains unresolvable type\.$#', 'identifier' => 'argument.unresolvableType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationLoader.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:getAppliedVersions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:getStatus\(\) has parameter \$migrations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:getStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:migrate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Migration\\\MigrationRunner\:\:rollback\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationRunner.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Migration/MigrationVersion.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:lastInsertId\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoResult\:\:fetch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoResult\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoResult\:\:fetchColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PdoResult\:\:getIterator\(\) return type with generic class ArrayIterator does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\PdoResult\:\:\$rows type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PdoResult.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\PooledConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/PooledConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Events\\\SlowQueryDetectedEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Events/SlowQueryDetectedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:__construct\(\) has parameter \$queryTypeDistribution with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:getMostCommonQueryType\(\) should return string\|null but returns int\|string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:getQueryTypeDistributionWithPercentages\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:getRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfileSummary\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfileSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConfig\:\:__construct\(\) has parameter \$sensitiveParameterPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:getProfilingStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:query\(\) should return App\\\Framework\\\Database\\\ResultInterface but returns App\\\Framework\\\Database\\\ResultInterface\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryColumn\(\) should return array but returns array\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingConnection.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:export\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:exportAsHtml\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:getOverview\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:getRegisteredConnections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\ProfilingDashboard\:\:\$profilingConnections type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/ProfilingDashboard.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:__construct\(\) has parameter \$indexRecommendations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:__construct\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:__construct\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:getTopRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalysis\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalysis.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeAggregations\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeJoins\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeJoins\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzePerformanceMetrics\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzePerformanceMetrics\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeSelectStatements\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeSelectStatements\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeSubqueries\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeSubqueries\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeWhereClause\(\) has parameter \$indexRecommendations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:analyzeWhereClause\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:batchAnalyze\(\) has parameter \$profiles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:batchAnalyze\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:calculateOptimizationScore\(\) has parameter \$issues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:calculateOptimizationScore\(\) has parameter \$suggestions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:getOptimizationSummary\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryAnalyzer\:\:getOptimizationSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryAnalyzer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:buildLogContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:captureStackTrace\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:exportAsJson\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:getLogStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:getLoggedQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:getSlowQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:sanitizeParameters\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:sanitizeParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Offset \'function\' on array\{function\: string, line\?\: int, file\?\: string, class\?\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryLogger\:\:\$loggedQueries type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryLogger.php', ], [ 'message' => '#^Call to method format\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:getNormalizedSql\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Parameter \$endTimestamp of method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:__construct\(\) has invalid type App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Parameter \$startTimestamp of method App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:__construct\(\) has invalid type App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:\$endTimestamp has unknown class App\\\Framework\\\Database\\\Events\\\Timestamp as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryProfile\:\:\$startTimestamp has unknown class App\\\Framework\\\Database\\\Events\\\Timestamp as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfile.php', ], [ 'message' => '#^Call to static method fromClock\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:getProfiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:getProfilesByType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:getSlowQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:profile\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:startProfile\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Parameter \$peakMemoryUsage of class App\\\Framework\\\Database\\\Profiling\\\QueryProfile constructor expects int, float\|int\<0, max\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:\$activeProfiles type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\QueryProfiler\:\:\$profiles type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/QueryProfiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:__construct\(\) has parameter \$optimizationData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getAllIndexSuggestions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getConnectionsByPriority\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getOptimizationImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getOptimizationRoadmap\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getOptimizationSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getPerformanceIssuesBySeverity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:getTopSlowQueryPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\OptimizationReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/OptimizationReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:__construct\(\) has parameter \$performanceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:calculateTrend\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:getOverallMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:getPerformanceRecommendations\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:getPerformanceRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:getPerformanceTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\PerformanceReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/PerformanceReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\ProfilingReport\:\:__construct\(\) has parameter \$connectionStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/ProfilingReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\ProfilingReport\:\:__construct\(\) has parameter \$profiles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/ProfilingReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\ProfilingReport\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/ProfilingReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\ProfilingReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/ProfilingReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\SlowQueryReport\:\:__construct\(\) has parameter \$slowQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/SlowQueryReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\SlowQueryReport\:\:getSlowQueryPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/SlowQueryReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\SlowQueryReport\:\:getTopSlowQueries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/SlowQueryReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\Reports\\\SlowQueryReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/Reports/SlowQueryReport.php', ], [ 'message' => '#^Call to method format\(\) on an unknown class App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Match expression does not handle remaining values\: int\\|int\<11, max\>$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert\:\:__construct\(\) has parameter \$recommendations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Parameter \$timestamp of method App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert\:\:__construct\(\) has invalid type App\\\Framework\\\Database\\\Events\\\Timestamp\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert\:\:\$timestamp has unknown class App\\\Framework\\\Database\\\Events\\\Timestamp as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryAlert.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:generateRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:getSlowQueryStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Parameter \#1 \$interval of method DateTimeImmutable\:\:sub\(\) expects DateInterval, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Parameter \$timestamp of class App\\\Framework\\\Database\\\Profiling\\\SlowQueryAlert constructor expects App\\\Framework\\\Database\\\Events\\\Timestamp, DateTimeImmutable given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:\$alertThresholds type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:\$recentSlowQueries type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:\$slowQueryPatterns is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Profiling\\\SlowQueryDetector\:\:\$slowQueryPatterns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Profiling\\\SlowQueryPattern\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Profiling/SlowQueryPattern.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/Examples/QueryBuilderUsageExample.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/Examples/QueryBuilderUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\Examples\\\QueryBuilderUsageExample\:\:salesAnalytics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/Examples/QueryBuilderUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\Examples\\\QueryBuilderUsageExample\:\:userDashboardStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/Examples/QueryBuilderUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\QueryBuilder\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/QueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\QueryBuilderFactory\:\:\$hydrator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/QueryBuilderFactory.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\QueryBuilderFactory\:\:\$identityMap is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/QueryBuilderFactory.php', ], [ 'message' => '#^Cannot call method getMetadata\(\) on App\\\Framework\\\Database\\\Metadata\\\MetadataRegistry\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:execute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:first\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:getEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:getParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:whereIn\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:whereNotIn\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:whereRaw\(\) has parameter \$bindings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$groupBy type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$having type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$joins type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$orderBy type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$parameterIndex is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$parameters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$select type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\QueryBuilder\\\SelectQueryBuilder\:\:\$where type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/QueryBuilder/SelectQueryBuilder.php', ], [ 'message' => '#^Call to an undefined method DateInterval\:\:getTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:__construct\(\) has parameter \$replicaConnections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:calculateSuccessRate\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:getHealthyReplicas\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:getRoutingStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:getWeightDistribution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectByResponseTime\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectLeastConnections\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectRandom\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectRoundRobin\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:selectWeighted\(\) has parameter \$healthyReplicas with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Parameter \#1 \$configIndex of method App\\\Framework\\\Database\\\Config\\\ReadWriteConfig\:\:getConnectionWeight\(\) expects int, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Parameter \#1 \$configIndex of method App\\\Framework\\\Database\\\Config\\\ReadWriteConfig\:\:getMaxConnections\(\) expects int, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:\$connectionCounts type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:\$replicaHealth type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:\$replicaMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\MasterSlaveRouter\:\:\$responseTimeHistory type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/MasterSlaveRouter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getConnectionHealthMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getFastestQueryType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getOverviewMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getQueryMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getQueryTypeMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getSlowestQueryType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:testConnectionHealth\(\) has parameter \$connection with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:testConnectionHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:\$connectionMetrics is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:\$connectionMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWrite\\\ReadWriteMonitor\:\:\$queryMetrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWrite/ReadWriteMonitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:__construct\(\) has parameter \$readConnections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:execute\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:getReadConnections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:query\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryOne\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryOne\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ReadWriteConnection\:\:queryScalar\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\ReadWriteConnection\:\:\$readConnections type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ReadWriteConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findAllEager\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findBy\(\) has parameter \$orderBy with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findBy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:findOneBy\(\) has parameter \$criteria with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:saveAll\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Repository\\\EntityRepository\:\:saveAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Repository/EntityRepository.php', ], [ 'message' => '#^Interface App\\\Framework\\\Database\\\ResultInterface extends generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ResultInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ResultInterface\:\:fetch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ResultInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ResultInterface\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ResultInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\ResultInterface\:\:fetchColumn\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/ResultInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:addColumn\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:dropColumn\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:dropForeign\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:dropIndex\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:dropUnique\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:enum\(\) has parameter \$allowed with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:foreign\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:fulltext\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:index\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:primary\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:spatialIndex\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:unique\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:\$columns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:\$commands type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:\$foreignKeys type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Blueprint\:\:\$indexes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Blueprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\ColumnDefinition\:\:__construct\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ColumnDefinition.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\ColumnDefinition\:\:\$parameters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ColumnDefinition.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Commands\\\DropColumnCommand\:\:__construct\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropColumnCommand.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Commands\\\DropColumnCommand\:\:\$columns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropColumnCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Commands\\\DropForeignCommand\:\:__construct\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropForeignCommand.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Commands\\\DropForeignCommand\:\:\$index type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropForeignCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Commands\\\DropIndexCommand\:\:__construct\(\) has parameter \$index with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropIndexCommand.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Commands\\\DropIndexCommand\:\:\$index type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Commands/DropIndexCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\ForeignKeyDefinition\:\:__construct\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ForeignKeyDefinition.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\ForeignKeyDefinition\:\:references\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ForeignKeyDefinition.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\ForeignKeyDefinition\:\:\$columns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ForeignKeyDefinition.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\ForeignKeyDefinition\:\:\$referencedColumns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/ForeignKeyDefinition.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\IndexDefinition\:\:__construct\(\) has parameter \$columns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/IndexDefinition.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\IndexDefinition\:\:\$columns type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/IndexDefinition.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\MySQLSchemaCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/MySQLSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\MySQLSchemaCompiler\:\:compileAlterTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/MySQLSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\PostgreSQLSchemaCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/PostgreSQLSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\PostgreSQLSchemaCompiler\:\:compileAlterTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/PostgreSQLSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\SQLiteSchemaCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/SQLiteSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\SQLiteSchemaCompiler\:\:compileAlterTable\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/SQLiteSchemaCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\Schema\:\:toSql\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Schema.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\Schema\\\Schema\:\:\$commands type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/Schema.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Schema\\\SchemaCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Schema/SchemaCompiler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\Metadata\\\EntityMetadata\:\:getProperties\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\TypeConverter\:\:convertToDatabaseValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\TypeConverter\:\:convertToPHPValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Class App\\\Framework\\\Database\\\Serialization\\\SerializationException constructor invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:deserialize\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:deserializeCollection\(\) has parameter \$serializedEntities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:deserializeCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:isCompatible\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:serialize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:serializeCollection\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Serialization\\\EntitySerializer\:\:serializeCollection\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Serialization/EntitySerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\EmailCaster\:\:fromDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/EmailCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\EmailCaster\:\:toDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/EmailCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\JsonCaster\:\:fromDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/JsonCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\JsonCaster\:\:toDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/JsonCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\PhoneNumberCaster\:\:fromDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/PhoneNumberCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\PhoneNumberCaster\:\:toDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/PhoneNumberCaster.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\TypeCasterInterface\:\:fromDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\TypeCasterInterface\:\:toDatabase\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterInterface.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterRegistry.php', ], [ 'message' => '#^Dead catch \- Exception is never thrown in the try block\.$#', 'identifier' => 'catch.neverThrown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\TypeCaster\\\TypeCasterRegistry\:\:getAllKnownTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/TypeCaster/TypeCasterRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkDeleteSameType\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/BulkOperations.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkInsertSameType\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/BulkOperations.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkUpdateSameType\(\) has parameter \$entities with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/BulkOperations.php', ], [ 'message' => '#^Variable \$ids in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/BulkOperations.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:extractEntityData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:getAllTrackedEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:getEntitiesByState\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:\$originalData type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/ChangeTracker.php', ], [ 'message' => '#^Cannot call method commit\(\) on App\\\Framework\\\Database\\\ConnectionInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Cannot call method execute\(\) on App\\\Framework\\\Database\\\ConnectionInterface\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:merge\(\) should return object but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:mergeEntityChanges\(\) has parameter \$metadata with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#1 \$entity of method App\\\Framework\\\Database\\\UnitOfWork\\\ChangeTracker\:\:markDirty\(\) expects object, object\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#1 \$target of method App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:mergeEntityChanges\(\) expects object, object\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#2 \$connection of method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkDelete\(\) expects App\\\Framework\\\Database\\\ConnectionInterface, App\\\Framework\\\Database\\\ConnectionInterface\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#2 \$connection of method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkInsert\(\) expects App\\\Framework\\\Database\\\ConnectionInterface, App\\\Framework\\\Database\\\ConnectionInterface\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Parameter \#2 \$connection of method App\\\Framework\\\Database\\\UnitOfWork\\\BulkOperations\:\:bulkUpdate\(\) expects App\\\Framework\\\Database\\\ConnectionInterface, App\\\Framework\\\Database\\\ConnectionInterface\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\UnitOfWork\\\UnitOfWork\:\:\$hydrator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/UnitOfWork/UnitOfWork.php', ], [ 'message' => '#^Dead catch \- Exception is never thrown in the try block\.$#', 'identifier' => 'catch.neverThrown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DateTime/SystemClock.php', ], [ 'message' => '#^Method App\\\Framework\\\DateTime\\\SystemClock\:\:now\(\) has App\\\Framework\\\DateTime\\\Exceptions\\\InvalidDateTimeException in PHPDoc @throws tag but it\'s not thrown\.$#', 'identifier' => 'throws.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DateTime/SystemClock.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/DebugEntry.php', ], [ 'message' => '#^Method App\\\Framework\\\Debug\\\DebugEntry\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/DebugEntry.php', ], [ 'message' => '#^Method App\\\Framework\\\Debug\\\Debugger\:\:dumpArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Debugger.php', ], [ 'message' => '#^Constant App\\\Framework\\\Debug\\\Formatters\\\ConsoleFormatter\:\:GRAY is unused\.$#', 'identifier' => 'classConstant.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\Debug\\\Formatters\\\ConsoleFormatter\:\:formatValue\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Function debug_array\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Debug/helpers.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryServiceBootstrapper\:\:isContextAllowed\(\) has parameter \$initializerData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Parameter \#1 \$reflectionProvider of class App\\\Framework\\\DI\\\InitializerDependencyGraph constructor expects App\\\Framework\\\Reflection\\\CachedReflectionProvider, App\\\Framework\\\Reflection\\\ReflectionProvider given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Strict comparison using \=\=\= between mixed and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Discovery\\\FileScannerInterface\:\:findChangedFiles\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Call to method getTaskProcessor\(\) on an unknown class App\\\Framework\\\Async1\\\AsyncFileScanner\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Class App\\\Framework\\\Async1\\\AsyncFileScanner not found\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\FileScannerService\:\:processFilesAsync\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\FileScannerService\:\:scanInChunks\(\) has parameter \$phpFiles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Parameter \#2 \$length of function array_chunk expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\FileScannerService\:\:\$scannedFiles type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/FileScannerService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$additionalResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$attributeResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$interfaceImplementations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:__construct\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:addAttributeResult\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getAllAttributeResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getAllInterfaceImplementations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getAttributeResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getInterfaceImplementations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:getTemplates\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:setAttributeResults\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:setInterfaceImplementations\(\) has parameter \$implementations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:setRoutes\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:setTemplates\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$additionalResults type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$attributeResults type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$interfaceImplementations type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$routes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\:\:\$templates type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Results/DiscoveryResults.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:__construct\(\) has parameter \$attributeMappers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:__construct\(\) has parameter \$targetInterfaces with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:__construct\(\) has parameter \$attributeMappers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:extractAttributeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:extractMethodParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:getAllResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:getAttributeResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:processElementAttributes\(\) has parameter \$element with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:\$attributeResults type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Encryption\\\AesEncryption\:\:getMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/AesEncryption.php', ], [ 'message' => '#^Strict comparison using \=\=\= between string and false will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/AesEncryption.php', ], [ 'message' => '#^Method App\\\Framework\\\Encryption\\\BasicEncryption\:\:getMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/BasicEncryption.php', ], [ 'message' => '#^Strict comparison using \=\=\= between string and false will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/BasicEncryption.php', ], [ 'message' => '#^Method App\\\Framework\\\Encryption\\\EncryptionFactory\:\:getAvailableMethods\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Encryption/EncryptionFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\AlertUrgency\:\:getNotificationChannels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/AlertUrgency.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\AlertUrgency\:\:getRetryStrategy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/AlertUrgency.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertChannel\:\:getLastDeliveryStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertChannel\:\:sendAlert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertChannel.php', ], [ 'message' => '#^Binary operation "\-" between int and App\\\Framework\\\Cache\\\CacheItem results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Queue\\\Queue\:\:pushDelayed\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Empty array passed to foreach\.$#', 'identifier' => 'foreach.emptyArray', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:__construct\(\) has parameter \$channels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:__construct\(\) has parameter \$escalationConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:__construct\(\) has parameter \$throttleConfig with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:log\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:processRetry\(\) has parameter \$retryData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleEscalation\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleEscalation\(\) has parameter \$failedChannels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleEscalation\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleRetry\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:scheduleRetry\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:sendAlert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:sendAlert\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:testChannels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:updateThrottle\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Offset \'high\'\|\'low\'\|\'medium\'\|\'urgent\' on array\{\} on left side of \?\? does not exist\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Offset mixed on array\{\} in isset\(\) does not exist\.$#', 'identifier' => 'isset.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$escalationConfig is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$channels is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$channels is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$channelsByUrgency is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\AlertManager\:\:\$channelsByUrgency is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Variable \$channelNames in empty\(\) always exists and is always falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Call to method send\(\) on an unknown class App\\\Framework\\\Mail\\\Transport\\\TransportInterface\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:__construct\(\) has parameter \$recipients with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:buildBody\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:getLastDeliveryStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:sendAlert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Parameter \$from of class App\\\Framework\\\Mail\\\Message constructor expects App\\\Domain\\\Common\\\ValueObject\\\Email, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Parameter \$to of class App\\\Framework\\\Mail\\\Message constructor expects App\\\Framework\\\Mail\\\EmailList, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Parameter \$transport of method App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:__construct\(\) has invalid type App\\\Framework\\\Mail\\\Transport\\\TransportInterface\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:\$lastDeliveryStatus type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:\$transport has unknown class App\\\Framework\\\Mail\\\Transport\\\TransportInterface as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\ErrorAggregation\\\Alerting\\\EmailAlertChannel\:\:\$lastDeliveryStatus is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Unknown parameter \$fromName in call to App\\\Framework\\\Mail\\\Message constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Unknown parameter \$isHtml in call to App\\\Framework\\\Mail\\\Message constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/EmailAlertChannel.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Direct instantiation of DateInterval is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime\:\:createInterval\(\) instead for consistent error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\AlertCommand\:\:stats\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\AlertCommand\:\:test\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/AlertCommand.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Direct instantiation of DateInterval is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime\:\:createInterval\(\) instead for consistent error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorAggregationStatsCommand\:\:cleanup\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorAggregationStatsCommand\:\:stats\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorAggregationStatsCommand.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorPatternsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorPatternsCommand\:\:acknowledge\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorPatternsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorPatternsCommand\:\:list\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorPatternsCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Commands\\\ErrorPatternsCommand\:\:resolve\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Commands/ErrorPatternsCommand.php', ], [ 'message' => '#^Class App\\\Framework\\\Mail\\\Transport\\\TransportInterface not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregationInitializer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Direct instantiation of DateInterval is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime\:\:createInterval\(\) instead for consistent error handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:exportData\(\) has parameter \$filters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getActivePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getErrorTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getHealthStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getPatternsByService\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getRecentEvents\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:getTopPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:logError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorAggregator\:\:processBatch\(\) has parameter \$errorEvents with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\Queue\\\Queue\:\:push\(\) invoked with 3 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Parameter \#1 \$data of static method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:fromArray\(\) expects array, App\\\Framework\\\Cache\\\CacheItem given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Parameter \#1 \$job of method App\\\Framework\\\Queue\\\Queue\:\:push\(\) expects object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Parameter \#2 \$length of function array_chunk expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\Cache\\\CacheItem and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\ErrorAggregation\\\ErrorPattern and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Ulid\\\Ulid\:\:generate\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:normalizeErrorMessage\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_starts_with expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Parameter \$requestId of class App\\\Framework\\\ErrorAggregation\\\ErrorEvent constructor expects string\|null, App\\\Framework\\\Http\\\RequestId\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Static method App\\\Framework\\\Ulid\\\Ulid\:\:fromString\(\) invoked with 1 parameter, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorEvent.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Ulid\\\Ulid\:\:generate\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:__construct\(\) has parameter \$affectedIps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:__construct\(\) has parameter \$affectedUsers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\ErrorPattern\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Static method App\\\Framework\\\Ulid\\\Ulid\:\:fromString\(\) invoked with 1 parameter, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorPattern.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Ulid\\\Ulid\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Cannot access offset 0 on App\\\Framework\\\Database\\\ResultInterface\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:exportEvents\(\) has parameter \$filters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getActivePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getErrorTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getHealthStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getPatternsByService\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getRecentEvents\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:getTopPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:hydrateEvent\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:hydratePattern\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\DatabaseErrorStorage\:\:storeEventsBatch\(\) has parameter \$events with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Parameter \#2 \$array of function array_map expects array, App\\\Framework\\\Database\\\ResultInterface given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Static method App\\\Framework\\\Ulid\\\Ulid\:\:fromString\(\) invoked with 1 parameter, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Variable \$result in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/DatabaseErrorStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:exportEvents\(\) has parameter \$filters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getActivePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getErrorTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getHealthStatus\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getPatternsByService\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getRecentEvents\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:getTopPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorAggregation\\\Storage\\\ErrorStorageInterface\:\:storeEventsBatch\(\) has parameter \$events with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Storage/ErrorStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BoundaryResult\:\:onFailure\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BoundaryResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BoundaryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BoundaryResult\:\:onSuccess\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BoundaryResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BoundaryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BoundaryResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BoundaryResult.php', ], [ 'message' => '#^Template type U of method App\\\Framework\\\ErrorBoundaries\\\BoundaryResult\:\:failure\(\) is not referenced in a parameter\.$#', 'identifier' => 'method.templateTypeNotInParameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BoundaryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:create\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:create\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:create\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BulkResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:empty\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BulkResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:filterResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:getFailedKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:getResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:getSuccessfulKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\BulkResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/BulkResult.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:getCircuitBreakerStates\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:reset\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:stats\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testBasicFunctionality\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testBulkOperations\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testCircuitBreaker\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testRetryStrategies\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Commands\\\BoundaryCommand\:\:testTimeout\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Strict comparison using \=\=\= between \'fallback_executed\' and \'fallback_executed\' will always evaluate to true\.$#', 'identifier' => 'identical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Commands/BoundaryCommand.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Invalid type Throwable\|null to throw\.$#', 'identifier' => 'throw.notThrowable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundary\:\:executeParallel\(\) return type with generic class App\\\Framework\\\ErrorBoundaries\\\BoundaryResult does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundary\:\:log\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryFactory\:\:__construct\(\) has parameter \$routeConfigs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryFactory\:\:getDefaultRouteConfigs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryFactory.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryFactory\:\:\$routeConfigs type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryInitializer\:\:createConfigFromArray\(\) has parameter \$settings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryInitializer.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\ErrorBoundaryInitializer\:\:loadRouteConfigs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryInitializer.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\ErrorContext\:\:__construct\(\) has parameter \$additionalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorContext.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Request\:\:getUri\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Left side of && is always true\.$#', 'identifier' => 'booleanAnd.leftAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\ErrorHandler\:\:createExceptionMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Parameter \#1 \$callback of function set_error_handler expects \(callable\(int, string, string, int\)\: bool\)\|null, Closure\(int, string, string, int\)\: void given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Parameter \#1 \$location of class App\\\Framework\\\Http\\\Responses\\\RedirectResponse constructor expects App\\\Framework\\\Http\\\Uri, App\\\Framework\\\Http\\\Uri\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorHandling\\\ErrorHandler\:\:\$requestIdGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorHandler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ErrorLogger.php', ], [ 'message' => '#^Class App\\\Framework\\\Router\\\Exception\\\MethodNotAllowed not found\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ExceptionConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\ExceptionConverter\:\:getResponseBody\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/ExceptionConverter.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityAlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityAlertManager\:\:__construct\(\) has parameter \$alertChannels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityAlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityAlertManager\:\:createAlertPayload\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityAlertManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityAlertManager\:\:createWithChannels\(\) has parameter \$channels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityAlertManager.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventHandler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Logging\\\Logger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:createAlertData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:createOWASPLog\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:logToErrorLog\(\) has parameter \$owaspLog with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/SecurityEventLogger.php', ], [ 'message' => '#^Class App\\\Framework\\\ErrorHandling\\\StackTrace implements generic interface ArrayAccess but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Class App\\\Framework\\\ErrorHandling\\\StackTrace implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\StackTrace\:\:filter\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\StackTrace\:\:getFirst\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\StackTrace\:\:getLast\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\StackTrace\:\:processTrace\(\) has parameter \$trace with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/StackTrace.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\TraceItem\:\:__construct\(\) has parameter \$args with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/TraceItem.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ApiErrorRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\View\\\ApiErrorRenderer\:\:render\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ApiErrorRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\View\\\ApiErrorRenderer\:\:renderFromHandlerContext\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ApiErrorRenderer.php', ], [ 'message' => '#^Parameter \#1 \$value of static method App\\\Framework\\\Http\\\Status\:\:from\(\) expects int\|string, App\\\Framework\\\Http\\\Status given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorResponseFactory.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorTemplateRenderer.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorTemplateRenderer.php', ], [ 'message' => '#^Parameter \#1 \$string of function htmlspecialchars expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorTemplateRenderer.php', ], [ 'message' => '#^Using nullsafe method call on non\-nullable type App\\\Framework\\\Http\\\RequestId\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorHandling/View/ErrorTemplateRenderer.php', ], [ 'message' => '#^Comparison operation "\>" between \(array\|float\|int\) and float results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:assessRisk\(\) has parameter \$trends with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:assessRisk\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateAvailabilityImpact\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateAvailabilityImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateBusinessImpact\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateBusinessImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateErrorVelocity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateImpactMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateOverallHealthScore\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateOverallHealthScore\(\) should return int but returns float\|int\<0, 100\>\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateStandardDeviation\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateSystemImpact\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateSystemImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateUserImpact\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:calculateUserImpact\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:detectAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:detectSeasonalPatterns\(\) has parameter \$trends with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:detectSeasonalPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findCascadePatterns\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findCascadePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findRouteCorrelations\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findRouteCorrelations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findTimePatterns\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findTimePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findUserPatterns\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:findUserPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateHealthReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generatePredictiveInsights\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateRecommendations\(\) has parameter \$prediction with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateRecommendations\(\) has parameter \$risk with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateRecommendations\(\) has parameter \$seasonal with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:generateRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyBusinessCriticalRoutes\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyBusinessCriticalRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyTimePatterns\(\) has parameter \$daily with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyTimePatterns\(\) has parameter \$hourly with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:identifyTimePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:predictTrend\(\) has parameter \$trends with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Analytics\\\ErrorAnalyticsEngine\:\:predictTrend\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ErrorAnalyticsEngine.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Console\\\ExitCode\:\:FAILURE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:analytics\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:cleanup\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:health\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:search\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:show\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Commands\\\ErrorReportingCommand\:\:stats\(\) should return int but returns App\\\Framework\\\Console\\\ExitCode\:\:SUCCESS\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$breadcrumbs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$customData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$serverInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:create\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:fromThrowable\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:getServerInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withBreadcrumbs\(\) has parameter \$breadcrumbs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withCustomData\(\) has parameter \$customData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withRequest\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Offset \'function\' on array\{function\: string, line\?\: int, file\?\: string, class\?\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>class" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReport.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$exceptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$levels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$methods with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportCriteria\:\:withLevels\(\) has parameter \$levels with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportCriteria.php', ], [ 'message' => '#^Cannot call method push\(\) on App\\\Framework\\\Queue\\\Queue\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:__construct\(\) has parameter \$filters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:__construct\(\) has parameter \$processors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:findReports\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:getRecentReports\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:logDebug\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:logError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:logInfo\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:reportBatch\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:reportBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:reportError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:reportThrowable\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:withRequestContext\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\RequestContextualReporter\:\:__construct\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\RequestContextualReporter\:\:reportError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\RequestContextualReporter\:\:reportThrowable\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\UserContextualReporter\:\:reportError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\UserContextualReporter\:\:reportThrowable\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorReporting\\\ErrorReporter\:\:\$clock is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:buildRequestContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:extractIpFromHeader\(\) should return string\|null but returns array\\|string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:extractRequestData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:sanitizeArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:sanitizeArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorReportingMiddleware\:\:sanitizeString\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, array\\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$string of function explode expects string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorReportingMiddleware.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$environmentBreakdown with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByDay with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByException with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByHour with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByLevel with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByRoute with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$errorsByUser with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$responseTimeImpact with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$topErrors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:__construct\(\) has parameter \$trendingErrors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:getInsights\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:getMostFrequentException\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:getMostProblematicRoute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:getPeakErrorHour\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:\$errorsByException\.$#', 'identifier' => 'argument.byRef', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:\$errorsByHour\.$#', 'identifier' => 'argument.byRef', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\ErrorReporting\\\ErrorStatistics\:\:\$errorsByRoute\.$#', 'identifier' => 'argument.byRef', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/ErrorStatistics.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Processors\\\RequestContextProcessor\:\:getRequestData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function rtrim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Right side of \|\| is always true\.$#', 'identifier' => 'booleanOr.rightAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/RequestContextProcessor.php', ], [ 'message' => '#^Cannot call method get\(\) on App\\\Framework\\\Http\\\Session\\\Session\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Cannot call method getId\(\) on App\\\Framework\\\Http\\\Session\\\Session\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Cannot call method has\(\) on App\\\Framework\\\Http\\\Session\\\Session\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Processors\\\UserContextProcessor\:\:addBreadcrumb\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Processors\\\UserContextProcessor\:\:getUserBreadcrumbs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Parameter \#1 \$userId of method App\\\Framework\\\ErrorReporting\\\ErrorReport\:\:withUser\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Right side of \|\| is always true\.$#', 'identifier' => 'booleanOr.rightAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Variable \$tags in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Processors/UserContextProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\ConnectionInterface\:\:transaction\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Cannot access offset 0 on App\\\Framework\\\Database\\\ResultInterface\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:buildCriteriaQuery\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:findByCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:findByFingerprint\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:findRecent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:getHealthInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:getTopErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:getTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:hydrate\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\DatabaseErrorReportStorage\:\:storeBatch\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Parameter \#2 \$array of function array_map expects array, App\\\Framework\\\Database\\\ResultInterface given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Variable \$result in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/DatabaseErrorReportStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:findByCriteria\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:findByFingerprint\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:findRecent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:getHealthInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:getTopErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:getTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorReporting\\\Storage\\\ErrorReportStorageInterface\:\:storeBatch\(\) has parameter \$reports with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Storage/ErrorReportStorageInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\EventBus\\\DefaultEventBus\:\:__construct\(\) has parameter \$eventHandlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/DefaultEventBus.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/DefaultEventBus.php', ], [ 'message' => '#^Parameter \#2 \$container of class App\\\Framework\\\EventBus\\\DefaultEventBus constructor expects App\\\Framework\\\DI\\\DefaultContainer, App\\\Framework\\\DI\\\Container given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventBusInitializer.php', ], [ 'message' => '#^Class App\\\Framework\\\EventBus\\\QueryHandler not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\EventBus\\\EventHandlerCompiler\:\:compile\(\) has parameter \$handlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\EventBus\\\EventHandlerCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerCompiler.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerMapper.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\EventBus\\\EventHandlerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/EventBus/EventHandlerMapper.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:AUTH_ACCOUNT_LOCKED\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/AccountLockedException.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/AccountLockedException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\AccountLockedException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/AccountLockedException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:__construct\(\) has parameter \$requiredRoles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:__construct\(\) has parameter \$userRoles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:apiEndpoint\(\) has parameter \$requiredScopes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:getMissingRoles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InsufficientPrivilegesException\:\:resourceAccess\(\) has parameter \$requiredRoles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InsufficientPrivilegesException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\InvalidCredentialsException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/InvalidCredentialsException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\SessionTimeoutException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/SessionTimeoutException.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/TokenExpiredException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Authentication\\\TokenExpiredException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Authentication/TokenExpiredException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ConsoleException\:\:invalidArguments\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ConsoleException\:\:invalidArguments\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Parameter \#2 \$context of class App\\\Framework\\\Exception\\\ConsoleException constructor expects App\\\Framework\\\Exception\\\ExceptionContext, int given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Parameter \#3 \$code of class App\\\Framework\\\Exception\\\ConsoleException constructor expects int, null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Parameter \#4 \$previous of class App\\\Framework\\\Exception\\\ConsoleException constructor expects Throwable\|null, App\\\Framework\\\Exception\\\ExceptionContext given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ConsoleException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\DatabaseException\:\:constraintViolation\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/DatabaseException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\DatabaseException\:\:transactionFailed\(\) has parameter \$operations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/DatabaseException.php', ], [ 'message' => '#^Parameter \#1 \$num of function decoct expects int, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/DirectoryCreateException.php', ], [ 'message' => '#^Parameter \#1 \$num of function decoct expects int, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/DirectoryListException.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:create\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:forLogging\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:fromException\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:toFlatArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:toSecurityEventFormat\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:toSecurityEventJson\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ErrorHandlerContext\:\:withMetadata\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ErrorHandlerContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:__construct\(\) has parameter \$debug with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:sanitizeData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:sanitizeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:withData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:withDebug\(\) has parameter \$debug with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\ExceptionContext\:\:withMetadata\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/ExceptionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:withData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:withDebug\(\) has parameter \$debug with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:withMetadata\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Unsafe usage of new static\(\)\.$#', 'identifier' => 'new.static', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/FrameworkException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:__construct\(\) has parameter \$allowedContentTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:analyzeProvidedContentType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:fileUpload\(\) has parameter \$allowedTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:formatContentTypeList\(\) has parameter \$contentTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:getResponseHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\InvalidContentTypeException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/InvalidContentTypeException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:HTTP_MALFORMED_REQUEST\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/MalformedJsonException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\MalformedJsonException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/MalformedJsonException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:HTTP_REQUEST_TOO_LARGE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/OversizedRequestException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\OversizedRequestException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/OversizedRequestException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\OversizedRequestException\:\:getTechnicalDetails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/OversizedRequestException.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RateLimitExceededException.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RateLimitExceededException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RateLimitExceededException\:\:getRateLimitHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RateLimitExceededException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RateLimitExceededException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RateLimitExceededException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:HTTP_ROUTE_NOT_FOUND\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RouteNotFoundException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RouteNotFoundException\:\:__construct\(\) has parameter \$availableRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RouteNotFoundException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RouteNotFoundException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RouteNotFoundException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Http\\\RouteNotFoundException\:\:getSimilarRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Http/RouteNotFoundException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\RequestContext\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\RequestContext\:\:create\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\RequestContext\:\:getHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\RequestContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/RequestContext.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:SECURITY_PATH_TRAVERSAL\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:analyzePattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:generateIOC\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:getSecureAlternatives\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\PathTraversalAttemptException\:\:getWafRuleSuggestions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Regex pattern is invalid\: Compilation failed\: PCRE2 does not support \\\F, \\\L, \\\l, \\\N\{name\}, \\\U, or \\\u at offset 2 in pattern\: /\\\u\[0\-9a\-f\]\{4\}/i$#', 'identifier' => 'regexp.pattern', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/PathTraversalAttemptException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:SECURITY_SQL_INJECTION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\SqlInjectionAttemptException\:\:analyzePattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\SqlInjectionAttemptException\:\:generateIOC\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\SqlInjectionAttemptException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/SqlInjectionAttemptException.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Exception\\\ErrorCode\:\:SECURITY_XSS_ATTEMPT\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:analyzePattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:generateIOC\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:getCspRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:getSecurityEventData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\Security\\\XssAttemptException\:\:getWafRuleSuggestions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/Security/XssAttemptException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthenticationAccountLockedEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthenticationAccountLockedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthenticationLoginFailedEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthenticationLoginFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthenticationLoginSuccessAfterFailEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthenticationLoginSuccessAfterFailEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthenticationLoginSuccessEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthenticationLoginSuccessEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthorizationAccessDeniedEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthorizationAccessDeniedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\AuthorizationAdminActionEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/AuthorizationAdminActionEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\InputSqlInjectionAttemptEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/InputSqlInjectionAttemptEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\InputXssAttemptEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/InputXssAttemptEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\SecurityEventInterface\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/SecurityEventInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SecurityEvent\\\SystemExcessiveUseEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityEvent/SystemExcessiveUseEvent.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SecurityException.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SystemContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SystemContext\:\:__construct\(\) has parameter \$environment with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SystemContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\SystemContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Exception/SystemContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\AppendableStorage\:\:appendCsv\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/AppendableStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\AppendableStorage\:\:appendJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/AppendableStorage.php', ], [ 'message' => '#^Class App\\\Framework\\\Filesystem\\\Directory has PHPDoc tag @property\-read for property \$contents with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Directory.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\Directory\:\:__construct\(\) has parameter \$contents with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Directory.php', ], [ 'message' => '#^Parameter \#1 \$path of method App\\\Framework\\\Filesystem\\\FilePath\:\:isAbsolutePath\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilePath.php', ], [ 'message' => '#^Parameter \#2 \$string of function explode expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilePath.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Match arm comparison between \'bz2\' and \'bz2\' is always true\.$#', 'identifier' => 'match.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileStorage\:\:appendCsv\(\) has parameter \$row with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileStorage\:\:appendJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileStorage\:\:getCompressed\(\) should return string but returns int\|string\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Offset \'dirname\' might not exist on array\{dirname\?\: string, basename\: string, extension\?\: string, filename\: string\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Parameter \#1 \$array \(list\\) of array_values is already a list, call has no effect\.$#', 'identifier' => 'arrayValues.list', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Parameter \#2 \$content of method App\\\Framework\\\Filesystem\\\FileStorage\:\:put\(\) expects string, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Parameter \#2 \$content of method App\\\Framework\\\Filesystem\\\FileStorage\:\:putAtomic\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Parameter \#2 \$line of method App\\\Framework\\\Filesystem\\\FileStorage\:\:appendLine\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemConfig\:\:__construct\(\) has parameter \$serializers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemConfig\:\:getDefaultStorageConfig\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemConfig\:\:getStorageConfig\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemConfig.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \#1 \$factory of method ReflectionClass\\:\:newLazyProxy\(\) expects callable\(App\\\Framework\\\Filesystem\\\File\)\: App\\\Framework\\\Filesystem\\\File, array\{contents\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: string, size\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: int, lastModified\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: int\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemInitializer.php', ], [ 'message' => '#^Parameter \#2 \$storage of method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:registerStorage\(\) expects App\\\Framework\\\Filesystem\\\Storage, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemInitializer.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemInitializer.php', ], [ 'message' => '#^Class App\\\Framework\\\Filesystem\\\FilesystemManager constructor invoked with 2 parameters, 0\-1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:create\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:getCsv\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:getJson\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:getSerializerInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:getStorageInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:putCsv\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FilesystemManager\:\:putJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemManager.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/InMemoryStorage.php', ], [ 'message' => '#^Cannot call method debug\(\) on App\\\Framework\\\Logging\\\DefaultLogger\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 13, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/LoggableStorage.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/LoggableStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\PermissionChecker\:\:getDiagnosticInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/PermissionChecker.php', ], [ 'message' => '#^Parameter \#1 \$group_id of function posix_getgrgid expects int, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/PermissionChecker.php', ], [ 'message' => '#^Parameter \#1 \$user_id of function posix_getpwuid expects int, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/PermissionChecker.php', ], [ 'message' => '#^Parameter \#1 \$keys of function array_combine expects array\, list\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fclose expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fputcsv expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$stream of function rewind expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$stream of function stream_get_contents expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$string of function str_getcsv expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/CsvSerializer.php', ], [ 'message' => '#^Parameter \#3 \$depth of function json_decode expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/JsonSerializer.php', ], [ 'message' => '#^Parameter \#3 \$depth of function json_encode expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/JsonSerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\Serializers\\\PhpSerializer\:\:__construct\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/PhpSerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\Serializers\\\PhpSerializer\:\:safe\(\) has parameter \$allowedClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/Serializers/PhpSerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\StorageFactory\:\:create\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/StorageFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\StorageFactory\:\:create\(\) should return App\\\Framework\\\Filesystem\\\Storage but returns App\\\Framework\\\Filesystem\\\FileStorage\|App\\\Framework\\\Filesystem\\\MemoryStorage\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/StorageFactory.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/BotDetectionMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\BotDetectionMiddleware\:\:getSafeUserAgentSample\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/BotDetectionMiddleware.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/ConfigValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\ConfigValidator\:\:checkRequiredProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/ConfigValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\ConfigValidator\:\:getPublicProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/ConfigValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\ConfigValidator\:\:validateConfigs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/ConfigValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\FirewallConfig\:\:__construct\(\) has parameter \$trustedIps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/FirewallConfig.php', ], [ 'message' => '#^Parameter \#2 \$callback of function array_any expects callable\(string, int\|string\)\: bool, Closure\(mixed\)\: \(0\|1\|false\) given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationConfig.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\InputValidationMiddleware\:\:collectInputData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\InputValidationMiddleware\:\:flattenArrayToString\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\InputValidationMiddleware\:\:getSafeInputSample\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\InputValidationMiddleware\:\:getSafeInputSample\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/InputValidationMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\PatternValidator\:\:validateConfig\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/PatternValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\RateLimitConfig\:\:__construct\(\) has parameter \$exemptEndpoints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\RateLimitConfig\:\:__construct\(\) has parameter \$exemptIps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Firewall\\\RateLimitConfig\:\:__construct\(\) has parameter \$stricterEndpoints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Firewall/RateLimitConfig.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/DatabaseHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/DiskSpaceHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/SystemHealthCheck.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckManager\:\:getChecksByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckManager\:\:getRegisteredChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:__construct\(\) has parameter \$details with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:healthy\(\) has parameter \$details with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:unhealthy\(\) has parameter \$details with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthCheckResult\:\:warning\(\) has parameter \$details with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthCheckResult.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:__construct\(\) has parameter \$results with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:getFailedChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:getHealthyChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:getWarningChecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Health\\\HealthReport\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/HealthReport.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Api\\\ClientLogRequest\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Api/ClientLogRequest.php', ], [ 'message' => '#^Function gmdate\(\) is forbidden\: Use Clock\:\:now\(\)\-\>setTimezone\(\) and format\(\) instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Cookies/Cookie.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Cookies\\\Cookies\:\:\$cookies \(array\\) does not accept array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Cookies/Cookies.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/AdaptiveStreamEmitter.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/HttpEmitter.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/SseEmitter.php', ], [ 'message' => '#^Cannot access property \$end on App\\\Framework\\\Http\\\Range\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Cannot access property \$length on App\\\Framework\\\Http\\\Range\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Cannot access property \$start on App\\\Framework\\\Http\\\Range\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Cannot access property \$total on App\\\Framework\\\Http\\\Range\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fclose expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$stream of function feof expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fread expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fseek expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#2 \$length of function fread expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Parameter \#2 \$range of method App\\\Framework\\\Http\\\Emitter\\\StreamEmitter\:\:streamRange\(\) expects App\\\Framework\\\Http\\\Range, App\\\Framework\\\Http\\\Range\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/StreamEmitter.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Emitter/WebSocketEmitter.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HeaderManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HeaderManipulator\:\:formatForCurl\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HeaderManipulator.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:isInternalFormat\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:normalizeName\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:parseFromArray\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:parseFromArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:with\(\) has parameter \$value with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Headers.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:__construct\(\) has parameter \$middlewares with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:handle\(\) should return App\\\Framework\\\Http\\\Response but returns App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:logError\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:logInfo\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:logInfo\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\HttpMiddlewareChain\:\:\$stateManager is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpMiddlewareChain.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\HttpRequest\:\:__construct\(\) has parameter \$queryParams with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/HttpRequest.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Parameter \#2 \$class of function is_a expects string, class\-string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Trying to invoke object but it might not be a callable\.$#', 'identifier' => 'callable.nonCallable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:buildMiddlewareStack\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:getCacheStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:sortMiddlewaresByPriority\(\) has parameter \$middlewares with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:sortMiddlewaresByPriority\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareManager\:\:sortMiddlewaresByPriority\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Match expression does not handle remaining value\: App\\\Framework\\\Http\\\MiddlewarePriority\:\:FIRST$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewarePriority.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CORSMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CORSMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\CsrfMiddleware\:\:rotateTokenIfNeeded\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CsrfMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\CsrfMiddleware\:\:rotateTokenIfNeeded\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CsrfMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\CsrfMiddleware\:\:validateCsrfToken\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/CsrfMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Middlewares\\\ExceptionHandlingMiddleware\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/ExceptionHandlingMiddleware.php', ], [ 'message' => '#^Call to function is_string\(\) with string will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Cannot access property \$body on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:addErrorClassToField\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:cleanupErrorPlaceholders\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:cleanupOldInputPlaceholders\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:removeErrorDisplay\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\FormDataResponseMiddleware\:\:replaceTokenForFormId\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withBody\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Strict comparison using \!\=\= between non\-empty\-array\ and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/FormDataResponseMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/HoneypotMiddleware.php', ], [ 'message' => '#^Cannot access property \$status on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/LoggingMiddleware.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/LoggingMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\RateLimitMiddleware\:\:addRateLimitHeaders\(\) should return App\\\Framework\\\Http\\\HttpResponse but returns App\\\Framework\\\Http\\\Response\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\RateLimitMiddleware\:\:getClientIp\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$identifier of class App\\\Framework\\\Exception\\\SecurityEvent\\\SystemExcessiveUseEvent constructor expects string, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\Middlewares\\\RateLimitMiddleware\:\:addRateLimitHeaders\(\) expects App\\\Framework\\\Http\\\HttpResponse, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$limit of class App\\\Framework\\\Exception\\\SecurityEvent\\\SystemExcessiveUseEvent constructor expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$currentUsage of class App\\\Framework\\\Exception\\\SecurityEvent\\\SystemExcessiveUseEvent constructor expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RateLimitMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RemovePoweredByMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RemovePoweredByMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestIdMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestIdMiddleware.php', ], [ 'message' => '#^Cannot access property \$status on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestLoggingMiddleware.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestLoggingMiddleware.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RequestLoggingMiddleware.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RoutingMiddleware.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/RoutingMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/SecurityHeaderMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\SecurityHeaderMiddleware\:\:getSecurityHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/SecurityHeaderMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\SecurityHeaderMiddleware\:\:shouldAddHeader\(\) has parameter \$currentHeaders with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/SecurityHeaderMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$response of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/SecurityHeaderMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MimeType\:\:getExtensions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MimeType.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MimeTypeResolver\:\:getExtensions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MimeTypeResolver.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$queryParams type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Request.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\RequestBody\:\:__construct\(\) has parameter \$post with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestBody.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\RequestBody\:\:\$data type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestBody.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestFactory.php', ], [ 'message' => '#^Parameter \#1 \$string of function rtrim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestFactory.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$combined is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$combined is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$id is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$id is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$signature is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Http\\\RequestId\:\:\$signature is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestId.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\RequestManipulator\:\:withAddedHeaders\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/RequestManipulator.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Responses\\\JsonResponse\:\:__construct\(\) has parameter \$body with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Responses/JsonResponse.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Responses\\\JsonResponse\:\:\$body \(string\) does not accept string\|false\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Responses/JsonResponse.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Responses\\\SseResponse\:\:\$initialEvents type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Responses/SseResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\ServerEnvironment\:\:__construct\(\) has parameter \$serverData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/ServerEnvironment.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Services\\\IpNetworkService\:\:getLocationContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Services/IpNetworkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Services\\\IpSecurityService\:\:__construct\(\) has parameter \$blockedNetworks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Services/IpSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Services\\\IpSecurityService\:\:__construct\(\) has parameter \$trustedNetworks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Services/IpSecurityService.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\CsrfProtection\:\:cleanupOldTokens\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/CsrfProtection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\CsrfProtection\:\:cleanupOldTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/CsrfProtection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\Events\\\SessionClearedEvent\:\:__construct\(\) has parameter \$oldData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/Events/SessionClearedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\Events\\\SessionInvalidatedEvent\:\:__construct\(\) has parameter \$securityData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/Events/SessionInvalidatedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FlashBag\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FlashBag.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FlashBag\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FlashBag.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Session\\\FlashBag\:\:\$newFlashData type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FlashBag.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FormDataStorage\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FormDataStorage\:\:getField\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FormDataStorage\:\:getField\(\) has parameter \$default with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\FormDataStorage\:\:store\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\InMemorySessionStorage\:\:read\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/InMemorySessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\InMemorySessionStorage\:\:write\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/InMemorySessionStorage.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Session\\\InMemorySessionStorage\:\:\$sessions type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/InMemorySessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\RedisSessionStorage\:\:read\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/RedisSessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\RedisSessionStorage\:\:write\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/RedisSessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionCookieConfig\:\:fromArray\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionCookieConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionCookieConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionCookieConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionFingerprint\:\:normalizeUserAgent\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionFingerprint.php', ], [ 'message' => '#^Parameter \#2 \$data of function hash expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionFingerprintConfig\:\:toComponentArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionFingerprintConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionInterface\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionInterface\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionInterface.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\Http\\\Session\\\Session and null will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionMiddleware\:\:isHealthCheckRoute\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$response of method App\\\Framework\\\Http\\\Session\\\SessionManager\:\:saveSession\(\) expects App\\\Framework\\\Http\\\Response, App\\\Framework\\\Http\\\Response\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionSecurityData\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionSecurityData.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionStorage\:\:read\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionStorage\:\:write\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValidationErrorBag\:\:add\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValidationErrorBag.php', ], [ 'message' => '#^Function header\(\) is forbidden\: Use HttpResponse abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/SseStream.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/SseStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\SseStream\:\:sendJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/SseStream.php', ], [ 'message' => '#^Parameter \#1 \$data of method App\\\Framework\\\Http\\\SseStream\:\:send\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/SseStream.php', ], [ 'message' => '#^Comparison operation "\<" between 500\|501\|502\|503\|504\|505\|506\|507\|508\|510\|511 and 600 is always true\.$#', 'identifier' => 'smaller.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Status.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:getRepresentations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:getSegments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:\$representations type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:\$segments type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Streaming\\\AdaptivePlaylist\:\:\$videoId is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptivePlaylist.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Streaming\\\AdaptiveStreamingController\:\:getVideoSegments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptiveStreamingController.php', ], [ 'message' => '#^Parameter \$fileSize of class App\\\Framework\\\Http\\\Responses\\\StreamResponse constructor expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/AdaptiveStreamingController.php', ], [ 'message' => '#^Array has 2 duplicate keys with value \'ogg\' \(\'ogg\', \'ogg\'\)\.$#', 'identifier' => 'array.duplicateKey', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Streaming/MimeTypeDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFile\:\:getMimeType\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFile.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:__construct\(\) has parameter \$filesArray with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:createMultipleFiles\(\) has parameter \$fileSpec with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:createMultipleFiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:createSingleFile\(\) has parameter \$fileSpec with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\UploadedFiles\:\:get\(\) should return App\\\Framework\\\Http\\\UploadedFile\|null but returns App\\\Framework\\\Http\\\UploadedFile\|array\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/UploadedFiles.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Uri\:\:getPath\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Uri.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Uri\:\:getQuery\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Uri.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketConnection\:\:__construct\(\) has parameter \$socket with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketConnection\:\:sendJson\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketConnection.php', ], [ 'message' => '#^Parameter \#1 \$message of method App\\\Framework\\\Http\\\WebSocketConnection\:\:send\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketConnection.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\WebSocketConnection\:\:\$attributes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketConnection.php', ], [ 'message' => '#^Cannot access offset 0 on string\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Cannot access offset 1 on array\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Cannot access offset 1 on string\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Cannot access offset int\<0, 3\> on string\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Cannot access offset int\<0, max\> on string\|false\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketServer\:\:getCurrentSocket\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketServer\:\:getSocketFromConnection\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketServer\:\:readMessage\(\) has parameter \$socket with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\WebSocketServer\:\:sendPong\(\) has parameter \$socket with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Parameter \#2 \$data of method App\\\Framework\\\Http\\\WebSocketServer\:\:sendPong\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Parameter \#2 \$string of function unpack expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\WebSocketServer\:\:\$connections type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/WebSocketServer.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthConfig\:\:__construct\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthConfig\:\:custom\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthResult\:\:__construct\(\) has parameter \$curlOptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthResult.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupBasicAuth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupBearerAuth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupCustomAuth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupDigestAuth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:setupOAuth2Auth\(\) has parameter \$credentials with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AuthenticationHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:__construct\(\) has parameter \$allowedStatusCodes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:__construct\(\) has parameter \$curlOptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:__construct\(\) has parameter \$query with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:with\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientOptions\:\:withQuery\(\) has parameter \$query with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientOptions.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:__construct\(\) has parameter \$body with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:form\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:json\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:multipart\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:multipart\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientRequest\:\:with\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientRequest.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\ClientResponse\:\:json\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientResponse.php', ], [ 'message' => '#^Offset 0 might not exist on array\\|null\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientResponse.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ClientResponse.php', ], [ 'message' => '#^Function curl_exec\(\) is forbidden\: Use HttpClient abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\CurlHttpClient\:\:executeCurlRequest\(\) should return string but returns string\|true\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlHttpClient.php', ], [ 'message' => '#^Parameter \#1 \$auth of method App\\\Framework\\\HttpClient\\\AuthenticationHandler\:\:configure\(\) expects App\\\Framework\\\HttpClient\\\AuthConfig, App\\\Framework\\\HttpClient\\\AuthConfig\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlHttpClient.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\HttpClient\\\AuthConfig\|null and array\{\} will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\CurlRequestBuilder\:\:buildOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/CurlRequestBuilder.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:getContent\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:getHeaders\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:getStatusCode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^PHPDoc tag @param for parameter \$response with type App\\\Framework\\\HttpClient\\\Exception\\\ClientResponse is not subtype of native type App\\\Framework\\\HttpClient\\\ClientResponse\.$#', 'identifier' => 'parameter.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^Parameter \$response of method App\\\Framework\\\HttpClient\\\Exception\\\ClientErrorException\:\:__construct\(\) has invalid type App\\\Framework\\\HttpClient\\\Exception\\\ClientResponse\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ClientErrorException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/CurlExecutionFailed.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/CurlNotInitialized.php', ], [ 'message' => '#^Constructor of class App\\\Framework\\\HttpClient\\\Exception\\\ServerErrorException has an unused parameter \$response\.$#', 'identifier' => 'constructor.unusedParameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ServerErrorException.php', ], [ 'message' => '#^Method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ServerErrorException.php', ], [ 'message' => '#^PHPDoc tag @param for parameter \$response with type App\\\Framework\\\HttpClient\\\Exception\\\ClientResponse is not subtype of native type App\\\Framework\\\HttpClient\\\ClientResponse\.$#', 'identifier' => 'parameter.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ServerErrorException.php', ], [ 'message' => '#^Parameter \$response of method App\\\Framework\\\HttpClient\\\Exception\\\ServerErrorException\:\:__construct\(\) has invalid type App\\\Framework\\\HttpClient\\\Exception\\\ClientResponse\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Exception/ServerErrorException.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Cache\\\CacheItem and App\\\Framework\\\HttpClient\\\ClientResponse will always evaluate to false\.$#', 'identifier' => 'instanceof.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/CachingMiddleware.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/LoggingMiddleware.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/RateLimitingMiddleware.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, \(array\|null\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/RateLimitingMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\HttpClient\\\Middleware\\\RateLimitingMiddleware\:\:\$lastRequestTimes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/RateLimitingMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Middleware\\\RetryMiddleware\:\:__construct\(\) has parameter \$retryableStatuses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/RetryMiddleware.php', ], [ 'message' => '#^Class App\\\Framework\\\HttpClient\\\Exception\\\RequestValidationException constructor invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/RequestValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\RequestValidator\:\:validateBody\(\) has parameter \$body with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/RequestValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:isClientError\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ResponseValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientResponse\:\:isServerError\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ResponseValidator.php', ], [ 'message' => '#^Class App\\\Framework\\\HttpClient\\\Exception\\\ResponseValidationException constructor invoked with 1 parameter, 2\-6 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/ResponseValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Commands\\\RotateLogsCommand\:\:getLogPaths\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Commands/RotateLogsCommand.php', ], [ 'message' => '#^Parameter \#1 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Commands/RotateLogsCommand.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:alert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:critical\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:debug\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:emergency\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:error\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:info\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:log\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:notice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\DefaultLogger\:\:warning\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/DefaultLogger.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/ConsoleHandler.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/FileHandler.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/FileHandler.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\Handlers\\\FileHandler\:\:\$fileMode is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/FileHandler.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Handlers\\\JsonFileHandler\:\:__construct\(\) has parameter \$includedFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Handlers\\\JsonFileHandler\:\:setIncludedFields\(\) has parameter \$fields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\Handlers\\\JsonFileHandler\:\:\$includedFields type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Handlers/JsonFileHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:addExtras\(\) has parameter \$extras with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:getContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:getExtras\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRecord\:\:withContext\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRecord.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogRotator\:\:getRotationInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Parameter \#1 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Parameter \#2 \$data of function gzwrite expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogRotator.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:__construct\(\) has parameter \$logPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:getAvailableLogs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:getDefaultLogPaths\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogEntries\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogEntries\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogEntries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogLine\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:parseLogLine\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readLargeFileLines\(\) has parameter \$file with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readLog\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readLogLines\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readLogLines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:readSmallFileLines\(\) has parameter \$file with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:searchLogs\(\) has parameter \$logNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:searchLogs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LogViewer\:\:tailLog\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Parameter \#1 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, int\<0, max\>\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\LogViewer\:\:\$logLevels is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\LogViewer\:\:\$logLevels type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\LogViewer\:\:\$logPaths type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogViewer.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:alert\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:critical\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:debug\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:emergency\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:error\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:info\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:notice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Logger\:\:warning\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Logger.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\LoggerFactory\:\:create\(\) has parameter \$handlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LoggerFactory.php', ], [ 'message' => '#^Parameter \#1 \$minLevel of class App\\\Framework\\\Logging\\\DefaultLogger constructor expects App\\\Framework\\\Logging\\\LogLevel, App\\\Framework\\\Logging\\\LogLevel\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LoggerFactory.php', ], [ 'message' => '#^Parameter \#2 \$handlers of class App\\\Framework\\\Logging\\\DefaultLogger constructor expects array\, bool given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LoggerFactory.php', ], [ 'message' => '#^Parameter \#3 \$processorManager of class App\\\Framework\\\Logging\\\DefaultLogger constructor expects App\\\Framework\\\Logging\\\ProcessorManager, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LoggerFactory.php', ], [ 'message' => '#^Parameter \#2 \$data of function hash expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/ProcessLogCommandHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\ProcessorManager\:\:sortProcessors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/ProcessorManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\ExceptionProcessor\:\:formatException\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/ExceptionProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\ExceptionProcessor\:\:formatTrace\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/ExceptionProcessor.php', ], [ 'message' => '#^Offset \'function\' on array\{function\: string, line\?\: int, file\?\: string, class\?\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\} in isset\(\) always exists and is not nullable\.$#', 'identifier' => 'isset.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/ExceptionProcessor.php', ], [ 'message' => '#^Offset \'type\' might not exist on array\{function\: string, line\?\: int, file\?\: string, class\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/ExceptionProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\InterpolationProcessor\:\:interpolate\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/InterpolationProcessor.php', ], [ 'message' => '#^Offset \'function\' on array\{function\: string, line\?\: int, file\?\: string, class\?\: class\-string, type\?\: \'\-\>\'\|\'\:\:\', args\?\: array\, object\?\: object\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/IntrospectionProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\WebInfoProcessor\:\:__construct\(\) has parameter \$config with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/WebInfoProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Logging\\\Processors\\\WebInfoProcessor\:\:collectWebInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/WebInfoProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\Logging\\\Processors\\\WebInfoProcessor\:\:\$config type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/Processors/WebInfoProcessor.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Mail\\\Message and App\\\Framework\\\Mail\\\Message will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Commands/SendEmailBatchCommand.php', ], [ 'message' => '#^Class App\\\Framework\\\Mail\\\EmailList implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:fromArray\(\) has parameter \$emails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:getIterator\(\) return type with generic class ArrayIterator does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\EmailList\:\:toStringArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/EmailList.php', ], [ 'message' => '#^Function app not found\.$#', 'identifier' => 'function.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Examples\\\MailerUsageExample\:\:sendNewsletter\(\) has parameter \$subscribers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Examples\\\MailerUsageExample\:\:sendNewsletter\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Examples\\\MailerUsageExample\:\:sendNotificationEmail\(\) has parameter \$bccEmails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Examples\\\MailerUsageExample\:\:sendNotificationEmail\(\) has parameter \$ccEmails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$emails of class App\\\Framework\\\Mail\\\EmailList constructor expects App\\\Domain\\\Common\\\ValueObject\\\Email\|string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$emails of class App\\\Framework\\\Mail\\\EmailList constructor expects App\\\Domain\\\Common\\\ValueObject\\\Email\|string, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Examples/MailerUsageExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Exceptions\\\SmtpException\:\:messageValidationFailed\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Exceptions/SmtpException.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Mailer\:\:queueBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Mailer\:\:queueBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Mailer\:\:sendBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Mailer\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Property App\\\Framework\\\Mail\\\Mailer\:\:\$queue is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Mailer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\MailerInterface\:\:sendBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/MailerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\MailerInterface\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/MailerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Message\:\:__construct\(\) has parameter \$attachments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Message.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Message\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Message.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\PooledSmtpTransport\:\:sendBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/PooledSmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\PooledSmtpTransport\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/PooledSmtpTransport.php', ], [ 'message' => '#^Property App\\\Framework\\\Mail\\\PooledSmtpTransport\:\:\$connections type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/PooledSmtpTransport.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:addAlternativeParts\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:addAttachments\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:buildHtmlMessage\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:buildMultipartAlternativeMessage\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:buildMultipartMixedMessage\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:buildTextMessage\(\) has parameter \$lines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\SmtpTransport\:\:sanitizeHeaderName\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Property App\\\Framework\\\Mail\\\SmtpTransport\:\:\$socket has no type specified\.$#', 'identifier' => 'missingType.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/SmtpTransport.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:getLastSentMessage\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:getSentMessageWithSubject\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:getSentMessages\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:getSentMessagesTo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:sendBatch\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Property App\\\Framework\\\Mail\\\Testing\\\MockTransport\:\:\$sentMessages type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/Testing/MockTransport.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\TransportResult\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/TransportResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\TransportResult\:\:failure\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/TransportResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\TransportResult\:\:getMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/TransportResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Mail\\\TransportResult\:\:success\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mail/TransportResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:closeList\(\) has parameter \$html with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:flushParagraph\(\) has parameter \$currentParagraph with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:flushParagraph\(\) has parameter \$html with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:getListType\(\) has parameter \$html with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:handleList\(\) has parameter \$html with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:handleList\(\) never assigns null to &\$listType so it can be removed from the by\-ref type\.$#', 'identifier' => 'parameterByRef.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownConverter\:\:parseInlineElements\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 15, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownConverter.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownRenderer\:\:render\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownRenderer\:\:renderFile\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownRenderer\:\:wrapWithLayout\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Parameter \#1 \$markdown of method App\\\Framework\\\Markdown\\\MarkdownRenderer\:\:render\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownRenderer.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownTheme\:\:__construct\(\) has parameter \$colors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownTheme\:\:__construct\(\) has parameter \$fonts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Method App\\\Framework\\\Markdown\\\MarkdownTheme\:\:__construct\(\) has parameter \$spacing with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Property App\\\Framework\\\Markdown\\\MarkdownTheme\:\:\$colors is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Property App\\\Framework\\\Markdown\\\MarkdownTheme\:\:\$fonts is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Property App\\\Framework\\\Markdown\\\MarkdownTheme\:\:\$spacing is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Markdown/MarkdownTheme.php', ], [ 'message' => '#^Dead catch \- Throwable is never thrown in the try block\.$#', 'identifier' => 'catch.neverThrown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Console/McpServerCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpResourceMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpResourceRegistry\:\:__construct\(\) has parameter \$resources with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpResourceRegistry\:\:getAllResources\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpResourceRegistry\:\:getResource\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\Mcp\\\McpResourceRegistry\:\:\$resources type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpResourceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:callTool\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:callTool\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:createErrorResponse\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:generateInputSchema\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:generateInputSchema\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:initialize\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:initialize\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:listResources\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:listTools\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:prepareArguments\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:prepareArguments\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:prepareArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:readResource\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpServer\:\:readResource\(\) has parameter \$requestId with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpServer.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpTool\:\:__construct\(\) has parameter \$inputSchema with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpTool.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolMapper\:\:extractParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolRegistry\:\:__construct\(\) has parameter \$tools with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolRegistry\:\:getAllTools\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\McpToolRegistry\:\:getTool\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolRegistry.php', ], [ 'message' => '#^Property App\\\Framework\\\Mcp\\\McpToolRegistry\:\:\$tools type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/McpToolRegistry.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\CacheTools\:\:cacheClear\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\CacheTools\:\:cacheHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\CacheTools\:\:cacheInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheItem and non\-falsy\-string will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Ternary operator condition is always false\.$#', 'identifier' => 'ternary.alwaysFalse', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/DatabaseTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\DatabaseTools\:\:databaseConfigInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/DatabaseTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\DatabaseTools\:\:databaseHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/DatabaseTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\DatabaseTools\:\:listEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/DatabaseTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FileSystemTools\:\:findFiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FileSystemTools\:\:getFrameworkConfig\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FileSystemTools\:\:getFrameworkModules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FileSystemTools\:\:listDirectory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Parameter \#2 \$needle of function str_starts_with expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Parameter \#2 \$timestamp of function date expects int\|null, int\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FileSystemTools.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\AttributeDiscoveryService\:\:discover\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:analyzeContainerBindings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:analyzeRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:discoverAttributes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:frameworkHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:listFrameworkModules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\LogTools\:\:logErrorSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\LogTools\:\:logRecentEntries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\LogTools\:\:loggerInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/LogTools.php', ], [ 'message' => '#^Access to private property App\\\Framework\\\Performance\\\PerformanceMetric\:\:\$category\.$#', 'identifier' => 'property.private', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Access to private property App\\\Framework\\\Performance\\\PerformanceMetric\:\:\$key\.$#', 'identifier' => 'property.private', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Cannot access offset \'avg_duration_ms\' on App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Cannot access offset \'count\' on App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Cannot access offset \'total_duration_ms\' on App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:analyzeBottlenecks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:calculateOverallHealth\(\) has parameter \$bottlenecks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:calculateOverallHealth\(\) has parameter \$requestStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:calculateOverallHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:generatePerformanceReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:generateRecommendations\(\) has parameter \$metric with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:generateRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:getPerformanceByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:getPerformanceSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:getSlowestOperations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Mcp\\\Tools\\\PerformanceTools\:\:resetPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Offset \'critical\'\|\'high\'\|\'medium\' on array\{critical\: 4, high\: 3, medium\: 2, low\: 1\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Parameter \#1 \$array of function usort contains unresolvable type\.$#', 'identifier' => 'argument.unresolvableType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Parameter \#2 \$callback of function usort contains unresolvable type\.$#', 'identifier' => 'argument.unresolvableType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/PerformanceTools.php', ], [ 'message' => '#^Method App\\\Framework\\\Meta\\\Keywords\:\:__construct\(\) has parameter \$keywords with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Meta/Keywords.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiEndpoint\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiEndpoint.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiParameter\:\:__construct\(\) has parameter \$enum with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiParameter.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiRequestBody\:\:__construct\(\) has parameter \$example with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiRequestBody.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiResponse\:\:__construct\(\) has parameter \$example with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiResponse\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\Attributes\\\ApiSecurity\:\:__construct\(\) has parameter \$scopes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Attributes/ApiSecurity.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Commands/GenerateMarkdownDocsCommand.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Commands/GenerateMarkdownDocsCommand.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Commands/GenerateOpenApiCommand.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/Commands/GenerateOpenApiCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:extractParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:extractRequestBody\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:extractResponses\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:extractSecurity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:generate\(\) has parameter \$servers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiGenerator\:\:generatePathItem\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiInfo\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiLicense\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiLicense.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiService\:\:getEndpoints\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiService.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiService\:\:getEndpointsByTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiService.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$components with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$paths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$security with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$servers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\OpenApi\\\OpenApiSpec\:\:toJson\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/OpenApi/OpenApiSpec.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:increment\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceCollectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:measure\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceCollectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:recordMetric\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceCollectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:startTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceCollectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceReporterInterface\:\:generateReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceReporterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceReporterInterface\:\:getMetricsByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceReporterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceReporterInterface\:\:getTopMetricsByMemory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceReporterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceReporterInterface\:\:getTopMetricsByTime\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceReporterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:exportMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:generateReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:getSlowestOperations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:increment\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:measure\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:measureCacheOperation\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:measureDatabaseQuery\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:measureViewRender\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:recordMetric\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Contracts\\\PerformanceServiceInterface\:\:startTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Contracts/PerformanceServiceInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:benchmark\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:getActiveTimers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:increment\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:measure\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:measureDuration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:recordMetric\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\EnhancedPerformanceCollector\:\:startTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/EnhancedPerformanceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\ControllerPerformanceMiddleware\:\:extractControllerInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/ControllerPerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\ControllerPerformanceMiddleware\:\:parseControllerString\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/ControllerPerformanceMiddleware.php', ], [ 'message' => '#^Offset 0 on non\-empty\-list\ on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/ControllerPerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\DatabasePerformanceMiddleware\:\:sanitizeBindings\(\) has parameter \$bindings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\DatabasePerformanceMiddleware\:\:sanitizeBindings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\Middleware\\\DatabasePerformanceMiddleware\:\:sanitizeQuery\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$duration of method App\\\Framework\\\Performance\\\PerformanceConfig\:\:isSlowQuery\(\) expects float, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$string of function substr expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Result of method App\\\Framework\\\Performance\\\Contracts\\\PerformanceCollectorInterface\:\:endTiming\(\) \(void\) is used\.$#', 'identifier' => 'method.void', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/DatabasePerformanceMiddleware.php', ], [ 'message' => '#^Call to function is_string\(\) with array\\|null will always evaluate to false\.$#', 'identifier' => 'function.impossibleType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Cannot access property \$headers on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Offset \'categories\' might not exist on array\|string\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Offset \'summary\' might not exist on array\|string\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$path \(string\) on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Response\:\:\$body \(string\) in isset\(\) is not nullable\.$#', 'identifier' => 'isset.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Performance\\\Middleware\\\PerformanceDebugMiddleware\:\:\$collector is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Result of && is always false\.$#', 'identifier' => 'booleanAnd.alwaysFalse', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Variable \$contentType in empty\(\) is never defined\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/PerformanceDebugMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/RequestPerformanceMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$path \(string\) on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/RequestPerformanceMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$path \(string\) on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.property', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/Middleware/RoutingPerformanceMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceConfig\:\:__construct\(\) has parameter \$enabledCategories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceConfig\:\:__construct\(\) has parameter \$excludedPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceConfig\:\:__construct\(\) has parameter \$thresholds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceMetric\:\:create\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceMetric.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceMetric\:\:getContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceMetric.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceMetric\:\:getValues\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceMetric.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceMetric\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceMetric.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:collectReportData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:generateHtmlReport\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:generateReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:generateReport\(\) should return array\|string but returns array\|string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:generateTextReport\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getMetricsByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getTopMetricsByMemory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getTopMetricsByTime\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getTopMetricsByTimeFromData\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:getTopMetricsByTimeFromData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:processCategoryMetrics\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceReporter\:\:processCategoryMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceReporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:exportMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:generateReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:getSlowestOperations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:increment\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:measure\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:measureCacheOperation\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:measureDatabaseQuery\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:measureViewRender\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:recordMetric\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\PerformanceService\:\:startTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\Measurement\:\:endHighResTiming\(\) has parameter \$startData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/Measurement.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\Measurement\:\:endTiming\(\) has parameter \$startData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/Measurement.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\Measurement\:\:startTiming\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/Measurement.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\Measurement\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/Measurement.php', ], [ 'message' => '#^Class App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MeasurementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\:\:__construct\(\) has parameter \$measurements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MeasurementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MeasurementCollection\:\:export\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MeasurementCollection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:greaterThanOrEqual\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MemorySummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MemorySummary\:\:jsonSerialize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MemorySummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MemorySummary\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MemorySummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:normalizeData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:normalizeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\MetricContext\:\:validateData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/ValueObjects/MetricContext.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\FuncCall and PhpParser\\\Node\\\Expr\\\FuncCall will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/ForbiddenFunctionsRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\ForbiddenFunctionsRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\RuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/ForbiddenFunctionsRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Stmt\\\Return_ and PhpParser\\\Node\\\Stmt\\\Return_ will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/PreferValueObjectsRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\PreferValueObjectsRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/PreferValueObjectsRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Stmt\\\Return_ and PhpParser\\\Node\\\Stmt\\\Return_ will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/TestRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\TestRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\RuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/TestRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\FuncCall and PhpParser\\\Node\\\Expr\\\FuncCall will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseClockAbstractionRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\UseClockAbstractionRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseClockAbstractionRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\New_ and PhpParser\\\Node\\\Expr\\\New_ will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseDateTimeAbstractionRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\UseDateTimeAbstractionRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseDateTimeAbstractionRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\New_ and PhpParser\\\Node\\\Expr\\\New_ will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseFrameworkAbstractionsRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\UseFrameworkAbstractionsRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseFrameworkAbstractionsRule.php', ], [ 'message' => '#^Instanceof between PhpParser\\\Node\\\Expr\\\FuncCall and PhpParser\\\Node\\\Expr\\\FuncCall will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseTimerAbstractionRule.php', ], [ 'message' => '#^Method App\\\Framework\\\Quality\\\PHPStan\\\Rules\\\UseTimerAbstractionRule\:\:processNode\(\) should return list\ but returns array\{PHPStan\\\Rules\\\TipRuleError\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Quality/PHPStan/Rules/UseTimerAbstractionRule.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\DefaultQueryBus\:\:__construct\(\) has parameter \$eventHandlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\DefaultQueryBus\:\:dispatch\(\) with return type void returns mixed but should not return anything\.$#', 'identifier' => 'return.void', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\DefaultQueryBus\:\:dispatch\(\) with return type void returns null but should not return anything\.$#', 'identifier' => 'return.void', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/DefaultQueryBus.php', ], [ 'message' => '#^Parameter \#2 \$container of class App\\\Framework\\\QueryBus\\\DefaultQueryBus constructor expects App\\\Framework\\\DI\\\DefaultContainer, App\\\Framework\\\DI\\\Container given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryBusInitializer.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\QueryHandlerCompiler\:\:compile\(\) has parameter \$handlers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\QueryHandlerCompiler\:\:compile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerCompiler.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerMapper.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:isBuiltin\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\QueryBus\\\QueryHandlerMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/QueryBus/QueryHandlerMapper.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Parameter \#3 \$retryAfter of static method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:exceeded\(\) expects int, float\|int\<1, max\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/CacheStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\Storage\\\CacheStorage\:\:getRequestsInWindow\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/CacheStorage.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>value" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/CacheStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\Storage\\\StorageInterface\:\:getRequestsInWindow\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/StorageInterface.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/TimeProvider/SystemTimeProvider.php', ], [ 'message' => '#^Method App\\\Framework\\\Redis\\\RedisConfig\:\:__construct\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Redis/RedisConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Redis\\\RedisConfig\:\:toConnectionParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Redis/RedisConfig.php', ], [ 'message' => '#^Right side of && is always true\.$#', 'identifier' => 'booleanAnd.rightAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Redis/RedisConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\WrappedReflectionClass\:\:getAttributeInstances\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/WrappedReflectionClass.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\WrappedReflectionMethod\:\:getAttributeInstances\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/WrappedReflectionMethod.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\WrappedReflectionMethod\:\:getParameterInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/WrappedReflectionMethod.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\WrappedReflectionParameter\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/WrappedReflectionParameter.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:__construct\(\) has parameter \$namedRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:buildUrlFromRoute\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:generateUrl\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:getAllNamedRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:getStaticRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\CompiledRoutes\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/CompiledRoutes.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Exception\\\RouteNotFound\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Exception/RouteNotFound.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\GenericActionResult\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/GenericActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\GenericActionResult\:\:__construct\(\) has parameter \$slots with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/GenericActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:prepareParameters\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:prepareParameters\(\) has parameter \$queryParams with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:prepareParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Using nullsafe method call on non\-nullable type App\\\Framework\\\Logging\\\DefaultLogger\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\ContentNegotiationResult\:\:__construct\(\) has parameter \$jsonPayload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/ContentNegotiationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\ContentNegotiationResult\:\:__construct\(\) has parameter \$viewData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/ContentNegotiationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\JsonResult\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/JsonResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\SseResult\:\:addJsonEvent\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/SseResult.php', ], [ 'message' => '#^Parameter \#1 \$data of method App\\\Framework\\\Router\\\Result\\\SseResult\:\:addEvent\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/SseResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\SseResultWithCallback\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/SseResultWithCallback.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\ViewResult\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/ViewResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\ViewResult\:\:__construct\(\) has parameter \$slots with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/ViewResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\WebSocketResult\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/WebSocketResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\WebSocketResult\:\:getSubprotocols\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/WebSocketResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\Result\\\WebSocketResult\:\:withSubprotocols\(\) has parameter \$subprotocols with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/WebSocketResult.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\Result\\\WebSocketResult\:\:\$subprotocols type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/Result/WebSocketResult.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\RouteCollection\:\:__construct\(\) has parameter \$namedRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\RouteCollection\:\:getByMethod\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\RouteCollection\:\:getDynamic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\RouteCollection\:\:getStatic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteCollection.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\RouteContext\:\:\$params type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteContext.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteDispatcher.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteResponder.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\RouteResponder\:\:\$container is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteResponder.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\RouteResponder\:\:\$pathProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouteResponder.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\RouterSetup\:\:\$pathProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/RouterSetup.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:beginTransaction\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:commit\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:createQuery\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:flush\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:persist\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:remove\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\EntityManager\:\:rollback\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Cache\\\CacheItem and App\\\Framework\\\Security\\\RequestSigning\\\SigningKey will always evaluate to false\.$#', 'identifier' => 'instanceof.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\EntityManagerSigningKeyRepository\:\:findByKeyId\(\) should return App\\\Framework\\\Security\\\RequestSigning\\\SigningKey\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\EntityManagerSigningKeyRepository\:\:getAllActive\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\EntityManagerSigningKeyRepository\:\:getExpiringKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Function gmdate\(\) is forbidden\: Use Clock\:\:now\(\)\-\>setTimezone\(\) and format\(\) instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\HttpClientSigningMiddleware\:\:__construct\(\) has parameter \$headersToSign with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\HttpClientSigningMiddleware\:\:parseQueryParams\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$body of method App\\\Framework\\\Security\\\RequestSigning\\\HttpClientSigningMiddleware\:\:createDigest\(\) expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\Http\\\HttpRequest constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/HttpClientSigningMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\InMemorySigningKeyRepository\:\:getAllActive\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/InMemorySigningKeyRepository.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSignature.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSignature.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigner.php', ], [ 'message' => '#^Function gmdate\(\) is forbidden\: Use Clock\:\:now\(\)\-\>setTimezone\(\) and format\(\) instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigner.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigner\:\:sign\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigner.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigner\:\:signRequest\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigner.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningConfig\:\:__construct\(\) has parameter \$defaultHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningConfig\:\:__construct\(\) has parameter \$exemptPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningConfig\:\:__construct\(\) has parameter \$securityHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningConfig.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningInitializer.php', ], [ 'message' => '#^Cannot access property \$algorithm on App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Cannot access property \$keyId on App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningMiddleware\:\:__construct\(\) has parameter \$exemptPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Parameter \$headers of class App\\\Framework\\\Http\\\HttpResponse constructor expects App\\\Framework\\\Http\\\Headers, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningMiddleware.php', ], [ 'message' => '#^Cannot access property \$algorithm on App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Cannot access property \$keyId on App\\\Framework\\\Security\\\RequestSigning\\\RequestSignature\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningService\:\:getActiveKeys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\RequestSigningService\:\:signOutgoingRequest\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestSigningService.php', ], [ 'message' => '#^Strict comparison using \=\=\= between string and false will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/RequestVerifier.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningKeyRepository\:\:getAllActive\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningKeyRepository.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningString\:\:build\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningString\:\:getDefaultHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningString\:\:getRecommendedHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Method App\\\Framework\\\Security\\\RequestSigning\\\SigningString\:\:getSecurityHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/SigningString.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Sitemap/SitemapGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\Sitemap\\\SitemapGenerator\:\:supportsMethod\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Sitemap/SitemapGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionRegistry\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionResult\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionResult\:\:__construct\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionResult\:\:failure\(\) has parameter \$errors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\ActionResult\:\:success\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/ActionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\DefaultActionRegistry\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/DefaultActionRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\DocumentAccessAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/DocumentAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\DocumentAccessAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/DocumentAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\DocumentAccessAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/DocumentAccessAction.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/EmailVerificationAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\EmailVerificationAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/EmailVerificationAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\EmailVerificationAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/EmailVerificationAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\EmailVerificationAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/EmailVerificationAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\GenericDataAccessAction\:\:__construct\(\) has parameter \$requiredPermissions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/GenericDataAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\GenericDataAccessAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/GenericDataAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\GenericDataAccessAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/GenericDataAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\GenericDataAccessAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/GenericDataAccessAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\PasswordResetAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/PasswordResetAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\PasswordResetAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/PasswordResetAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\PasswordResetAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/PasswordResetAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:execute\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/SmartlinkAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:getRequiredPermissions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/SmartlinkAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Actions\\\SmartlinkAction\:\:validatePayload\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Actions/SmartlinkAction.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Commands\\\ExecuteSmartlinkCommand\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Commands/ExecuteSmartlinkCommand.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Commands\\\GenerateSmartlinkCommand\:\:__construct\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Commands/GenerateSmartlinkCommand.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:getKeys\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\CacheSmartLinkService\:\:deserializeData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\CacheSmartLinkService\:\:generate\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\CacheSmartLinkService\:\:getActiveTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\CacheSmartLinkService\:\:serializeData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/InMemorySmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\InMemorySmartLinkService\:\:generate\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/InMemorySmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\InMemorySmartLinkService\:\:getActiveTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/InMemorySmartLinkService.php', ], [ 'message' => '#^Property App\\\Framework\\\Smartlinks\\\Services\\\InMemorySmartLinkService\:\:\$tokens type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/InMemorySmartLinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\SmartlinkService\:\:generate\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/SmartlinkService.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\Services\\\SmartlinkService\:\:getActiveTokens\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/SmartlinkService.php', ], [ 'message' => '#^Direct instantiation of DateInterval is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime\:\:createInterval\(\) instead for consistent error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/SmartlinkData.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/SmartlinkData.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\SmartlinkData\:\:__construct\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/SmartlinkData.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/TokenConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\TokenConfig\:\:__construct\(\) has parameter \$allowedIpRanges with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/TokenConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Smartlinks\\\TokenConfig\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/TokenConfig.php', ], [ 'message' => '#^Property App\\\Framework\\\StaticSite\\\GenerateStaticSites\:\:\$outputDirectory is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/GenerateStaticSites.php', ], [ 'message' => '#^Access to property \$methods on an unknown class App\\\Framework\\\Router\\\Route\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Access to property \$path on an unknown class App\\\Framework\\\Router\\\Route\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Router\\\HttpRouter\:\:getRoutes\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Router\\\RouteCollection\:\:getAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Class App\\\Framework\\\Router\\\Route not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\RouteCollector\:\:collectRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\RouteCollector\:\:filterRoutes\(\) has parameter \$exclude with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\RouteCollector\:\:filterRoutes\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\RouteCollector\:\:filterRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/RouteCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Router\\\HttpRouter\:\:getRoutes\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Router\\\RouteCollection\:\:getAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:collectAllGetRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:collectStaticPages\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:filterRoutes\(\) has parameter \$exclude with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:filterRoutes\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticPageCollector\:\:filterRoutes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticPageCollector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Response\:\:getBody\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Call to protected method handleRequest\(\) of class App\\\Framework\\\Core\\\Application\.$#', 'identifier' => 'method.protected', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\Application\:\:handleRequest\(\) invoked with 1 parameter, 0 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticSiteGenerator\:\:__construct\(\) has parameter \$routesToGenerate with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticSiteGenerator\:\:setRoutesToGenerate\(\) has parameter \$routes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Parameter \#2 \$headers of class App\\\Framework\\\Http\\\HttpRequest constructor expects App\\\Framework\\\Http\\\Headers, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Parameter \#3 \$body of class App\\\Framework\\\Http\\\HttpRequest constructor expects string, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Parameter \#4 \$path of class App\\\Framework\\\Http\\\HttpRequest constructor expects string, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Property App\\\Framework\\\StaticSite\\\StaticSiteGenerator\:\:\$routesToGenerate type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteGenerator.php', ], [ 'message' => '#^Call to an undefined method object\:\:getAttributes\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticSiteMapper\:\:map\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\StaticSite\\\StaticSiteMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StaticSite/StaticSiteMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\DocBlockParser\:\:extractContent\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\DocBlockParser\:\:parseAfterTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\DocBlockParser\:\:parseDocBlock\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\DocBlockParser\:\:parseLineContent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Parameter \#2 \$string of function explode expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/DocBlockParser.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\FormatterInterface\:\:setTheme\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/FileHighlighter.php', ], [ 'message' => '#^Parameter \#2 \$array of function implode expects array\, list\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/FileHighlighter.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:isColorSupported\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:format\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:format\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:formatLine\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:formatPlainText\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:groupTokensByLines\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\ConsoleFormatter\:\:groupTokensByLines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Parameter \#1 \$string of function str_pad expects string, \(float\|int\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/ConsoleFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\FormatterInterface\:\:format\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/FormatterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\FormatterInterface\:\:format\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/FormatterInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:format\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:format\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:formatLine\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:generateCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:getCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:groupTokensByLines\(\) has parameter \$tokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:groupTokensByLines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:setTheme\(\) has parameter \$theme with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:wrapOutput\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Property App\\\Framework\\\SyntaxHighlighter\\\Formatters\\\HtmlFormatter\:\:\$theme type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Formatters/HtmlFormatter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:getCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlight\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlightFileSegment\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlightWithCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlightWithOffset\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:highlightWithoutCss\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:setCustomTokenMappings\(\) has parameter \$mappings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:tokenize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Property App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:\$formatters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:\$formatters is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\SyntaxHighlighter\\\SyntaxHighlighter\:\:\$formatters is assigned outside of the constructor\.$#', 'identifier' => 'property.readOnlyAssignNotInConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Static call to instance method stdClass\:\:resetCssOutput\(\)\.$#', 'identifier' => 'method.staticCall', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/SyntaxHighlighter.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\TokenMapper\:\:getAllMappings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/TokenMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\TokenMapper\:\:mergeMappings\(\) has parameter \$additionalMappings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/TokenMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\TokenMapper\:\:setMappings\(\) has parameter \$mappings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/TokenMapper.php', ], [ 'message' => '#^Property App\\\Framework\\\SyntaxHighlighter\\\TokenMapper\:\:\$mapping type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/TokenMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:classifyContextually\(\) has parameter \$allTokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:classifyContextually\(\) has parameter \$token with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:isInAttributeContext\(\) has parameter \$allTokens with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:parseDocBlockContent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Method App\\\Framework\\\SyntaxHighlighter\\\Tokenizer\:\:tokenize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Offset 2 on array\{int, string, int\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Exporters/FileTraceExporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\Exporters\\\FileTraceExporter\:\:export\(\) has parameter \$traceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Exporters/FileTraceExporter.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceCollector\:\:__construct\(\) has parameter \$exporters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceCollector\:\:logTraceSummary\(\) has parameter \$traceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceCollector.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:addEvent\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:getAllSpans\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:getFinishedSpans\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:startSpan\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Property App\\\Framework\\\Tracing\\\TraceContext\:\:\$spans type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceExporter\:\:export\(\) has parameter \$traceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceExporter.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:__construct\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:addEvent\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:addTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:getErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:getEvents\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:getTags\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\TraceSpan\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Property App\\\Framework\\\Tracing\\\TraceSpan\:\:\$errors type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Property App\\\Framework\\\Tracing\\\TraceSpan\:\:\$events type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Property App\\\Framework\\\Tracing\\\TraceSpan\:\:\$tags type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/TraceSpan.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\Tracer\:\:addEvent\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Tracer.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\Tracer\:\:startSpan\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Tracer.php', ], [ 'message' => '#^Method App\\\Framework\\\Tracing\\\Tracer\:\:trace\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Tracing/Tracer.php', ], [ 'message' => '#^Parameter \#1 \$codepoint of function chr expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/StringConverter.php', ], [ 'message' => '#^Class App\\\Framework\\\Ulid\\\UlidGenerator referenced with incorrect case\: App\\\Framework\\\Ulid\\\ULIDGenerator\.$#', 'identifier' => 'class.nameCase', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Class App\\\Framework\\\Ulid\\\UlidParser referenced with incorrect case\: App\\\Framework\\\Ulid\\\ULIDParser\.$#', 'identifier' => 'class.nameCase', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Class App\\\Framework\\\Ulid\\\UlidValidator referenced with incorrect case\: App\\\Framework\\\Ulid\\\ULIDValidator\.$#', 'identifier' => 'class.nameCase', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Method App\\\Framework\\\Ulid\\\Ulid\:\:__debugInfo\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Method App\\\Framework\\\Ulid\\\Ulid\:\:__debugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/Ulid.php', ], [ 'message' => '#^Class App\\\Framework\\\Ulid\\\UlidValidator referenced with incorrect case\: App\\\Framework\\\Ulid\\\ULIDValidator\.$#', 'identifier' => 'class.nameCase', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/UlidParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Ulid\\\UlidParser\:\:getTimestampMs\(\) should return int but returns float\|int\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Ulid/UlidParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:businessRuleViolation\(\) has parameter \$affectedFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:duplicateValue\(\) has parameter \$value with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:outOfRange\(\) has parameter \$max with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:outOfRange\(\) has parameter \$min with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:outOfRange\(\) has parameter \$value with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Property App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:\$errors type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Property App\\\Framework\\\Validation\\\Exceptions\\\ValidationException\:\:\$field \(string\) does not accept int\|string\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Exceptions/ValidationException.php', ], [ 'message' => '#^Call to function is_callable\(\) with callable\(\)\: mixed will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/Custom.php', ], [ 'message' => '#^PHPDoc tag @param for parameter \$validator with type callable is not subtype of native type Closure\.$#', 'identifier' => 'parameter.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/Custom.php', ], [ 'message' => '#^PHPDoc type for property App\\\Framework\\\Validation\\\Rules\\\Custom\:\:\$validator with type callable is not subtype of native type Closure\.$#', 'identifier' => 'property.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/Custom.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\Rules\\\In\:\:__construct\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/In.php', ], [ 'message' => '#^Property App\\\Framework\\\Validation\\\Rules\\\In\:\:\$values type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Rules/In.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\ValidationFormHandler\:\:extractRequestData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\ValidationFormHandler\:\:getErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\ValidationFormHandler\:\:getOldInput\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Parameter \#1 \$location of class App\\\Framework\\\Http\\\Responses\\\RedirectResponse constructor expects App\\\Framework\\\Http\\\Uri, App\\\Framework\\\Http\\\Uri\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>path" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationFormHandler.php', ], [ 'message' => '#^Method App\\\Framework\\\Validation\\\ValidationResult\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/ValidationResult.php', ], [ 'message' => '#^Using nullsafe method call on non\-nullable type ReflectionProperty\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Validation/Validator.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:calculateStaticRatio\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:hasCsrfTokens\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:hasRandomElements\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:hasTimestamps\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\CacheabilityAnalyzer\:\:hasUserContent\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/CacheabilityAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\SmartTemplateAnalyzer\:\:determineOptimalStrategy\(\) has parameter \$dependencies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\SmartTemplateAnalyzer\:\:findFragments\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\SmartTemplateAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \$string of function strlen expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/SmartTemplateAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\TemplateAnalysis\:\:__construct\(\) has parameter \$dependencies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/TemplateAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\TemplateAnalysis\:\:__construct\(\) has parameter \$fragments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/TemplateAnalysis.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Analysis\\\TemplateAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Analysis/TemplateAnalyzer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:calculateHitRate\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:checkDiskSpace\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:checkMemoryUsage\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:determineOverallHealth\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:generateRecommendations\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getAverageRenderTime\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getCacheSize\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getMemoryUsage\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getMostCachedTemplates\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getOptimizationSuggestions\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getStrategyDistribution\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:testCacheConnection\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:testFragmentCache\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:testStrategies\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:testTemplateAnalyzer\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:analyzeTemplate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:getPerformanceReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:healthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:warmupCache\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:warmupCache\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:\$metrics is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheDiagnostics\:\:\$metrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Undefined variable\: \$template$#', 'identifier' => 'variable.undefined', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheDiagnostics.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\CacheManager\:\:__construct\(\) has parameter \$strategyMapping with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheManager\:\:\$fragmentCache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheManager\:\:\$lastAnalysis is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheManager\:\:\$strategies type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\CacheManager\:\:\$strategyMapping is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/CacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\FragmentCache\:\:fragment\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/FragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\FragmentCache\:\:invalidateByTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/FragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Keys\\\SmartKeyGenerator\:\:generate\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Keys/SmartKeyGenerator.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\SmartCache\:\:getCacheStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/SmartCache.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\Strategies\\\ComponentCacheStrategy\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/ComponentCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\Strategies\\\FragmentCacheStrategy\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FragmentCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:getNonVolatileData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:getNonVolatileData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:hasUserData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:hasVolatileData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\Strategies\\\FullPageCacheStrategy\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/Strategies/FullPageCacheStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:fragment\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:getKeysByTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:invalidateByTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:tagFragment\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Caching\\\TaggedFragmentCache\:\:\$tagMapping type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TaggedFragmentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TemplateContext\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TemplateContext.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Caching\\\TemplateContext\:\:__construct\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Caching/TemplateContext.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ComponentCache\:\:generateHash\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ComponentCache\:\:get\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ComponentCache\:\:set\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentCache.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ComponentRenderer\:\:render\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentRenderer.php', ], [ 'message' => '#^Strict comparison using \=\=\= between string and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ComponentRenderer.php', ], [ 'message' => '#^Cannot access property \$innerHTML on Dom\\\Element\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomComponentService.php', ], [ 'message' => '#^Cannot call method insertBefore\(\) on Dom\\\Element\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomHeadService.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\DomHeadService\:\:addScript\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomHeadService.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\DomWrapper\:\:findElementsByAttributeRecursive\(\) has parameter \$elements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomWrapper.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\DomWrapper\:\:findElementsByClassRecursive\(\) has parameter \$elements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomWrapper.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\DomWrapper\:\:findElementsByNameRecursive\(\) has parameter \$elements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomWrapper.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/DomWrapper.php', ], [ 'message' => '#^Class App\\\Framework\\\View\\\ElementCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ElementCollection\:\:__construct\(\) has parameter \$elements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ElementCollection\:\:getIterator\(\) return type with generic class ArrayIterator does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ElementCollection\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\ElementCollection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ElementCollection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\Caching\\\CacheManager\:\:getStats\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Class App\\\Framework\\\View\\\TemplateProcessor constructor invoked with 0 parameters, 3 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Engine\:\:getCacheStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Parameter \#1 \$template of method App\\\Framework\\\View\\\Caching\\\CacheManager\:\:invalidateTemplate\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Engine\:\:\$container is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Engine\:\:\$pathProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Engine\:\:\$smartCache is unused\.$#', 'identifier' => 'property.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Engine\:\:\$useSmartCache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Ternary operator condition is always true\.$#', 'identifier' => 'ternary.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Engine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\EnhancedDomProcessor\:\:processWrapper\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Call to an undefined method object\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\EnhancedTemplateProcessor\:\:__construct\(\) has parameter \$domProcessors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\EnhancedTemplateProcessor\:\:__construct\(\) has parameter \$stringProcessors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\EnhancedTemplateProcessor\:\:__debugInfo\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\EnhancedTemplateProcessor\:\:__debugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/EnhancedTemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Exception\\\TemplateNotFound\:\:__construct\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Exception/TemplateNotFound.php', ], [ 'message' => '#^Parameter \#2 \$context of method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) expects App\\\Framework\\\Exception\\\ExceptionContext, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Exception/TemplateNotFound.php', ], [ 'message' => '#^Parameter \#3 \$code of method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) expects int, Throwable\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Exception/TemplateNotFound.php', ], [ 'message' => '#^Parameter \#4 \$previous of method App\\\Framework\\\Exception\\\FrameworkException\:\:__construct\(\) expects Throwable\|null, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Exception/TemplateNotFound.php', ], [ 'message' => '#^Parameter \#1 \$image of method App\\\Domain\\\Media\\\ImageSourceSetGenerator\:\:generatePictureElement\(\) expects App\\\Domain\\\Media\\\Image, App\\\Domain\\\Media\\\Image\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Functions/ImageSlotFunction.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Functions\\\ImageSlotFunction\:\:\$componentRenderer is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Functions/ImageSlotFunction.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Functions/ImageSlotFunction.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Functions\\\UrlFunction\:\:__invoke\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Functions/UrlFunction.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionClass constructor expects class\-string\\|T of object, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/ControllerResolver.php', ], [ 'message' => '#^Parameter \#1 \$path of function dirname expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/ControllerResolver.php', ], [ 'message' => '#^Cannot call method getTemplatePath\(\) on App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/DiscoveryResolver.php', ], [ 'message' => '#^Cannot call method getTemplates\(\) on App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/DiscoveryResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\Resolvers\\\DiscoveryResolver\:\:resolveFromTemplateVisitor\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/DiscoveryResolver.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\Resolvers\\\TemplateMapResolver\:\:__construct\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/Resolvers/TemplateMapResolver.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Loading\\\TemplateCache\:\:\$cache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateCache.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateContentLoader.php', ], [ 'message' => '#^Call to function is_string\(\) with string will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\TemplateLoader\:\:__construct\(\) has parameter \$templates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\TemplateLoader\:\:debugTemplatePath\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateLoader.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Loading\\\TemplateLoader\:\:\$storage is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplateLoader.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Loading\\\TemplatePathResolver\:\:__construct\(\) has parameter \$resolvers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Loading/TemplatePathResolver.php', ], [ 'message' => '#^Call to an undefined method object\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processing/DomProcessingPipeline.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processing\\\DomProcessingPipeline\:\:__construct\(\) has parameter \$processors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processing/DomProcessingPipeline.php', ], [ 'message' => '#^Call to an undefined method object\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processing/StringProcessingPipeline.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processing\\\StringProcessingPipeline\:\:__construct\(\) has parameter \$processors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processing/StringProcessingPipeline.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ProcessorResolver.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\ProcessorResolver\:\:\$resolvedProcessors type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ProcessorResolver.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/ProcessorResolver.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/AssetInjector.php', ], [ 'message' => '#^Parameter \#1 \$json of function json_decode expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/AssetInjector.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\AssetInjector\:\:\$manifest type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/AssetInjector.php', ], [ 'message' => '#^Cannot access property \$nodeType on Dom\\\Node\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CommentStripProcessor.php', ], [ 'message' => '#^Parameter \#1 \$child of method Dom\\\Node\:\:removeChild\(\) expects Dom\\\Node, Dom\\\Node\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CommentStripProcessor.php', ], [ 'message' => '#^Parameter \#1 \$node of method App\\\Framework\\\View\\\Processors\\\CommentStripProcessor\:\:removeComments\(\) expects Dom\\\Node, Dom\\\Node\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CommentStripProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\ComponentProcessor\:\:extractAttributes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/ComponentProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:addErrorClassToField\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:cleanupErrorPlaceholders\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:cleanupOldInputPlaceholders\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:removeErrorDisplay\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:replaceTokenForFormId\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Parameter \#1 \$session of class App\\\Framework\\\Http\\\Session\\\ValidationErrorBag constructor expects App\\\Framework\\\Http\\\Session\\\Session, App\\\Framework\\\Http\\\Session\\\SessionInterface given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:replaceHtmlCsrfPatterns\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:replaceTemplateCsrfCalls\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:\$debugMode is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\DateFormatProcessor\:\:process\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/DateFormatProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\EscapeProcessor\:\:process\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/EscapeProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace_callback expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/EscapeProcessor.php', ], [ 'message' => '#^Cannot call method render\(\) on App\\\Framework\\\View\\\TemplateProcessor\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/ForProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\ForProcessor\:\:resolveValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/ForProcessor.php', ], [ 'message' => '#^Parameter \#2 \$expr of method App\\\Framework\\\View\\\Processors\\\ForProcessor\:\:resolveValue\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/ForProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/FormProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\FormProcessor\:\:\$formService is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/FormProcessor.php', ], [ 'message' => '#^Strict comparison using \=\=\= between non\-falsy\-string and \'\' will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/FormProcessor.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/HoneypotProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\IfProcessor\:\:resolveValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IfProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:createComment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:createDocumentFragment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:importNode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:querySelectorAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Cannot access property \$childNodes on Dom\\\Element\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/IncludeProcessor.php', ], [ 'message' => '#^Parameter \#1 \$template of method App\\\Framework\\\View\\\Loading\\\TemplateLoader\:\:getTemplatePath\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/LayoutTagProcessor.php', ], [ 'message' => '#^Cannot call method getElementsByTagName\(\) on Dom\\\HTMLElement\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/MetaManipulator.php', ], [ 'message' => '#^Cannot call method querySelector\(\) on Dom\\\HTMLElement\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/MetaManipulator.php', ], [ 'message' => '#^Direct instantiation of DateTime is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead for consistent timezone handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:parseArguments\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:parseArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceArrayAccess\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceArrayAccess\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceFunctionCalls\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceFunctionCalls\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceMethodCalls\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceMethodCalls\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceObjectProperties\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceObjectProperties\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceSimpleVariables\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceSimpleVariables\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:replaceTernaryOperators\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:splitArguments\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function htmlspecialchars expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\PhpVariableProcessor\:\:\$allowedFunctions type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PhpVariableProcessor.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:parseParams\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:parseParams\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:process\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:replaceTemplateFunctions\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:resolveEscaped\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:resolveMethodCall\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:resolveValue\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\PlaceholderReplacer\:\:splitParams\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/PlaceholderReplacer.php', ], [ 'message' => '#^Cannot access property \$nodeType on Dom\\\Node\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Cannot access property \$nodeValue on Dom\\\Node\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Cannot call method hasChildNodes\(\) on Dom\\\Node\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Parameter \#1 \$child of method Dom\\\Node\:\:removeChild\(\) expects Dom\\\Node, Dom\\\Node\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Parameter \#1 \$node of method App\\\Framework\\\View\\\Processors\\\RemoveEmptyLinesProcessor\:\:removeEmptyTextNodes\(\) expects Dom\\\Node, Dom\\\Node\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Parameter \#2 \$subject of function preg_match expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/RemoveEmptyLinesProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SingleLineHtmlProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function preg_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SingleLineHtmlProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:createDocumentFragment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SlotProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:querySelectorAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SlotProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:createDocumentFragment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SwitchCaseProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\View\\\DomWrapper\:\:querySelectorAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/SwitchCaseProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\VoidElementsSelfClosingProcessor\:\:process\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/VoidElementsSelfClosingProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\RenderContext\:\:__construct\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/RenderContext.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\RenderContext\:\:__construct\(\) has parameter \$slots with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/RenderContext.php', ], [ 'message' => '#^Argument of an invalid type list\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:findProjectRoot\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:getAllTemplates\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:getCacheableData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:getTemplatesInDirectory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Parameter \#1 \$path of function dirname expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:\$scannedDirectories type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:\$templateLookupIndex type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateDiscoveryVisitor\:\:\$templates type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateFunctions\:\:get\(\) should return App\\\Framework\\\View\\\Functions\\\TemplateFunction\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateFunctions.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateFunctions.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateFunctions\:\:\$functions type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateFunctions.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateFunctions.php', ], [ 'message' => '#^Call to an undefined method object\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateMapper.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateMapper\:\:map\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateMapper.php', ], [ 'message' => '#^Call to an undefined method object\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateProcessor\:\:__construct\(\) has parameter \$domProcessors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateProcessor\:\:__construct\(\) has parameter \$stringProcessors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateProcessor\:\:__debugInfo\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\TemplateProcessor\:\:__debugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Parameter \#1 \$class of method App\\\Framework\\\DI\\\Container\:\:get\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\TemplateProcessor\:\:\$resolvedProcessors type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\Container\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>innerHTML" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/TemplateProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\Worker\\\Worker\:\:\$processedJobHashes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Worker/Worker.php', ], [ 'message' => '#^Match arm comparison between App\\\Domain\\\AI\\\AiProvider\:\:OLLAMA and App\\\Domain\\\AI\\\AiProvider\:\:OLLAMA is always true\.$#', 'identifier' => 'match.alwaysTrue', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiHandlerFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiHandlerFactory\:\:getAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiHandlerFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiHandlerFactory\:\:getOllamaAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiHandlerFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:getAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:getAvailableProviders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:getOllamaAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:query\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:queryWithConversation\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\AiService\:\:queryWithFallback\(\) has parameter \$messages with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/AiService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\AI\\\Ollama\\\OllamaQueryHandler\:\:getAvailableModels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/AI/Ollama/OllamaQueryHandler.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:createRepository\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:decodeJson\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:formatErrorMessage\(\) has parameter \$responseData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:getRepository\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:getUserRepositories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\GitHubClient\:\:sendRequest\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/GitHubClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\BlacklistService\:\:add\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/BlacklistService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\BlacklistService\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/BlacklistService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Commands\\\CreateRecipientCommand\:\:__construct\(\) has parameter \$customFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Commands/CreateRecipientCommand.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Commands\\\CreateRecipientCommand\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Commands/CreateRecipientCommand.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Commands\\\UpdateRecipientCommand\:\:__construct\(\) has parameter \$customFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Commands/UpdateRecipientCommand.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Commands\\\UpdateRecipientCommand\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Commands/UpdateRecipientCommand.php', ], [ 'message' => '#^Call to an undefined method App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientService\:\:getById\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Examples/UsageExamples.php', ], [ 'message' => '#^Call to an undefined method App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientService\:\:searchLegacy\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Examples/UsageExamples.php', ], [ 'message' => '#^Cannot instantiate class App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientListId via private constructor App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientListId\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Examples/UsageExamples.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Factories\\\RecipientCommandFactory\:\:createFromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Factories/RecipientCommandFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Factories\\\RecipientCommandFactory\:\:updateFromRecipientWithChanges\(\) has parameter \$changes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Factories/RecipientCommandFactory.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Mailing\:\:__construct\(\) has parameter \$links with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Mailing.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\Mailing\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/Mailing.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:getAll\(\) has parameter \$filter with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:getAllWithPagination\(\) has parameter \$filter with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:getAllWithPagination\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\MailingService\:\:send\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/MailingService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:formatErrorMessage\(\) has parameter \$responseData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:getDefaultQueryParams\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:handleResponse\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:request\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:request\(\) has parameter \$queryParams with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:request\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:sendRawRequest\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RapidMailApiClient\:\:sendRawRequest\(\) has parameter \$queryParams with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RapidMailApiClient.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\Recipient\:\:__construct\(\) has parameter \$customFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\Recipient\:\:__construct\(\) has parameter \$links with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\Recipient\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/Recipient.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/RecipientList.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use Clock\:\:now\(\) or Clock\:\:fromString\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/RecipientList.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\RecipientList\:\:__construct\(\) has parameter \$links with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/RecipientList.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\ReadModels\\\RecipientList\:\:fromArray\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/ReadModels/RecipientList.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\RecipientService\:\:search\(\) has parameter \$filter with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/RecipientService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\StatisticsService\:\:getClickStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/StatisticsService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\StatisticsService\:\:getMailingStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/StatisticsService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMail\\\StatisticsService\:\:getOpenStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMail/StatisticsService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:addRecipient\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:decodeJson\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:formatErrorMessage\(\) has parameter \$responseData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:getRecipientLists\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:searchRecipients\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\RapidMailClient\:\:sendRequest\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/RapidMailClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:buildQueryParams\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createCustomer\(\) has parameter \$customerData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createCustomer\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createOrder\(\) has parameter \$orderData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createOrder\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createProduct\(\) has parameter \$productData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createProduct\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:createWebhook\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:decodeJson\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:formatErrorMessage\(\) has parameter \$responseData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getCustomer\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getCustomers\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getCustomers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getMetafields\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getOrder\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getOrders\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getOrders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getProduct\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getProducts\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getProducts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getRateLimitInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getShopInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:getWebhooks\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:searchProducts\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:searchProducts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:sendRequest\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:updateProduct\(\) has parameter \$productData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\Api\\\ShopifyClient\:\:updateProduct\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Property App\\\Infrastructure\\\Api\\\ShopifyClient\:\:\$apiVersion is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/Api/ShopifyClient.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryDataService.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryDataService.php', ], [ 'message' => '#^Method App\\\Infrastructure\\\GeoIp\\\CountryDataService\:\:parseCountryData\(\) has parameter \$countryData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryDataService.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>nameDe" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryInfo.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>nameEn" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryInfo.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>nameNative" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/CountryInfo.php', ], [ 'message' => '#^Direct instantiation of PDO is forbidden\: Use App\\\Framework\\\Database\\\ConnectionInterface instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/DatabaseSetup.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/DatabaseSetup.php', ], [ 'message' => '#^Direct instantiation of PDO is forbidden\: Use App\\\Framework\\\Database\\\ConnectionInterface instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/GeoIp.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Infrastructure/GeoIp/GeoIp.php', ], '#Access to an undefined property#', '#Instantiated class .* not found#', '#Variable \$\w+ might not be defined#', '#Class .* has an uninitialized readonly property#', '#Class .*Request has an uninitialized readonly property#', ], 'internalErrorsCountLimit' => 50, 'cache' => ['nodesByStringCountMax' => 256], 'reportUnmatchedIgnoredErrors' => false, 'typeAliases' => [ 'AnalyticsData' => 'array', 'MetricsData' => 'array', 'BreakdownData' => 'array', ], 'universalObjectCratesClasses' => ['stdClass', 'App\Framework\DI\Container'], 'stubFiles' => [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionAttribute.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionClassConstant.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionFunctionAbstract.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionMethod.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionParameter.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ReflectionProperty.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/iterable.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ArrayObject.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/WeakReference.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ext-ds.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ImagickPixel.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/PDOStatement.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/date.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/ibm_db2.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/mysqli.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/zip.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/dom.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/spl.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/SplObjectStorage.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/Exception.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/arrayFunctions.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/core.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/typeCheckingFunctions.stub', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/stubs/Countable.stub', ], 'earlyTerminatingMethodCalls' => [], 'earlyTerminatingFunctionCalls' => [], 'resultCachePath' => '/home/michael/dev/michaelschiemer/var/phpstan/resultCache.php', 'resultCacheSkipIfOlderThanDays' => 7, 'resultCacheChecksProjectExtensionFilesDependencies' => false, 'dynamicConstantNames' => [ 'ICONV_IMPL', 'LIBXML_VERSION', 'LIBXML_DOTTED_VERSION', 'Memcached::HAVE_ENCODING', 'Memcached::HAVE_IGBINARY', 'Memcached::HAVE_JSON', 'Memcached::HAVE_MSGPACK', 'Memcached::HAVE_SASL', 'Memcached::HAVE_SESSION', 'PHP_VERSION', 'PHP_MAJOR_VERSION', 'PHP_MINOR_VERSION', 'PHP_RELEASE_VERSION', 'PHP_VERSION_ID', 'PHP_EXTRA_VERSION', 'PHP_WINDOWS_VERSION_MAJOR', 'PHP_WINDOWS_VERSION_MINOR', 'PHP_WINDOWS_VERSION_BUILD', 'PHP_ZTS', 'PHP_DEBUG', 'PHP_MAXPATHLEN', 'PHP_OS', 'PHP_OS_FAMILY', 'PHP_SAPI', 'PHP_EOL', 'PHP_INT_MAX', 'PHP_INT_MIN', 'PHP_INT_SIZE', 'PHP_FLOAT_DIG', 'PHP_FLOAT_EPSILON', 'PHP_FLOAT_MIN', 'PHP_FLOAT_MAX', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR', 'PHP_EXTENSION_DIR', 'PHP_PREFIX', 'PHP_BINDIR', 'PHP_BINARY', 'PHP_MANDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR', 'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_CONFIG_FILE_SCAN_DIR', 'PHP_SHLIB_SUFFIX', 'PHP_FD_SETSIZE', 'OPENSSL_VERSION_NUMBER', 'ZEND_DEBUG_BUILD', 'ZEND_THREAD_SAFE', 'E_ALL', ], 'customRulesetUsed' => false, 'editorUrl' => null, 'editorUrlTitle' => null, 'errorFormat' => null, 'sourceLocatorPlaygroundMode' => false, '__validate' => true, 'parametersNotInvalidatingCache' => [ ['parameters', 'editorUrl'], ['parameters', 'editorUrlTitle'], ['parameters', 'errorFormat'], ['parameters', 'ignoreErrors'], ['parameters', 'reportUnmatchedIgnoredErrors'], ['parameters', 'tipsOfTheDay'], ['parameters', 'parallel'], ['parameters', 'internalErrorsCountLimit'], ['parameters', 'cache'], ['parameters', 'memoryLimitFile'], ['parameters', 'pro'], 'parametersSchema', ], 'tmpDir' => '/home/michael/dev/michaelschiemer/var/phpstan', 'debugMode' => true, 'productionMode' => false, 'tempDir' => '/home/michael/dev/michaelschiemer/var/phpstan', 'rootDir' => '/home/michael/dev/michaelschiemer/vendor/phpstan/phpstan', 'currentWorkingDirectory' => '/home/michael/dev/michaelschiemer', 'cliArgumentsVariablesRegistered' => true, 'additionalConfigFiles' => [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level1.neon', '/home/michael/dev/michaelschiemer/phpstan.neon', ], 'allConfigFiles' => [ 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/parametersSchema.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level1.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level0.neon', '/home/michael/dev/michaelschiemer/phpstan.neon', '/home/michael/dev/michaelschiemer/phpstan-baseline.neon', '/home/michael/dev/michaelschiemer/phpstan-rules.neon', ], 'composerAutoloaderProjectPaths' => ['/home/michael/dev/michaelschiemer'], 'generateBaselineFile' => null, 'usedLevel' => '1', 'cliAutoloadFile' => null, 'env' => [ 'SHELL' => '/bin/bash', 'COREPACK_ENABLE_AUTO_PIN' => '0', 'NVM_INC' => '/home/michael/.nvm/versions/node/v22.16.0/include/node', 'WSL2_GUI_APPS_ENABLED' => '1', 'WSL_DISTRO_NAME' => 'Debian', 'NAME' => 'Mike-PC', 'PWD' => '/home/michael/dev/michaelschiemer', 'LOGNAME' => 'michael', 'CLAUDECODE' => '1', 'HOME' => '/home/michael', 'LANG' => 'en_US.UTF-8', 'WSL_INTEROP' => '/run/WSL/3713723_interop', 'LS_COLORS' => 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.swp=00;90:*.tmp=00;90:*.dpkg-dist=00;90:*.dpkg-old=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:', 'WAYLAND_DISPLAY' => 'wayland-0', 'NVM_DIR' => '/home/michael/.nvm', 'TERM' => 'xterm-256color', 'USER' => 'michael', 'DISPLAY' => ':0', 'SHLVL' => '2', 'NVM_CD_FLAGS' => '', 'GIT_EDITOR' => 'true', 'OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE' => 'delta', 'XDG_RUNTIME_DIR' => '/run/user/1000/', 'CLAUDE_CODE_ENTRYPOINT' => 'cli', 'WSLENV' => '', 'PATH' => '/home/michael/.local/bin:/home/michael/.nvm/versions/node/v22.16.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files/Common Files/Oracle/Java/javapath:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/java8path:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/Python310/Scripts/:/mnt/c/Python310/:/mnt/c/Program Files (x86)/Common Files/Intel/Shared Files/cpp/bin/Intel64:/mnt/c/Program Files (x86)/Common Files/Intel/Shared Files/cpp/bin/ia32:/mnt/c/WINDOWS/SYSTEM32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/SYSTEM32/WBEM:/mnt/c/WINDOWS/SYSTEM32/WINDOWSPOWERSHELL/V1.0/:/mnt/c/PROGRAM FILES (X86)/ATI TECHNOLOGIES/ATI.ACE/CORE-STATIC:/mnt/c/PROGRAM FILES/DOTNET/:/mnt/c/Users/Mike/AppData/Local/Microsoft/WindowsApps:/mnt/c/Program Files/Microsoft VS Code/bin:/mnt/c/adb:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/Common Files/Leapwing/RootOne:/mnt/c/Program Files/Common Files/Leapwing/DynOne:/mnt/c/Program Files/Microsoft SQL Server/130/Tools/Binn/:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files (x86)/dotnet/:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/WireGuard/:/mnt/c/Program Files/TortoiseSVN/bin:/mnt/c/ProgramData/ComposerSetup/bin:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/VSCodium/bin:/mnt/c/tools/php83:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA App/NvDLISR:/mnt/c/Program Files/Aria2:/mnt/c/Program Files/SlikSvn/bin:/mnt/c/Program Files/PuTTY/:/mnt/c/Program Files/GnuPG/bin:/mnt/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit/:/mnt/c/Program Files/RedHat/Podman/:/mnt/c/Program Files/Mullvad VPN/resources:/mnt/c/Program Files (x86)/GnuPG/bin:/mnt/c/Program Files/CMake/bin:/mnt/c/Program Files/PowerShell/7/:/mnt/c/Program Files/Git/cmd:/Docker/host/bin:/mnt/c/Users/Mike/AppData/Local/Programs/Python/Launcher/:/mnt/c/Users/Mike/AppData/Local/Programs/Python/Python311/Scripts/:/mnt/c/Users/Mike/AppData/Local/Programs/Python/Python311/:/mnt/c/Users/Mike/AppData/Local/Programs/Python/Python312/Scripts/:/mnt/c/Users/Mike/AppData/Local/Programs/Python/Python312/:/mnt/c/Users/Mike/.cargo/bin:/mnt/c/Program Files/JetBrains/PyCharm Community Edition 2019.3/bin:/mnt/c/Users/Mike/.dotnet/tools:/mnt/c/Users/Mike/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Users/Mike/AppData/Roaming/Composer/vendor/bin:/mnt/c/Program Files/JetBrains/PhpStorm 2023.2.2/bin:/mnt/c/Users/Mike/AppData/Local/JetBrains/Toolbox/scripts:/mnt/c/Program Files/JetBrains/PyCharm Community Edition 2023.2.3/bin:/mnt/c/Users/Mike/.dotnet/tools:/mnt/c/Users/Mike/AppData/Local/Programs/Ollama:/mnt/c/Users/Mike/AppData/Local/Muse Hub/lib:/mnt/c/Users/Mike/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0/LocalCache/local-packages/Python311/Scripts:/mnt/c/Users/Mike/AppData/Local/Programs/Hyperion/bin:/mnt/c/Users/Mike/.lmstudio/bin:/home/michael/dev/michaelschiemer/node_modules/.bin:/home/michael/.local/bin:/home/michael/.local/bin', 'DBUS_SESSION_BUS_ADDRESS' => 'unix:path=/run/user/1000/bus', 'NVM_BIN' => '/home/michael/.nvm/versions/node/v22.16.0/bin', 'HOSTTYPE' => 'x86_64', 'PULSE_SERVER' => 'unix:/mnt/wslg/PulseServer', '_' => './vendor/bin/phpstan', 'LINES' => '50', 'COLUMNS' => '80', 'SHELL_VERBOSITY' => '0', 'PHPSTAN_ORIGINAL_INIS' => '/etc/php/8.4/cli/php.ini:/etc/php/8.4/cli/conf.d/10-mysqlnd.ini:/etc/php/8.4/cli/conf.d/10-opcache.ini:/etc/php/8.4/cli/conf.d/10-pdo.ini:/etc/php/8.4/cli/conf.d/15-xml.ini:/etc/php/8.4/cli/conf.d/20-apcu.ini:/etc/php/8.4/cli/conf.d/20-bcmath.ini:/etc/php/8.4/cli/conf.d/20-calendar.ini:/etc/php/8.4/cli/conf.d/20-ctype.ini:/etc/php/8.4/cli/conf.d/20-curl.ini:/etc/php/8.4/cli/conf.d/20-dom.ini:/etc/php/8.4/cli/conf.d/20-exif.ini:/etc/php/8.4/cli/conf.d/20-ffi.ini:/etc/php/8.4/cli/conf.d/20-fileinfo.ini:/etc/php/8.4/cli/conf.d/20-ftp.ini:/etc/php/8.4/cli/conf.d/20-gd.ini:/etc/php/8.4/cli/conf.d/20-gettext.ini:/etc/php/8.4/cli/conf.d/20-iconv.ini:/etc/php/8.4/cli/conf.d/20-igbinary.ini:/etc/php/8.4/cli/conf.d/20-intl.ini:/etc/php/8.4/cli/conf.d/20-mbstring.ini:/etc/php/8.4/cli/conf.d/20-mysqli.ini:/etc/php/8.4/cli/conf.d/20-pdo_mysql.ini:/etc/php/8.4/cli/conf.d/20-pdo_sqlite.ini:/etc/php/8.4/cli/conf.d/20-phar.ini:/etc/php/8.4/cli/conf.d/20-posix.ini:/etc/php/8.4/cli/conf.d/20-readline.ini:/etc/php/8.4/cli/conf.d/20-shmop.ini:/etc/php/8.4/cli/conf.d/20-simplexml.ini:/etc/php/8.4/cli/conf.d/20-sockets.ini:/etc/php/8.4/cli/conf.d/20-sqlite3.ini:/etc/php/8.4/cli/conf.d/20-sysvmsg.ini:/etc/php/8.4/cli/conf.d/20-sysvsem.ini:/etc/php/8.4/cli/conf.d/20-sysvshm.ini:/etc/php/8.4/cli/conf.d/20-tokenizer.ini:/etc/php/8.4/cli/conf.d/20-xdebug.ini:/etc/php/8.4/cli/conf.d/20-xmlreader.ini:/etc/php/8.4/cli/conf.d/20-xmlwriter.ini:/etc/php/8.4/cli/conf.d/20-xsl.ini:/etc/php/8.4/cli/conf.d/20-zip.ini:/etc/php/8.4/cli/conf.d/25-redis.ini', 'PHP_INI_SCAN_DIR' => '', 'PHPRC' => '/tmp/2f21de9ue7bf1myBrAh', 'XDEBUG_HANDLER_SETTINGS' => '/tmp/2f21de9ue7bf1myBrAh|1|*|*|/etc/php/8.4/cli/php.ini:/etc/php/8.4/cli/conf.d/10-mysqlnd.ini:/etc/php/8.4/cli/conf.d/10-opcache.ini:/etc/php/8.4/cli/conf.d/10-pdo.ini:/etc/php/8.4/cli/conf.d/15-xml.ini:/etc/php/8.4/cli/conf.d/20-apcu.ini:/etc/php/8.4/cli/conf.d/20-bcmath.ini:/etc/php/8.4/cli/conf.d/20-calendar.ini:/etc/php/8.4/cli/conf.d/20-ctype.ini:/etc/php/8.4/cli/conf.d/20-curl.ini:/etc/php/8.4/cli/conf.d/20-dom.ini:/etc/php/8.4/cli/conf.d/20-exif.ini:/etc/php/8.4/cli/conf.d/20-ffi.ini:/etc/php/8.4/cli/conf.d/20-fileinfo.ini:/etc/php/8.4/cli/conf.d/20-ftp.ini:/etc/php/8.4/cli/conf.d/20-gd.ini:/etc/php/8.4/cli/conf.d/20-gettext.ini:/etc/php/8.4/cli/conf.d/20-iconv.ini:/etc/php/8.4/cli/conf.d/20-igbinary.ini:/etc/php/8.4/cli/conf.d/20-intl.ini:/etc/php/8.4/cli/conf.d/20-mbstring.ini:/etc/php/8.4/cli/conf.d/20-mysqli.ini:/etc/php/8.4/cli/conf.d/20-pdo_mysql.ini:/etc/php/8.4/cli/conf.d/20-pdo_sqlite.ini:/etc/php/8.4/cli/conf.d/20-phar.ini:/etc/php/8.4/cli/conf.d/20-posix.ini:/etc/php/8.4/cli/conf.d/20-readline.ini:/etc/php/8.4/cli/conf.d/20-shmop.ini:/etc/php/8.4/cli/conf.d/20-simplexml.ini:/etc/php/8.4/cli/conf.d/20-sockets.ini:/etc/php/8.4/cli/conf.d/20-sqlite3.ini:/etc/php/8.4/cli/conf.d/20-sysvmsg.ini:/etc/php/8.4/cli/conf.d/20-sysvsem.ini:/etc/php/8.4/cli/conf.d/20-sysvshm.ini:/etc/php/8.4/cli/conf.d/20-tokenizer.ini:/etc/php/8.4/cli/conf.d/20-xdebug.ini:/etc/php/8.4/cli/conf.d/20-xmlreader.ini:/etc/php/8.4/cli/conf.d/20-xmlwriter.ini:/etc/php/8.4/cli/conf.d/20-xsl.ini:/etc/php/8.4/cli/conf.d/20-zip.ini:/etc/php/8.4/cli/conf.d/25-redis.ini|3.4.4', ], ]; } protected function getDynamicParameter($key) { switch (true) { case $key === 'singleReflectionFile': return null; case $key === 'singleReflectionInsteadOfFile': return null; case $key === 'analysedPaths': return null; case $key === 'analysedPathsFromConfig': return null; case $key === 'sysGetTempDir': return sys_get_temp_dir(); case $key === 'pro': return [ 'dnsServers' => ['1.1.1.2'], 'tmpDir' => ($this->getParameter('sysGetTempDir')) . '/phpstan-fixer', ]; default: return parent::getDynamicParameter($key); }; } public function getParameters(): array { array_map(function ($key) { $this->getParameter($key); }, [ 'singleReflectionFile', 'singleReflectionInsteadOfFile', 'analysedPaths', 'analysedPathsFromConfig', 'sysGetTempDir', 'pro', ]); return parent::getParameters(); } }