[ '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, '0486' => true, '0487' => true, '0488' => true, '0489' => true, '0490' => true, '0491' => true, '0492' => true, '0493' => true, '0494' => true, '0495' => true, '0496' => true, '0497' => true, '0498' => true, '0499' => true, '0500' => true, '0501' => true, '0502' => true, '0503' => true, '0504' => true, '0505' => true, '0506' => true, '0507' => true, '0508' => true, '0509' => true, '0510' => true, '0511' => true, '0512' => true, '0513' => true, '0514' => true, '0515' => true, '0516' => true, '0517' => true, '0518' => true, '0519' => true, '0520' => true, '0521' => true, '0522' => true, '0523' => true, '0524' => true, '0525' => true, '0526' => true, '0527' => true, '0528' => true, '0529' => true, '0530' => true, '0531' => true, '0532' => true, '0533' => true, '0534' => true, '0535' => true, '0536' => true, '0537' => true, '0538' => true, '0539' => true, '0540' => true, '0541' => true, '0542' => true, '0543' => true, '0544' => true, '0545' => true, '0546' => true, '0547' => true, '0548' => true, '0549' => true, '0550' => true, '0551' => true, '0552' => true, '0553' => true, '0554' => true, '0555' => true, '0556' => true, '0557' => true, '0558' => true, '0559' => true, '0560' => true, '0561' => true, '0562' => true, '0563' => true, '0564' => true, '0565' => true, '0566' => true, '0567' => true, '0568' => true, '0569' => true, '0570' => true, '0571' => true, '0572' => true, '0573' => true, '0574' => true, '0575' => true, '0576' => true, '0577' => true, '0578' => true, '0579' => true, '0580' => true, '0581' => true, '0582' => true, '0583' => true, '0584' => true, '0585' => true, '0586' => true, '0587' => true, '0588' => true, '0589' => true, '0590' => true, '0591' => true, '0592' => true, '0593' => true, '0594' => true, '0595' => true, '0596' => true, '0597' => true, '0598' => true, '0599' => true, '0600' => true, '0601' => true, '0602' => true, '0603' => true, '0604' => true, '0605' => true, '0606' => true, '0607' => true, '0608' => true, '0609' => true, '0610' => true, '0611' => true, '0612' => true, '0613' => true, '0614' => true, '0615' => true, '0616' => true, '0617' => true, '0618' => true, '0619' => true, '0620' => true, '0621' => true, '0622' => true, '0623' => true, '0624' => true, '0625' => true, '0626' => true, '0627' => true, '0628' => true, '0629' => true, '0630' => true, '0631' => true, '0632' => true, '0633' => true, '0634' => true, '0635' => true, '0636' => true, '0637' => true, '0638' => true, '0639' => true, '0640' => true, '0641' => true, '0642' => true, '0643' => true, '0644' => true, '0696' => true, '0697' => true, '0698' => 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, '0675' => true, '0676' => true, '0677' => true, '0678' => true, '0679' => true, '0680' => true, '0681' => true, '0682' => true, '0683' => true, '0684' => true, '0685' => 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], 'phpstan.collector' => [ '0645' => true, '0646' => true, '0647' => true, '0648' => true, '0649' => true, '0650' => true, '0651' => true, '0652' => true, '0653' => 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', '0674', '0686', '0687', '0688', '0689', '0690', '0696', '0697', '0698', '0699', ], [ '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', '0486', '0487', '0488', '0489', '0490', '0491', '0492', '0493', '0494', '0495', '0496', '0497', '0498', '0499', '0500', '0501', '0502', '0503', '0504', '0505', '0506', '0507', '0508', '0509', '0510', '0511', '0512', '0513', '0514', '0515', '0516', '0517', '0518', '0519', '0520', '0521', '0522', '0523', '0524', '0525', '0526', '0527', '0528', '0529', '0530', '0531', '0532', '0533', '0534', '0535', '0536', '0537', '0538', '0539', '0540', '0541', '0542', '0543', '0544', '0545', '0546', '0547', '0548', '0549', '0550', '0551', '0552', '0553', '0554', '0555', '0556', '0557', '0558', '0559', '0560', '0561', '0562', '0563', '0564', '0565', '0566', '0567', '0568', '0569', '0570', '0571', '0572', '0573', '0574', '0575', '0576', '0577', '0578', '0579', '0580', '0581', '0582', '0583', '0584', '0585', '0586', '0587', '0588', '0589', '0590', '0591', '0592', '0593', '0594', '0595', '0596', '0597', '0598', '0599', '0600', '0601', '0602', '0603', '0604', '0605', '0606', '0607', '0608', '0609', '0610', '0611', '0612', '0613', '0614', '0615', '0616', '0617', '0618', '0619', '0620', '0621', '0622', '0623', '0624', '0625', '0626', '0627', '0628', '0629', '0630', '0631', '0632', '0633', '0634', '0635', '0636', '0637', '0638', '0639', '0640', '0641', '0642', '0643', '0644', ], ], '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', '0655', '0664', '0665', ], ], 'PhpParser\NodeVisitor' => [ [ '017', '018', '019', '020', '021', '022', '023', '024', '025', '026', '028', '029', '030', '031', '032', '033', '034', '035', '036', '037', '038', '0655', '0664', '0665', ], ], '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', '0675', '0676', '0677', '0678', '0679', '0680', '0681', '0682', '0683', '0684', '0685', ], ], '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', '0666', '0668', '0670', '0673']], '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\Pure\PureMethodRule' => [['0354']], 'PHPStan\Rules\Pure\PureFunctionRule' => [['0355']], 'PHPStan\Rules\Classes\InvalidPromotedPropertiesRule' => [['0356']], 'PHPStan\Rules\Classes\ClassAttributesRule' => [['0357']], 'PHPStan\Rules\Classes\MixinRule' => [['0358']], 'PHPStan\Rules\Classes\ExistingClassInInstanceOfRule' => [['0359']], 'PHPStan\Rules\Classes\InstantiationCallableRule' => [['0360']], 'PHPStan\Rules\Classes\AccessPrivateConstantThroughStaticRule' => [['0361']], 'PHPStan\Rules\Classes\InstantiationRule' => [['0362']], 'PHPStan\Rules\Classes\LocalTypeTraitAliasesRule' => [['0363']], 'PHPStan\Rules\Classes\ExistingClassInClassExtendsRule' => [['0364']], 'PHPStan\Rules\Classes\PropertyTagTraitUseRule' => [['0365']], 'PHPStan\Rules\Classes\ImpossibleInstanceOfRule' => [['0366']], 'PHPStan\Rules\Classes\MethodTagRule' => [['0367']], 'PHPStan\Rules\Classes\PropertyTagTraitRule' => [['0368']], 'PHPStan\Rules\Classes\NewStaticRule' => [['0369']], 'PHPStan\Rules\Classes\AllowedSubTypesRule' => [['0370']], 'PHPStan\Rules\Classes\ExistingClassInTraitUseRule' => [['0371']], 'PHPStan\Rules\Classes\ReadOnlyClassRule' => [['0372']], 'PHPStan\Rules\Classes\MethodTagTraitRule' => [['0373']], 'PHPStan\Rules\Classes\DuplicateDeclarationRule' => [['0374']], 'PHPStan\Rules\Classes\EnumSanityRule' => [['0375']], 'PHPStan\Rules\Classes\ExistingClassesInInterfaceExtendsRule' => [['0376']], 'PHPStan\Rules\Classes\LocalTypeTraitUseAliasesRule' => [['0377']], 'PHPStan\Rules\Classes\TraitAttributeClassRule' => [['0378']], 'PHPStan\Rules\Classes\LocalTypeAliasesRule' => [['0379']], 'PHPStan\Rules\Classes\ClassConstantAttributesRule' => [['0380']], 'PHPStan\Rules\Classes\RequireExtendsRule' => [['0381']], 'PHPStan\Rules\Classes\MixinTraitUseRule' => [['0382']], 'PHPStan\Rules\Classes\MethodTagTraitUseRule' => [['0383']], 'PHPStan\Rules\Classes\RequireImplementsRule' => [['0384']], 'PHPStan\Rules\Classes\NonClassAttributeClassRule' => [['0385']], 'PHPStan\Rules\Classes\PropertyTagRule' => [['0386']], 'PHPStan\Rules\Classes\ExistingClassesInEnumImplementsRule' => [['0387']], 'PHPStan\Rules\Classes\ExistingClassesInClassImplementsRule' => [['0388']], 'PHPStan\Rules\Classes\ClassConstantRule' => [['0389']], 'PHPStan\Rules\Classes\MixinTraitRule' => [['0390']], 'PHPStan\Rules\Classes\UnusedConstructorParametersRule' => [['0391']], 'PHPStan\Rules\Keywords\ContinueBreakInLoopRule' => [['0392']], 'PHPStan\Rules\Keywords\DeclareStrictTypesRule' => [['0393']], 'PHPStan\Rules\Keywords\RequireFileExistsRule' => [['0394']], 'PHPStan\Rules\Missing\MissingReturnRule' => [['0395']], 'PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyAssignRefRule' => [['0396']], 'PHPStan\Rules\Properties\AccessPrivatePropertyThroughStaticRule' => [['0397']], 'PHPStan\Rules\Properties\ReadOnlyPropertyRule' => [['0398']], 'PHPStan\Rules\Properties\MissingReadOnlyByPhpDocPropertyAssignRule' => [['0399']], 'PHPStan\Rules\Properties\MissingPropertyTypehintRule' => [['0400']], 'PHPStan\Rules\Properties\AccessStaticPropertiesRule' => [['0401']], 'PHPStan\Rules\Properties\NullsafePropertyFetchRule' => [['0402']], 'PHPStan\Rules\Properties\GetNonVirtualPropertyHookReadRule' => [['0403']], 'PHPStan\Rules\Properties\AccessStaticPropertiesInAssignRule' => [['0404']], 'PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyAssignRule' => [['0405']], 'PHPStan\Rules\Properties\TypesAssignedToPropertiesRule' => [['0406']], 'PHPStan\Rules\Properties\ReadingWriteOnlyPropertiesRule' => [['0407']], 'PHPStan\Rules\Properties\ReadOnlyPropertyAssignRefRule' => [['0408']], 'PHPStan\Rules\Properties\PropertyAttributesRule' => [['0409']], 'PHPStan\Rules\Properties\DefaultValueTypesAssignedToPropertiesRule' => [['0410']], 'PHPStan\Rules\Properties\ExistingClassesInPropertiesRule' => [['0411']], 'PHPStan\Rules\Properties\AccessPropertiesRule' => [['0412']], 'PHPStan\Rules\Properties\OverridingPropertyRule' => [['0413']], 'PHPStan\Rules\Properties\PropertyInClassRule' => [['0414']], 'PHPStan\Rules\Properties\PropertyHookAttributesRule' => [['0415']], 'PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyRule' => [['0416']], 'PHPStan\Rules\Properties\SetPropertyHookParameterRule' => [['0417']], 'PHPStan\Rules\Properties\AccessPropertiesInAssignRule' => [['0418']], 'PHPStan\Rules\Properties\ReadOnlyPropertyAssignRule' => [['0419']], 'PHPStan\Rules\Properties\ExistingClassesInPropertyHookTypehintsRule' => [['0420']], 'PHPStan\Rules\Properties\PropertiesInInterfaceRule' => [['0421']], 'PHPStan\Rules\Properties\MissingReadOnlyPropertyAssignRule' => [['0422']], 'PHPStan\Rules\Properties\PropertyAssignRefRule' => [['0423']], 'PHPStan\Rules\Properties\InvalidCallablePropertyTypeRule' => [['0424']], 'PHPStan\Rules\Properties\WritingToReadOnlyPropertiesRule' => [['0425']], 'PHPStan\Rules\Properties\SetNonVirtualPropertyHookAssignRule' => [['0426']], 'PHPStan\Rules\DeadCode\NoopRule' => [['0427']], 'PHPStan\Rules\DeadCode\UnusedPrivateMethodRule' => [['0428']], 'PHPStan\Rules\DeadCode\CallToStaticMethodStatementWithoutImpurePointsRule' => [['0429']], 'PHPStan\Rules\DeadCode\UnreachableStatementRule' => [['0430']], 'PHPStan\Rules\DeadCode\CallToMethodStatementWithoutImpurePointsRule' => [['0431']], 'PHPStan\Rules\DeadCode\CallToConstructorStatementWithoutImpurePointsRule' => [['0432']], 'PHPStan\Rules\DeadCode\UnusedPrivateConstantRule' => [['0433']], 'PHPStan\Rules\DeadCode\CallToFunctionStatementWithoutImpurePointsRule' => [['0434']], 'PHPStan\Rules\DeadCode\UnusedPrivatePropertyRule' => [['0435']], 'PHPStan\Rules\PhpDoc\InvalidThrowsPhpDocValueRule' => [['0436']], 'PHPStan\Rules\PhpDoc\IncompatiblePropertyHookPhpDocTypeRule' => [['0437']], 'PHPStan\Rules\PhpDoc\MethodConditionalReturnTypeRule' => [['0438']], 'PHPStan\Rules\PhpDoc\InvalidPhpDocVarTagTypeRule' => [['0439']], 'PHPStan\Rules\PhpDoc\IncompatibleClassConstantPhpDocTypeRule' => [['0440']], 'PHPStan\Rules\PhpDoc\FunctionConditionalReturnTypeRule' => [['0441']], 'PHPStan\Rules\PhpDoc\MethodAssertRule' => [['0442']], 'PHPStan\Rules\PhpDoc\VarTagChangedExpressionTypeRule' => [['0443']], 'PHPStan\Rules\PhpDoc\InvalidPHPStanDocTagRule' => [['0444']], 'PHPStan\Rules\PhpDoc\IncompatibleSelfOutTypeRule' => [['0445']], 'PHPStan\Rules\PhpDoc\SealedDefinitionTraitRule' => [['0446']], 'PHPStan\Rules\PhpDoc\InvalidPhpDocTagValueRule' => [['0447']], 'PHPStan\Rules\PhpDoc\IncompatiblePhpDocTypeRule' => [['0448']], 'PHPStan\Rules\PhpDoc\IncompatiblePropertyPhpDocTypeRule' => [['0449']], 'PHPStan\Rules\PhpDoc\SealedDefinitionClassRule' => [['0450']], 'PHPStan\Rules\PhpDoc\WrongVariableNameInVarTagRule' => [['0451']], 'PHPStan\Rules\PhpDoc\RequireImplementsDefinitionTraitRule' => [['0452']], 'PHPStan\Rules\PhpDoc\RequireImplementsDefinitionClassRule' => [['0453']], 'PHPStan\Rules\PhpDoc\FunctionAssertRule' => [['0454']], 'PHPStan\Rules\PhpDoc\RequireExtendsDefinitionClassRule' => [['0455']], 'PHPStan\Rules\PhpDoc\IncompatibleParamImmediatelyInvokedCallableRule' => [['0456']], 'PHPStan\Rules\PhpDoc\RequireExtendsDefinitionTraitRule' => [['0457']], 'PHPStan\Rules\Names\UsedNamesRule' => [['0458']], 'PHPStan\Rules\Operators\InvalidAssignVarRule' => [['0459']], 'PHPStan\Rules\Operators\InvalidComparisonOperationRule' => [['0460']], 'PHPStan\Rules\Operators\InvalidBinaryOperationRule' => [['0461']], 'PHPStan\Rules\Operators\InvalidIncDecOperationRule' => [['0462']], 'PHPStan\Rules\Operators\InvalidUnaryOperationRule' => [['0463']], 'PHPStan\Rules\Arrays\DeadForeachRule' => [['0464']], 'PHPStan\Rules\Arrays\UnpackIterableInArrayRule' => [['0465']], 'PHPStan\Rules\Arrays\ArrayDestructuringRule' => [['0466']], 'PHPStan\Rules\Arrays\OffsetAccessWithoutDimForReadingRule' => [['0467']], 'PHPStan\Rules\Arrays\OffsetAccessAssignmentRule' => [['0468']], 'PHPStan\Rules\Arrays\DuplicateKeysInLiteralArraysRule' => [['0469']], 'PHPStan\Rules\Arrays\InvalidKeyInArrayItemRule' => [['0470']], 'PHPStan\Rules\Arrays\IterableInForeachRule' => [['0471']], 'PHPStan\Rules\Arrays\InvalidKeyInArrayDimFetchRule' => [['0472']], 'PHPStan\Rules\Arrays\OffsetAccessValueAssignmentRule' => [['0473']], 'PHPStan\Rules\Arrays\ArrayUnpackingRule' => [['0474']], 'PHPStan\Rules\Arrays\NonexistentOffsetInArrayDimFetchRule' => [['0475']], 'PHPStan\Rules\Arrays\OffsetAccessAssignOpRule' => [['0476']], 'PHPStan\Rules\Ignore\IgnoreParseErrorRule' => [['0477']], 'PHPStan\Rules\Cast\InvalidPartOfEncapsedStringRule' => [['0478']], 'PHPStan\Rules\Cast\UnsetCastRule' => [['0479']], 'PHPStan\Rules\Cast\EchoRule' => [['0480']], 'PHPStan\Rules\Cast\InvalidCastRule' => [['0481']], 'PHPStan\Rules\Cast\PrintRule' => [['0482']], 'PHPStan\Rules\Whitespace\FileWhitespaceRule' => [['0483']], 'PHPStan\Rules\Variables\EmptyRule' => [['0484']], 'PHPStan\Rules\Variables\IssetRule' => [['0485']], 'PHPStan\Rules\Variables\UnsetRule' => [['0486']], 'PHPStan\Rules\Variables\NullCoalesceRule' => [['0487']], 'PHPStan\Rules\Variables\ParameterOutExecutionEndTypeRule' => [['0488']], 'PHPStan\Rules\Variables\DefinedVariableRule' => [['0489']], 'PHPStan\Rules\Variables\ParameterOutAssignedTypeRule' => [['0490']], 'PHPStan\Rules\Variables\VariableCloningRule' => [['0491']], 'PHPStan\Rules\Variables\CompactVariablesRule' => [['0492']], 'PHPStan\Rules\Namespaces\ExistingNamesInGroupUseRule' => [['0493']], 'PHPStan\Rules\Namespaces\ExistingNamesInUseRule' => [['0494']], 'PHPStan\Rules\Api\PhpStanNamespaceIn3rdPartyPackageRule' => [['0495']], 'PHPStan\Rules\Api\RuntimeReflectionFunctionRule' => [['0496']], 'PHPStan\Rules\Api\ApiInstanceofTypeRule' => [['0497']], 'PHPStan\Rules\Api\ApiClassConstFetchRule' => [['0498']], 'PHPStan\Rules\Api\ApiInterfaceExtendsRule' => [['0499']], 'PHPStan\Rules\Api\ApiInstanceofRule' => [['0500']], 'PHPStan\Rules\Api\ApiClassImplementsRule' => [['0501']], 'PHPStan\Rules\Api\OldPhpParser4ClassRule' => [['0502']], 'PHPStan\Rules\Api\ApiMethodCallRule' => [['0503']], 'PHPStan\Rules\Api\ApiInstantiationRule' => [['0504']], 'PHPStan\Rules\Api\NodeConnectingVisitorAttributesRule' => [['0505']], 'PHPStan\Rules\Api\ApiClassExtendsRule' => [['0506']], 'PHPStan\Rules\Api\ApiStaticCallRule' => [['0507']], 'PHPStan\Rules\Api\RuntimeReflectionInstantiationRule' => [['0508']], 'PHPStan\Rules\Api\ApiTraitUseRule' => [['0509']], 'PHPStan\Rules\Api\GetTemplateTypeRule' => [['0510']], 'PHPStan\Rules\Exceptions\ThrowExpressionRule' => [['0511']], 'PHPStan\Rules\Exceptions\NoncapturingCatchRule' => [['0512']], 'PHPStan\Rules\Exceptions\ThrowsVoidMethodWithExplicitThrowPointRule' => [['0513']], 'PHPStan\Rules\Exceptions\CatchWithUnthrownExceptionRule' => [['0514']], 'PHPStan\Rules\Exceptions\ThrowsVoidFunctionWithExplicitThrowPointRule' => [['0515']], 'PHPStan\Rules\Exceptions\ThrowExprTypeRule' => [['0516']], 'PHPStan\Rules\Exceptions\CaughtExceptionExistenceRule' => [['0517']], 'PHPStan\Rules\Exceptions\OverwrittenExitPointByFinallyRule' => [['0518']], 'PHPStan\Rules\Exceptions\ThrowsVoidPropertyHookWithExplicitThrowPointRule' => [['0519']], 'PHPStan\Rules\Generators\YieldInGeneratorRule' => [['0520']], 'PHPStan\Rules\Generators\YieldTypeRule' => [['0521']], 'PHPStan\Rules\Generators\YieldFromTypeRule' => [['0522']], 'PHPStan\Rules\Constants\ValueAssignedToClassConstantRule' => [['0523']], 'PHPStan\Rules\Constants\MagicConstantContextRule' => [['0524']], 'PHPStan\Rules\Constants\MissingClassConstantTypehintRule' => [['0525']], 'PHPStan\Rules\Constants\FinalConstantRule' => [['0526']], 'PHPStan\Rules\Constants\ConstantRule' => [['0527']], 'PHPStan\Rules\Constants\OverridingConstantRule' => [['0528']], 'PHPStan\Rules\Constants\DynamicClassConstantFetchRule' => [['0529']], 'PHPStan\Rules\Constants\FinalPrivateConstantRule' => [['0530']], 'PHPStan\Rules\Constants\NativeTypedClassConstantRule' => [['0531']], 'PHPStan\Rules\Constants\ClassAsClassConstantRule' => [['0532']], 'PHPStan\Rules\TooWideTypehints\TooWideClosureReturnTypehintRule' => [['0533']], 'PHPStan\Rules\TooWideTypehints\TooWideArrowFunctionReturnTypehintRule' => [['0534']], 'PHPStan\Rules\TooWideTypehints\TooWideMethodReturnTypehintRule' => [['0535']], 'PHPStan\Rules\TooWideTypehints\TooWideFunctionParameterOutTypeRule' => [['0536']], 'PHPStan\Rules\TooWideTypehints\TooWideMethodParameterOutTypeRule' => [['0537']], 'PHPStan\Rules\TooWideTypehints\TooWidePropertyTypeRule' => [['0538']], 'PHPStan\Rules\TooWideTypehints\TooWideFunctionReturnTypehintRule' => [['0539']], 'PHPStan\Rules\Functions\InnerFunctionRule' => [['0540']], 'PHPStan\Rules\Functions\ImplodeParameterCastableToStringRule' => [['0541']], 'PHPStan\Rules\Functions\IncompatibleClosureDefaultParameterTypeRule' => [['0542']], 'PHPStan\Rules\Functions\ArrayFilterRule' => [['0543']], 'PHPStan\Rules\Functions\ClosureReturnTypeRule' => [['0544']], 'PHPStan\Rules\Functions\RedefinedParametersRule' => [['0545']], 'PHPStan\Rules\Functions\SortParameterCastableToStringRule' => [['0546']], 'PHPStan\Rules\Functions\ArrowFunctionAttributesRule' => [['0547']], 'PHPStan\Rules\Functions\ReturnTypeRule' => [['0548']], 'PHPStan\Rules\Functions\PrintfParametersRule' => [['0549']], 'PHPStan\Rules\Functions\CallToNonExistentFunctionRule' => [['0550']], 'PHPStan\Rules\Functions\ArrowFunctionReturnNullsafeByRefRule' => [['0551']], 'PHPStan\Rules\Functions\UselessFunctionReturnValueRule' => [['0552']], 'PHPStan\Rules\Functions\DefineParametersRule' => [['0553']], 'PHPStan\Rules\Functions\ExistingClassesInArrowFunctionTypehintsRule' => [['0554']], 'PHPStan\Rules\Functions\ArrayValuesRule' => [['0555']], 'PHPStan\Rules\Functions\ExistingClassesInTypehintsRule' => [['0556']], 'PHPStan\Rules\Functions\InvalidLexicalVariablesInClosureUseRule' => [['0557']], 'PHPStan\Rules\Functions\CallCallablesRule' => [['0558']], 'PHPStan\Rules\Functions\VariadicParametersDeclarationRule' => [['0559']], 'PHPStan\Rules\Functions\ArrowFunctionReturnTypeRule' => [['0560']], 'PHPStan\Rules\Functions\FunctionAttributesRule' => [['0561']], 'PHPStan\Rules\Functions\CallToFunctionStatementWithoutSideEffectsRule' => [['0562']], 'PHPStan\Rules\Functions\RandomIntParametersRule' => [['0563']], 'PHPStan\Rules\Functions\UnusedClosureUsesRule' => [['0564']], 'PHPStan\Rules\Functions\ParamAttributesRule' => [['0565']], 'PHPStan\Rules\Functions\CallToFunctionParametersRule' => [['0566']], 'PHPStan\Rules\Functions\PrintfArrayParametersRule' => [['0567']], 'PHPStan\Rules\Functions\MissingFunctionParameterTypehintRule' => [['0568']], 'PHPStan\Rules\Functions\IncompatibleDefaultParameterTypeRule' => [['0569']], 'PHPStan\Rules\Functions\IncompatibleArrowFunctionDefaultParameterTypeRule' => [['0570']], 'PHPStan\Rules\Functions\CallUserFuncRule' => [['0571']], 'PHPStan\Rules\Functions\MissingFunctionReturnTypehintRule' => [['0572']], 'PHPStan\Rules\Functions\ClosureAttributesRule' => [['0573']], 'PHPStan\Rules\Functions\ParameterCastableToStringRule' => [['0574']], 'PHPStan\Rules\Functions\ExistingClassesInClosureTypehintsRule' => [['0575']], 'PHPStan\Rules\Functions\ReturnNullsafeByRefRule' => [['0576']], 'PHPStan\Rules\Functions\FunctionCallableRule' => [['0577']], 'PHPStan\Rules\Methods\MethodAttributesRule' => [['0578']], 'PHPStan\Rules\Methods\AbstractPrivateMethodRule' => [['0579']], 'PHPStan\Rules\Methods\FinalPrivateMethodRule' => [['0580']], 'PHPStan\Rules\Methods\ReturnTypeRule' => [['0581']], 'PHPStan\Rules\Methods\MissingMethodSelfOutTypeRule' => [['0582']], 'PHPStan\Rules\Methods\CallStaticMethodsRule' => [['0583']], 'PHPStan\Rules\Methods\CallToMethodStatementWithoutSideEffectsRule' => [['0584']], 'PHPStan\Rules\Methods\MethodVisibilityInInterfaceRule' => [['0585']], 'PHPStan\Rules\Methods\CallMethodsRule' => [['0586']], 'PHPStan\Rules\Methods\ExistingClassesInTypehintsRule' => [['0587']], 'PHPStan\Rules\Methods\MissingMethodImplementationRule' => [['0588']], 'PHPStan\Rules\Methods\MissingMagicSerializationMethodsRule' => [['0589']], 'PHPStan\Rules\Methods\MissingMethodParameterTypehintRule' => [['0590']], 'PHPStan\Rules\Methods\CallPrivateMethodThroughStaticRule' => [['0591']], 'PHPStan\Rules\Methods\MissingMethodReturnTypehintRule' => [['0592']], 'PHPStan\Rules\Methods\OverridingMethodRule' => [['0593']], 'PHPStan\Rules\Methods\StaticMethodCallableRule' => [['0594']], 'PHPStan\Rules\Methods\ConstructorReturnTypeRule' => [['0595']], 'PHPStan\Rules\Methods\AbstractMethodInNonAbstractClassRule' => [['0596']], 'PHPStan\Rules\Methods\IncompatibleDefaultParameterTypeRule' => [['0597']], 'PHPStan\Rules\Methods\ConsistentConstructorRule' => [['0598']], 'PHPStan\Rules\Methods\CallToConstructorStatementWithoutSideEffectsRule' => [['0599']], 'PHPStan\Rules\Methods\NullsafeMethodCallRule' => [['0600']], 'PHPStan\Rules\Methods\CallToStaticMethodStatementWithoutSideEffectsRule' => [['0601']], 'PHPStan\Rules\Methods\MethodCallableRule' => [['0602']], 'PHPStan\Rules\Comparison\ImpossibleCheckTypeMethodCallRule' => [['0603']], 'PHPStan\Rules\Comparison\UsageOfVoidMatchExpressionRule' => [['0604']], 'PHPStan\Rules\Comparison\ConstantLooseComparisonRule' => [['0605']], 'PHPStan\Rules\Comparison\DoWhileLoopConstantConditionRule' => [['0606']], 'PHPStan\Rules\Comparison\BooleanAndConstantConditionRule' => [['0607']], 'PHPStan\Rules\Comparison\ImpossibleCheckTypeStaticMethodCallRule' => [['0608']], 'PHPStan\Rules\Comparison\WhileLoopAlwaysTrueConditionRule' => [['0609']], 'PHPStan\Rules\Comparison\ImpossibleCheckTypeFunctionCallRule' => [['0610']], 'PHPStan\Rules\Comparison\BooleanNotConstantConditionRule' => [['0611']], 'PHPStan\Rules\Comparison\LogicalXorConstantConditionRule' => [['0612']], 'PHPStan\Rules\Comparison\BooleanOrConstantConditionRule' => [['0613']], 'PHPStan\Rules\Comparison\MatchExpressionRule' => [['0614']], 'PHPStan\Rules\Comparison\IfConstantConditionRule' => [['0615']], 'PHPStan\Rules\Comparison\TernaryOperatorConstantConditionRule' => [['0616']], 'PHPStan\Rules\Comparison\NumberComparisonOperatorsConstantConditionRule' => [['0617']], 'PHPStan\Rules\Comparison\StrictComparisonOfDifferentTypesRule' => [['0618']], 'PHPStan\Rules\Comparison\ElseIfConstantConditionRule' => [['0619']], 'PHPStan\Rules\Comparison\WhileLoopAlwaysFalseConditionRule' => [['0620']], 'PHPStan\Rules\Traits\ConflictingTraitConstantsRule' => [['0621']], 'PHPStan\Rules\Traits\ConstantsInTraitsRule' => [['0622']], 'PHPStan\Rules\Traits\TraitAttributesRule' => [['0623']], 'PHPStan\Rules\Traits\NotAnalysedTraitRule' => [['0624']], 'PHPStan\Rules\Regexp\RegularExpressionQuotingRule' => [['0625']], 'PHPStan\Rules\Regexp\RegularExpressionPatternRule' => [['0626']], 'PHPStan\Rules\EnumCases\EnumCaseAttributesRule' => [['0627']], 'PHPStan\Rules\Generics\ClassTemplateTypeRule' => [['0628']], 'PHPStan\Rules\Generics\EnumAncestorsRule' => [['0629']], 'PHPStan\Rules\Generics\FunctionSignatureVarianceRule' => [['0630']], 'PHPStan\Rules\Generics\MethodTagTemplateTypeRule' => [['0631']], 'PHPStan\Rules\Generics\MethodTemplateTypeRule' => [['0632']], 'PHPStan\Rules\Generics\PropertyVarianceRule' => [['0633']], 'PHPStan\Rules\Generics\TraitTemplateTypeRule' => [['0634']], 'PHPStan\Rules\Generics\MethodTagTemplateTypeTraitRule' => [['0635']], 'PHPStan\Rules\Generics\EnumTemplateTypeRule' => [['0636']], 'PHPStan\Rules\Generics\UsedTraitsRule' => [['0637']], 'PHPStan\Rules\Generics\InterfaceTemplateTypeRule' => [['0638']], 'PHPStan\Rules\Generics\MethodSignatureVarianceRule' => [['0639']], 'PHPStan\Rules\Generics\InterfaceAncestorsRule' => [['0640']], 'PHPStan\Rules\Generics\FunctionTemplateTypeRule' => [['0641']], 'PHPStan\Rules\Generics\ClassAncestorsRule' => [['0642']], 'PHPStan\Rules\Types\InvalidTypesInUnionRule' => [['0643']], 'PHPStan\Rules\DateTimeInstantiationRule' => [['0644']], 'PHPStan\Collectors\Collector' => [1 => ['0645', '0646', '0647', '0648', '0649', '0650', '0651', '0652', '0653']], 'PHPStan\Rules\DeadCode\PossiblyPureNewCollector' => [['0645']], 'PHPStan\Rules\DeadCode\FunctionWithoutImpurePointsCollector' => [['0646']], 'PHPStan\Rules\DeadCode\PossiblyPureMethodCallCollector' => [['0647']], 'PHPStan\Rules\DeadCode\ConstructorWithoutImpurePointsCollector' => [['0648']], 'PHPStan\Rules\DeadCode\PossiblyPureFuncCallCollector' => [['0649']], 'PHPStan\Rules\DeadCode\MethodWithoutImpurePointsCollector' => [['0650']], 'PHPStan\Rules\DeadCode\PossiblyPureStaticCallCollector' => [['0651']], 'PHPStan\Rules\Traits\TraitUseCollector' => [['0652']], 'PHPStan\Rules\Traits\TraitDeclarationCollector' => [['0653']], 'PhpParser\BuilderFactory' => [['0654']], 'PhpParser\NodeVisitor\NameResolver' => [['0655']], 'PHPStan\PhpDocParser\ParserConfig' => [['0656']], 'PHPStan\PhpDocParser\Lexer\Lexer' => [['0657']], 'PHPStan\PhpDocParser\Parser\TypeParser' => [['0658']], 'PHPStan\PhpDocParser\Parser\ConstExprParser' => [['0659']], 'PHPStan\PhpDocParser\Parser\PhpDocParser' => [['0660']], 'PHPStan\PhpDocParser\Printer\Printer' => [['0661']], 'PHPStan\BetterReflection\SourceLocator\SourceStubber\SourceStubber' => [1 => ['0662', '0663']], 'PHPStan\BetterReflection\SourceLocator\SourceStubber\PhpStormStubsSourceStubber' => [['0662']], 'PHPStan\BetterReflection\SourceLocator\SourceStubber\ReflectionSourceStubber' => [['0663']], 'PHPStan\BetterReflection\Reflector\DefaultReflector' => [2 => ['originalBetterReflectionReflector']], 'PHPStan\Dependency\ExportedNodeVisitor' => [['0664']], 'PHPStan\Reflection\BetterReflection\SourceLocator\CachingVisitor' => [['0665']], 'PHPStan\Reflection\MethodsClassReflectionExtension' => [['0666', '0667', '0669', '0671', '0672']], 'PHPStan\Reflection\Php\PhpClassReflectionExtension' => [['0666']], 'PHPStan\Reflection\Annotations\AnnotationsMethodsClassReflectionExtension' => [['0667']], 'PHPStan\Reflection\Annotations\AnnotationsPropertiesClassReflectionExtension' => [['0668']], 'PHPStan\Reflection\Mixin\MixinMethodsClassReflectionExtension' => [['0669']], 'PHPStan\Reflection\Mixin\MixinPropertiesClassReflectionExtension' => [['0670']], 'PHPStan\Reflection\Php\Soap\SoapClientMethodsClassReflectionExtension' => [['0671']], 'PHPStan\Reflection\RequireExtension\RequireExtendsMethodsClassReflectionExtension' => [['0672']], 'PHPStan\Reflection\RequireExtension\RequireExtendsPropertiesClassReflectionExtension' => [['0673']], 'PHPStan\Rules\Methods\MethodSignatureRule' => [['0674']], 'PHPStan\Diagnose\PHPStanDiagnoseExtension' => [2 => ['phpstanDiagnoseExtension']], 'PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension' => [['0675', '0676', '0677', '0678', '0679']], 'PHPStan\Type\Php\DateTimeModifyReturnTypeExtension' => [['0680', '0681']], 'PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension' => [['0682', '0683']], 'PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension' => [ ['0684', '0685'], ], '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' => [['0686']], 'PHPStan\Rules\Exceptions\MissingCheckedExceptionInMethodThrowsRule' => [['0687']], 'PHPStan\Rules\Exceptions\MissingCheckedExceptionInPropertyHookThrowsRule' => [['0688']], 'PHPStan\Rules\Properties\UninitializedPropertyRule' => [['0689']], 'PHPStan\Rules\Classes\NewStaticInAbstractClassStaticMethodRule' => [['0690']], 'PHPStan\Rules\RestrictedUsage\RestrictedClassConstantUsageExtension' => [['0691']], 'PHPStan\Rules\InternalTag\RestrictedInternalClassConstantUsageExtension' => [['0691']], 'PHPStan\Rules\RestrictedUsage\RestrictedClassNameUsageExtension' => [['0692']], 'PHPStan\Rules\InternalTag\RestrictedInternalClassNameUsageExtension' => [['0692']], 'PHPStan\Rules\RestrictedUsage\RestrictedFunctionUsageExtension' => [['0693']], 'PHPStan\Rules\InternalTag\RestrictedInternalFunctionUsageExtension' => [['0693']], 'PHPStan\Rules\RestrictedUsage\RestrictedPropertyUsageExtension' => [['0694']], 'PHPStan\Rules\InternalTag\RestrictedInternalPropertyUsageExtension' => [['0694']], 'PHPStan\Rules\RestrictedUsage\RestrictedMethodUsageExtension' => [['0695']], 'PHPStan\Rules\InternalTag\RestrictedInternalMethodUsageExtension' => [['0695']], 'PHPStan\Rules\Exceptions\TooWideFunctionThrowTypeRule' => [['0696']], 'PHPStan\Rules\Exceptions\TooWideMethodThrowTypeRule' => [['0697']], 'PHPStan\Rules\Exceptions\TooWidePropertyHookThrowTypeRule' => [['0698']], 'PHPStan\Rules\Functions\ParameterCastableToNumberRule' => [['0699']], ]; 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' => '#^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 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\:\: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\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', '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\:\:buildDetectionMetadata\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\OWASPSecurityEventFactory\:\:buildDetectionMetadata\(\) 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' => '#^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' => '#^Cannot instantiate class App\\\Application\\\Security\\\ValueObjects\\\RequestContext via private constructor App\\\Application\\\Security\\\ValueObjects\\\RequestContext\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Cannot instantiate class App\\\Application\\\Security\\\ValueObjects\\\SecurityContext via private constructor App\\\Application\\\Security\\\ValueObjects\\\SecurityContext\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.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/WafEventProcessor.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Waf\\\LayerResult and App\\\Framework\\\Waf\\\LayerResult will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\WafEventProcessor\:\:createRequestContext\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\WafEventProcessor\:\:createSecurityContext\(\) has parameter \$securityData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\WafEventProcessor\:\:getProcessingStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\WafEventProcessor\:\:getProcessingStats\(\) 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/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$geo \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$hostIp \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$hostname \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$port \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$protocol \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$region \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$requestId \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$sessionId \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$sourceIp \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$timestamp \(DateTimeImmutable\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$userAgent \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$authenticationStatus in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$clientIp in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$securityLevel in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$sessionId in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$sessionMetadata in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$timestamp in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$userAgent in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$userEmail in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$userRole in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Application\\\Security\\\OWASPSecurityEventLogger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Call to an undefined method App\\\Application\\\Security\\\ValueObjects\\\RequestContext\:\:getClientIp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Call to an undefined method App\\\Application\\\Security\\\ValueObjects\\\RequestContext\:\:getUserEmail\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$attackPattern \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$fieldName \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$fieldName \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$invalidValue \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$sanitizedValue \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$validationRule \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$attemptedValue in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$detectionMethod in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$field in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$inputPayload in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$inputType in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$reason in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.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' => '#^Call to static method default\(\) on an unknown class App\\\Framework\\\Waf\\\WafConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Test/WafTestController.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector constructor invoked with 0 parameters, 1\-13 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Test/WafTestController.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' => '#^Method App\\\Framework\\\Async\\\AsyncBarrier\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncBarrier.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncBarrier\:\:\$waitingFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncBarrier.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncChannel\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncChannel.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncChannel\:\:\$waitingReceivers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncChannel.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncChannel\:\:\$waitingSenders with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncChannel.php', ], [ 'message' => '#^Anonymous function has an unused use \$id\.$#', 'identifier' => 'closure.unusedUse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncEventLoop.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncEventLoop\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncEventLoop.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncEventLoop\:\:nextTick\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncEventLoop.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncMutex\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Parameter \#1 \$object of function spl_object_id expects object, Fiber\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncMutex\:\:\$owner \(string\|null\) does not accept int\.$#', 'identifier' => 'assign.propertyType', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncMutex\:\:\$owner \(string\|null\) is never assigned string so it can be removed from the property type\.$#', 'identifier' => 'property.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncMutex\:\:\$waitingFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Strict comparison using \!\=\= between string\|null and int will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:databaseQuery\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:databaseQuery\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:httpRequest\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:httpRequest\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:listDirectory\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:measureExecution\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:readFile\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:sleep\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:sleepDuration\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:withTimeout\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:writeFile\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Cannot access offset \'id\' on callable\(\)\: mixed\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Cannot access offset \'operation\' on callable\(\)\: mixed\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPool\:\:execute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPool\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Parameter \#1 \$value of method SplQueue\\:\:enqueue\(\) expects callable\(\)\: mixed, array\{id\: string, operation\: callable\(\)\: mixed\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncPool\:\:\$activeFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPromise\:\:all\(\) has parameter \$promises with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPromise\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPromise\:\:race\(\) has parameter \$promises with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Negated boolean expression is always true\.$#', 'identifier' => 'booleanNot.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncPromise\:\:\$finallyCallbacks \(array\\) does not accept non\-empty\-array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncPromise\:\:\$thenCallbacks \(array\\) does not accept non\-empty\-array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncQueue\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncQueue.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncQueue\:\:\$waitingConsumers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncQueue.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Direct instantiation of DateTime is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead for consistent timezone handling$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Function sleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncScheduler\:\:executeJob\(\) has parameter \$job with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncScheduler\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncScheduler\:\:shouldRun\(\) has parameter \$job with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncScheduler\:\:start\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncScheduler\:\:\$jobs type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncSemaphore\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncSemaphore.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncSemaphore\:\:\$waitingFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncSemaphore.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:async\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:batch\(\) has parameter \$operations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:batch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:delay\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:parallel\(\) has parameter \$operations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:waitFor\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncService\:\:\$timer is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncStream\:\:collect\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncStream\:\:fromArray\(\) has parameter \$items with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncStream\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncStream\:\:reduce\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Parameter \#1 \$microseconds of function usleep expects int, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:sleep\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:sleepDuration\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:start\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:waitFor\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:waitForDuration\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:__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/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:__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/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:create\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:create\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJob.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJobProcessor\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJobProcessor\:\:start\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\Contracts\\\AsyncOperation\:\:executeAsync\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/Contracts/AsyncOperation.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:async\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:asyncGenerator\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:combine\(\) has parameter \$fibers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:combine\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:sequence\(\) has parameter \$operations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:sequence\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:waitForAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.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/Async/FiberManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\FiberManager\:\:\$runningFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Function sleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:__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/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:bundleCss\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:bundleJs\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:findFiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:generateImageSizes\(\) has parameter \$sizes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:generateImageSizes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processCss\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processImages\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processJs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processSassVariables\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.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/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function str_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:\$config is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^While loop condition is always true\.$#', 'identifier' => 'while.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\: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/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\: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/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:getMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:rememberMultiple\(\) has parameter \$callbacks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:rememberMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\: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/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Parameter \#1 \$operations of method App\\\Framework\\\Async\\\FiberManager\:\:batch\(\) expects array\, non\-empty\-list\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Property App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:\$memoryCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:__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/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:delete\(\) has parameter \$where with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:insert\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:insertMultiple\(\) has parameter \$records with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:insertMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:query\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:queryBatch\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:queryBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:queryMultiple\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:select\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:select\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:update\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:update\(\) has parameter \$where with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\DatabaseResult\:\:fetch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/DatabaseResult.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\DatabaseResult\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/DatabaseResult.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:__construct\(\) has parameter \$defaultOptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:createContext\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:createContext\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\: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/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:delete\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:extractStatusCode\(\) has parameter \$httpResponseHeader with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\: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/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:get\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:parseHeaders\(\) has parameter \$httpResponseHeader with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:parseHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\: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/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:post\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\: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/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:put\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:request\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:request\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:requestBatch\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:requestBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:requestMultiple\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Property App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:\$defaultOptions type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Variable \$http_response_header on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.variable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\HttpResponse\:\:__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/AsyncExamples/Http/HttpResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\HttpResponse\:\:json\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/HttpResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\HttpResponse\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/HttpResponse.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Function mail\(\) is forbidden\: Use Mailer abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:__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/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:personalizeContent\(\) has parameter \$recipient with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:queueMultiple\(\) has parameter \$emails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:sendMultiple\(\) has parameter \$emails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:sendMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:sendNewsletter\(\) has parameter \$recipients with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:sendNewsletter\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Property App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:\$config type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:__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/AsyncExamples/Mail/Email.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:__construct\(\) has parameter \$bcc with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/Email.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:__construct\(\) has parameter \$cc with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/Email.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:withBcc\(\) has parameter \$bcc with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/Email.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:withCc\(\) has parameter \$cc with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/Email.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' => '#^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' => '#^Class App\\\Framework\\\Cache\\\CacheIdentifierCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheIdentifierCollection.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' => '#^Parameter \#1 \$seconds of static method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:fromSeconds\(\) expects float, int\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheItem.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheKey\:\: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/Cache/CacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheKey\:\: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/Cache/CacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheKey\:\:normalizeString\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheKey.php', ], [ 'message' => '#^Class App\\\Framework\\\Cache\\\CacheKeyCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheKeyCollection.php', ], [ 'message' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\Cache\\\CacheKeyCollection\:\:\$keys\.$#', 'identifier' => 'argument.byRef', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheKeyCollection.php', ], [ 'message' => '#^Cannot call method toString\(\) on string\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheResult.php', ], [ 'message' => '#^Class App\\\Framework\\\Cache\\\CacheResult implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheResult.php', ], [ 'message' => '#^Parameter \#1 \$key of static method App\\\Framework\\\Cache\\\CacheItem\:\:hit\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheResult.php', ], [ 'message' => '#^Parameter \#1 \$key of static method App\\\Framework\\\Cache\\\CacheItem\:\:miss\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheResult.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' => '#^Strict comparison using \=\=\= between string and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', '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' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CachePrefix\:\:cases\(\)\.$#', 'identifier' => 'staticMethod.notFound', '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' => 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' => '#^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' => '#^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' => '#^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' => '#^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' => '#^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' => '#^Method App\\\Framework\\\Cache\\\GeneralCache\:\:getCompressionStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/GeneralCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\GeneralCache\:\:getDriver\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/GeneralCache.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' => 7, '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' => '#^Instanceof between App\\\Framework\\\Cache\\\CacheKey and App\\\Framework\\\Cache\\\CacheKey will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MultiLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\MultiLevelCache\:\:remember\(\) should return App\\\Framework\\\Cache\\\CacheItem but returns App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MultiLevelCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\MultiLevelCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MultiLevelCache.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\MultiLevelCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MultiLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\ServiceCacheDecorator\:\:__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/ServiceCacheDecorator.php', ], [ 'message' => '#^Parameter \#1 \$key of method App\\\Framework\\\Cache\\\Cache\:\:remember\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/ServiceCacheDecorator.php', ], [ 'message' => '#^Parameter \#3 \$ttl of method App\\\Framework\\\Cache\\\Cache\:\:remember\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Duration\|null, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/ServiceCacheDecorator.php', ], [ 'message' => '#^Access to private property App\\\Framework\\\Cache\\\CachePattern\:\:\$pattern\.$#', 'identifier' => 'property.private', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CacheKey\:\:from\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Cannot call method toString\(\) on string\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:computeAsync\(\) has parameter \$toCompute with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:computeAsync\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:computeSync\(\) has parameter \$toCompute with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:computeSync\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:forgetAsync\(\) 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/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:forgetByPattern\(\) should return int but returns false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:getAsync\(\) 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/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasAsync\(\) 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/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasAsync\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasByPattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasByPrefix\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasByTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:setAsync\(\) 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/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$key of method App\\\Framework\\\Cache\\\CacheResult\:\:getItem\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$pattern of method App\\\Framework\\\Cache\\\SmartCache\:\:forgetByPattern\(\) expects App\\\Framework\\\Cache\\\CachePattern, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$pattern of method App\\\Framework\\\Cache\\\SmartCache\:\:getByPattern\(\) expects App\\\Framework\\\Cache\\\CachePattern, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$pattern of method App\\\Framework\\\Cache\\\SmartCache\:\:hasByPattern\(\) expects App\\\Framework\\\Cache\\\CachePattern, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$prefix of method App\\\Framework\\\Cache\\\SmartCache\:\:forgetByPrefix\(\) expects App\\\Framework\\\Cache\\\CachePrefix, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$prefix of method App\\\Framework\\\Cache\\\SmartCache\:\:getByPrefix\(\) expects App\\\Framework\\\Cache\\\CachePrefix, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$prefix of method App\\\Framework\\\Cache\\\SmartCache\:\:hasByPrefix\(\) expects App\\\Framework\\\Cache\\\CachePrefix, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$tag of method App\\\Framework\\\Cache\\\SmartCache\:\:forgetByTag\(\) expects App\\\Framework\\\Cache\\\CacheTag, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$tag of method App\\\Framework\\\Cache\\\SmartCache\:\:getByTag\(\) expects App\\\Framework\\\Cache\\\CacheTag, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$tag of method App\\\Framework\\\Cache\\\SmartCache\:\:hasByTag\(\) expects App\\\Framework\\\Cache\\\CacheTag, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:getAllTags\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:getKeysForTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:getTagsForKey\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:untagKey\(\) should return bool but returns int\|true\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:updateKeyTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CacheKey\:\:from\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CacheTag\:\:from\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TaggedCache\:\:__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/Cache/TaggedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TaggedCache\:\:flush\(\) should return bool but returns int\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TaggedCache\:\:getTagStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TaggedCache\:\:getTags\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.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' => '#^Method App\\\Framework\\\Cache\\\ValidationCacheDecorator\:\:validateKey\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/ValidationCacheDecorator.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\:\: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' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\:\: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/CircuitBreaker/CircuitBreakerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerMetrics.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' => '#^Cannot access offset \'failure_count\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'last_failure_time\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'state\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'success_count\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.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' => '#^Method App\\\Framework\\\CircuitBreaker\\\Events\\\CircuitBreakerClosed\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Events/CircuitBreakerClosed.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Events\\\CircuitBreakerEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Events/CircuitBreakerEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Events\\\CircuitBreakerHalfOpened\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Events/CircuitBreakerHalfOpened.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Events\\\CircuitBreakerOpened\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Events/CircuitBreakerOpened.php', ], [ 'message' => '#^Call to function is_callable\(\) with callable\(Throwable, string\)\: bool will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/FailurePredicate/CallbackFailurePredicate.php', ], [ 'message' => '#^Function class_basename not found\.$#', 'identifier' => 'function.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/FailurePredicate/ExceptionTypeFailurePredicate.php', ], [ 'message' => '#^Class App\\\Framework\\\Database\\\Exceptions\\\DatabaseException not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/FailurePredicate/FailurePredicateFactory.php', ], [ 'message' => '#^Parameter \#1 \$exceptionTypes of static method App\\\Framework\\\CircuitBreaker\\\FailurePredicate\\\ExceptionTypeFailurePredicate\:\:only\(\) expects array\\>, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/FailurePredicate/FailurePredicateFactory.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' => '#^Cannot access offset \'failure_count\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'last_failure_time\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'state\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'success_count\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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\\\CircuitBreaker\\\Registry\\\CacheBasedServiceRegistry\:\:discoverServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\CacheBasedServiceRegistry\:\:getAllServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\CacheBasedServiceRegistry\:\:getNamespaces\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, list given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\ServiceRegistry\:\:discoverServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/ServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\ServiceRegistry\:\:getAllServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/ServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\ServiceRegistry\:\:getNamespaces\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/ServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\SlidingWindow\\\CircuitBreakerSlidingWindow\:\:__construct\(\) has parameter \$slidingWindow with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/SlidingWindow/CircuitBreakerSlidingWindow.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\SlidingWindow\\\CircuitBreakerSlidingWindow\:\:getSlidingWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/SlidingWindow/CircuitBreakerSlidingWindow.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' => '#^Call to an undefined method App\\\Framework\\\Reflection\\\Collections\\\ParameterCollection\:\:getFirst\(\)\.$#', 'identifier' => 'method.notFound', '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' => '#^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' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, '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\:\: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' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toDateTimeString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/ValueObjects/SecurityContext.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/ValueObjects/SecurityContext.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/ValueObjects/SecurityContext.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' => '#^Function var_dump\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.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 \$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/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' => '#^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' => '#^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\:\:hasRelevantAttributes\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:hasRelevantAttributesWrappedMethod\(\) has parameter \$method with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:hasRelevantAttributesWrappedProperty\(\) has parameter \$property with no type specified\.$#', 'identifier' => 'missingType.parameter', '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\:\:processAttributes\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrapped\(\) has parameter \$attributes with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrappedMethod\(\) has parameter \$attributes with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrappedMethod\(\) has parameter \$method with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrappedProperty\(\) has parameter \$attributes with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrappedProperty\(\) has parameter \$property with no type specified\.$#', 'identifier' => 'missingType.parameter', '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' => '#^Parameter \#1 \$key of static method App\\\Framework\\\Cache\\\CacheKey\:\:fromString\(\) expects string, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.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/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' => '#^Parameter \#1 \$reflectionTarget of method App\\\Framework\\\Core\\\AttributeMapper\:\:map\(\) expects App\\\Framework\\\Reflection\\\WrappedReflectionClass\|App\\\Framework\\\Reflection\\\WrappedReflectionMethod, ReflectionClass\|ReflectionMethod given\.$#', 'identifier' => 'argument.type', '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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Commands/ClearDiscoveryCache.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/Core/ContainerBootstrapper.php', ], [ 'message' => '#^If condition is always false\.$#', 'identifier' => 'if.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ContainerBootstrapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ContainerBootstrapper\:\:tryLoadCompiledContainer\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ContainerBootstrapper.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 App\\\Framework\\\Core\\\ValueObjects\\\ClassName\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Cannot access offset 0 on App\\\Framework\\\Reflection\\\Collections\\\ParameterCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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 \#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/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' => '#^Parameter \#1 \$key of static method App\\\Framework\\\Cache\\\CacheKey\:\:fromString\(\) expects string, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', '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' => '#^Method App\\\Framework\\\Core\\\RouteCompiler\:\:createParameterCollection\(\) 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/RouteCompiler.php', ], [ 'message' => '#^Offset \'attributes\' on \*NEVER\* on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, '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 \'mapped_data\' on array\{method\: string, path\: string, controller\: class\-string, handler\: string\} on left side of \?\? does not exist\.$#', 'identifier' => 'nullCoalesce.offset', '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' => 4, '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' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Coordinates\:\:getHemisphere\(\) 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/Coordinates.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Coordinates\:\:toArray\(\) 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/Coordinates.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' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\FilePattern\:\:forExtensions\(\) has parameter \$extensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/FilePattern.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\FilePattern\:\:getExtensions\(\) 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/FilePattern.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\: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/Core/ValueObjects/Score.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:toArray\(\) 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/Score.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:weightedAverage\(\) has parameter \$scores with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Score.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:weightedAverage\(\) has parameter \$weights with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Score.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\\\Services\\\VersionParser\:\:buildParseResult\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/VersionParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\VersionParser\:\:buildParseResult\(\) 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/VersionParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\VersionParser\:\:parse\(\) 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/VersionParser.php', ], [ 'message' => '#^Call to function is_int\(\) with int will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Statistics.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/Core/ValueObjects/Statistics.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Timestamp.php', ], [ 'message' => '#^Direct instantiation of DateTime is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead for consistent timezone handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Timezone.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Timezone\:\:getContinent\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Timezone.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Timezone\:\:toArray\(\) 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/Timezone.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/Core/ValueObjects/Timezone.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 App\\\Infrastructure\\\GeoIp\\\CountryInfo\:\:getCountryCode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'country_frequency\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'request_intervals\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'timestamp\' on App\\\Framework\\\Cache\\\CacheItem\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'timestamps\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'total_requests\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Constant App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:BASELINE_PERIOD_HOURS is unused\.$#', 'identifier' => 'classConstant.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeAttackPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeCountryReputation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeCountryRisk\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeCountryVelocity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeGeographicDistribution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateAnalysisConfidence\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateCombinedAnomalyScore\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateRequestIntervals\(\) has parameter \$timestamps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateRequestIntervals\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateShannonEntropy\(\) has parameter \$frequency with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateTimingRegularity\(\) has parameter \$intervals with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:createSafeResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:detectAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:identifyRiskFactors\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:identifyRiskFactors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Offset \'attack_count\' does not exist on array\{reputation_score\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Offset \'baseline\' does not exist on array\{timestamps\: \(array\|null\)\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Offset \'country_frequency\' does not exist on array\{total_requests\: \(float\|int\<10001, max\>\), last_updated\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Offset \'total_requests\' does not exist on array\{reputation_score\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#1 \$array of function array_filter expects array, App\\\Framework\\\Cache\\\CacheResult given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function max expects non\-empty\-array, array\\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\)\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access an offset on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Cannot access offset \'avg\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Cannot access offset \'count\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Cannot access offset \'max\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Cannot access offset \'normal\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeBurstPattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeGlobalTraffic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeIpTraffic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzePathTraffic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeTemporalPattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeTrafficPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateAnalysisConfidence\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateAverage\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateCombinedThreatScore\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\: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/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:identifyAnomalyIndicators\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:identifyAnomalyIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Offset \'count\' does not exist on array\{sum\: float, avg\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Offset \'count\' does not exist on array\{sum\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.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/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \$values of method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateAverage\(\) expects array, App\\\Framework\\\Cache\\\CacheResult given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \$values of method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateStandardDeviation\(\) expects array, App\\\Framework\\\Cache\\\CacheResult given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, \(array\|null\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/ValueObjects/CountryRisk.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/ValueObjects/CountryVelocity.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/ValueObjects/GeographicDistribution.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\ServerEnvironment\:\:getRemoteAddress\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:analyzePatternEvolution\(\) has parameter \$historicalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:analyzePatternEvolution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:assessPatternSeverity\(\) has parameter \$patterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:calculatePatternConfidence\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:generatePatternFingerprint\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:getPatternAnalysisDetails\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:getPatternAnalysisDetails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:identifyAttackPatterns\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isAmplificationAttack\(\) has parameter \$trafficAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isApplicationLayerAttack\(\) has parameter \$wafAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isBotnetAttack\(\) has parameter \$signatureAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isDistributedAttack\(\) has parameter \$geoAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isProtocolAttack\(\) has parameter \$wafAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isSlowAttack\(\) has parameter \$trafficAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isVolumetricAttack\(\) has parameter \$trafficAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzeHttpMethodAppropriateness\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzePayloadCharacteristics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzeRequestFrequency\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzeRequestFrequency\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzeRequestSignature\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:calculateBotScore\(\) has parameter \$signature with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:createBehavioralProfile\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:createBehavioralProfile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:detectAutomationIndicators\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:detectAutomationIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:detectSessionHijackingIndicators\(\) has parameter \$sessionData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:detectSessionHijackingIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:identifyAccessPatterns\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:identifyAccessPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function max expects non\-empty\-array, list given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, list given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.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/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Ternary operator condition is always true\.$#', 'identifier' => 'ternary.alwaysTrue', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Variable \$userAgent on left side of \?\? always exists and is always null\.$#', 'identifier' => 'nullCoalesce.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ServiceHealthAnalyzer\:\:__construct\(\) has parameter \$services with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ServiceHealthAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ServiceHealthAnalyzer\:\:analyzeServiceHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ServiceHealthAnalyzer.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Components\\\ServiceHealthAnalyzer\:\:\$monitoredServices type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ServiceHealthAnalyzer.php', ], [ 'message' => '#^Cannot call method getThreatAssessment\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ThreatLevelCalculator\:\:__construct\(\) has parameter \$weights with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ThreatLevelCalculator\:\:calculateConfidence\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ThreatLevelCalculator\:\:calculateThreatLevel\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Components\\\ThreatLevelCalculator\:\:\$defaultWeights type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafLayer\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\WafDecision\:\:getThreatAssessment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Cannot call method debug\(\) on App\\\Framework\\\Logging\\\Logger\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Cannot call method warning\(\) on App\\\Framework\\\Logging\\\Logger\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\WafAnalysisAdapter\:\:analyzeRequest\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:__construct\(\) has parameter \$allowedCountries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:__construct\(\) has parameter \$blockedCountries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:__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/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:__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/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:getCircuitBreakerConfig\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:getRateLimitForIp\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Cannot call method toHumanReadable\(\) on App\\\Framework\\\Core\\\ValueObjects\\\Duration\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSProtectionEngine\:\:performMultiLayerAnalysis\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Missing parameter \$windowSeconds \(int\) in call to method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeTrafficPatterns\(\)\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Parameter \$cache of method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:detectAnomalies\(\) expects App\\\Framework\\\Cache\\\Cache, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Parameter \$geoIpService of method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:detectAnomalies\(\) expects App\\\Infrastructure\\\GeoIp\\\GeoIp, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Parameter \$rateLimiter of method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeTrafficPatterns\(\) expects App\\\Framework\\\RateLimit\\\RateLimiter, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\DDoSProtectionEngine\:\:\$securityLogger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Call to method executeAggressive\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeAggressive\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeChallenge\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\CaptchaStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeConnection\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeDistributed\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeImmediate\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeIntelligent\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeModerate\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeStandard\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeTarPit\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\TarPitStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Cannot access offset \'action_history\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Cannot access offset \'count\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Cannot access offset \'duration\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Cannot access offset \'timestamp\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:getResponseStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:getResponseStatistics\(\) should return array but returns App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:logSecurityEvent\(\) invoked with 1 parameter, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Negated boolean expression is always false\.$#', 'identifier' => 'booleanNot.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Offset \'action_history\' does not exist on array\{effectiveness\: array\{float\}\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \$confidence of method App\\\Framework\\\DDoS\\\DDoSConfig\:\:shouldLogAssessment\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Score, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \$exception of method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:logSecurityEvent\(\) expects App\\\Framework\\\Exception\\\SecurityException, array\\|float\|string\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \$exception of method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:logSecurityEvent\(\) expects App\\\Framework\\\Exception\\\SecurityException, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \$blockingStrategy of method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:__construct\(\) has invalid type App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \$captchaStrategy of method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:__construct\(\) has invalid type App\\\Framework\\\DDoS\\\Response\\\Strategies\\\CaptchaStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \$rateLimitingStrategy of method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:__construct\(\) has invalid type App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \$tarPitStrategy of method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:__construct\(\) has invalid type App\\\Framework\\\DDoS\\\Response\\\Strategies\\\TarPitStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$blockingStrategy has unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$captchaStrategy has unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\CaptchaStrategy as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$circuitBreaker is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$rateLimitingStrategy has unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$tarPitStrategy has unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\TarPitStrategy as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Headers\:\:merge\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\ValueObjects\\\DDoSResponse\:\:__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/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\ValueObjects\\\DDoSResponse\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\ValueObjects\\\DDoSResponse\:\:withMetadata\(\) has parameter \$additionalMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\DDoS\\\Response\\\ValueObjects\\\DDoSResponse constructor expects string\|null, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\AttackPattern\:\:getRecommendedMitigation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/AttackPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\DDoSAssessment\:\:getThreatIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/DDoSAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\DDoSAssessment\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/DDoSAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:__construct\(\) has parameter \$indicators with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:__construct\(\) has parameter \$sources with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:fromAnalyses\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:fromAnalyses\(\) has parameter \$weights with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\: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/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:getIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:getSources\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafConfig.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:APPLICATION_ABUSE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:BOT_DETECTION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:PROTOCOL_VIOLATION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Binary operation "\+" between App\\\Framework\\\Cache\\\CacheResult and 1 results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\HttpRequest\:\:getBody\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:getAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\LayerResult\:\:block\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\LayerResult\:\:pass\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'attack_count\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'counts\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'intervals\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'request_patterns\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'total_requests\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection constructor invoked with 0 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafLayer\:\:calculateAverageInterval\(\) has parameter \$timestamps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Negated boolean expression is always false\.$#', 'identifier' => 'booleanNot.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^PHPDoc tag @var with type array\\|int\> is not subtype of native type App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'varTag.nativeType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^PHPDoc tag @var with type array\\|float\|int\> is not subtype of native type App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'varTag.nativeType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \$detection of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:add\(\) expects App\\\Framework\\\Waf\\\Detection, App\\\Framework\\\Waf\\\ValueObjects\\\Detection given\.$#', 'identifier' => 'argument.type', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function stripos expects string, array\\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 9, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\|int\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\|float\|int\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int\<1, max\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#3 \$detections of static method App\\\Framework\\\Waf\\\LayerResult\:\:suspicious\(\) expects array, App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 9, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, \(float\|int\\) given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Unknown parameter \$evidence in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.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' => '#^Method App\\\Framework\\\DI\\\BindingRegistry\:\:getAllKeys\(\) 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' => '#^Call to an undefined method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:getClassName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:getType\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:getValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.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' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:compile\(\) has parameter \$options 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\:\:compileAsync\(\) has parameter \$options 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\:\:compileDependencyInjection\(\) has parameter \$dependencies with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:generateContainerCode\(\) has parameter \$options 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 \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\ContainerCompiler\:\:\$reflectionProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, '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' => 3, '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' => 1, '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' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ConstructorCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ConstructorCache.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:fromCacheInfo\(\) has parameter \$cacheInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/Dependency.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:getCacheInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/Dependency.php', ], [ 'message' => '#^Class App\\\Framework\\\DI\\\Dependency\\\DependencyCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/DependencyCollection.php', ], [ 'message' => '#^Class App\\\Framework\\\DI\\\Dependency\\\ParameterCacheCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ParameterCacheCollection\:\:getClassDependencies\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheCollection.php', ], [ 'message' => '#^Cannot call method getFullyQualified\(\) on App\\\Framework\\\Core\\\ValueObjects\\\ClassName\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ParameterCacheInfo\:\:fromArray\(\) has parameter \$cacheInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ParameterCacheInfo\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheInfo.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/DI/Dependency/ParameterCacheInfo.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/DI/Dependency/ParameterCacheInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ResolvedParameter\:\:getCacheInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ResolvedParameter.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DependencyResolver\:\:getCacheStats\(\) 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' => '#^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/DI/DependencyResolver.php', ], [ 'message' => '#^Parameter \#1 \$className of method App\\\Framework\\\DI\\\DependencyResolver\:\:resolveFromContainer\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\ClassName, App\\\Framework\\\Core\\\ValueObjects\\\ClassName\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.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/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\:\:hasCycle\(\) is unused\.$#', 'identifier' => 'method.unused', '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' => '#^Cannot call method getFullyQualified\(\) on string\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Reflection\\\WrappedReflectionClass and App\\\Framework\\\Reflection\\\WrappedReflectionClass will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', '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' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', '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' => '#^Method App\\\Framework\\\DI\\\InstanceRegistry\:\:getSingletons\(\) 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' => '#^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\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:aggregate\(\) has parameter \$namedQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:aggregate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchInsert\(\) 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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchInsert\(\) has parameter \$rows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchInsert\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchUpdate\(\) has parameter \$updates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchUpdate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:getTableStats\(\) 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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:getTableStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:queryMultiple\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:queryMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:queryReplicas\(\) 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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:queryReplicas\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:readAhead\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:readAhead\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.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/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:addQuery\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:avg\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:count\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\: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/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:executeAsReadAhead\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:executeInTransaction\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:max\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:min\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:select\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:selectColumn\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:selectOne\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:selectScalar\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:sum\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:\$queries type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:aggregate\(\) has parameter \$namedQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:aggregate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchInsert\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchInsert\(\) has parameter \$rows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchInsert\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchUpdate\(\) has parameter \$updates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchUpdate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:buildWhereClause\(\) has parameter \$conditions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:executeAsync\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:getTableStats\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:getTableStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:optimisticUpdate\(\) has parameter \$conditions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:optimisticUpdate\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryAsync\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryMultiple\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryReplicas\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryReplicas\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:readAhead\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:readAhead\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.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/Database/AsyncDatabaseDecorator.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\:\:has\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', '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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:has\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, '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\\\CacheResult 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\\\CacheResult\:\: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\\\Cache\\\CacheResult\:\:getValue\(\) invoked with 0 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 3, '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\:\:hasCollection\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:hasEntity\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:hasQueryResult\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', '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 \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$keys of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$keys of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$keys of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:has\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 3, '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' => '#^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' => '#^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' => '#^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' => '#^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' => '#^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' => '#^Call to an undefined method Traversable\\:\:current\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseDemo.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseDemo.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 13, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseDemo.php', ], [ 'message' => '#^Ternary operator condition is always true\.$#', 'identifier' => 'ternary.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseDemo.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:collectAnalyticsData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:generateSalesReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:getUserActivityTimeline\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:importUsers\(\) has parameter \$userData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:importUsers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:loadDashboardData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:loadProductPageData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:monitorDatabaseHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:preloadRelatedData\(\) has parameter \$productIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:preloadRelatedData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:updateOrderStatuses\(\) has parameter \$orderUpdates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:updateOrderStatuses\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.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/Examples/AsyncDatabaseExample.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' => '#^Call to an undefined method App\\\Framework\\\Database\\\ConnectionInterface\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:isHealthy\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Class App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker constructor invoked with 0 parameters, 1\-3 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Middleware\\\UnifiedRetryMiddleware\:\:\$retryManager is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/UnifiedRetryMiddleware.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 \#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/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' => '#^Variable \$className in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, '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' => '#^Variable \$fullClassName in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 2, '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' => '#^Comparison operation "\>" between array and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:extractValue\(\) has parameter \$cacheItem with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:extractValue\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:getCachedAttributes\(\) should return App\\\Framework\\\Discovery\\\Results\\\AttributeRegistry\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:getCachedInterfaces\(\) should return App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:getCachedRoutes\(\) should return App\\\Framework\\\Discovery\\\Results\\\RouteRegistry\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:getCachedTemplates\(\) should return App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Parameter \$templates of class App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry constructor expects App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry, App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Right side of && is always true\.$#', 'identifier' => 'booleanAnd.rightAlwaysTrue', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Constant App\\\Framework\\\Discovery\\\DiscoveryCache\:\:CACHE_TTL is unused\.$#', 'identifier' => 'classConstant.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryCache\:\:getDebugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryCache\:\:getWarmingMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\|bool\|float\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:addAttributes\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:addInterfaceImplementations\(\) 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/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:addRoutes\(\) 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/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:addTemplates\(\) 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/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:getMemoryStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\:\:add\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\:\:add\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Parameter \#1 \$mapping of method App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\:\:add\(\) expects App\\\Framework\\\Discovery\\\ValueObjects\\\InterfaceMapping, \(int\|string\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Parameter \#1 \$template of method App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\:\:add\(\) expects App\\\Framework\\\Discovery\\\ValueObjects\\\TemplateMapping, \(int\|string\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.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' => 1, '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' => '#^Using nullsafe property access "\?\-\>scanStrategy" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>showProgress" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:humanReadable\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/CacheHitEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\CacheHitEvent\:\: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/Events/CacheHitEvent.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:humanReadable\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryCompletedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\DiscoveryCompletedEvent\:\: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/Events/DiscoveryCompletedEvent.php', ], [ 'message' => '#^Call to method toArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\DiscoveryFailedEvent\:\: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/Events/DiscoveryFailedEvent.php', ], [ 'message' => '#^Parameter \$partialResults of method App\\\Framework\\\Discovery\\\Events\\\DiscoveryFailedEvent\:\:__construct\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryFailedEvent.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Events\\\DiscoveryFailedEvent\:\:\$partialResults has unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\DiscoveryStartedEvent\:\:__construct\(\) has parameter \$directories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryStartedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\DiscoveryStartedEvent\:\: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/Events/DiscoveryStartedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\FileProcessedEvent\:\:__construct\(\) has parameter \$discoveredItems with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/FileProcessedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\FileProcessedEvent\:\: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/Events/FileProcessedEvent.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/MemoryGuard.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\MemoryGuard\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/MemoryGuard.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/Discovery/MemoryGuard.php', ], [ 'message' => '#^Call to method getAllAttributeResults\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method getAllInterfaceImplementations\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method getRoutes\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method getTemplates\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method setAttributeResults\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method setInterfaceImplementations\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method setRoutes\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method setTemplates\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method toArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to static method fromArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:extractResultsForDirectory\(\) has invalid return type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:getCachedDirectories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:getPartialCache\(\) has invalid return type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:mergePartialCaches\(\) has invalid return type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:mergePartialCaches\(\) has parameter \$directories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:smartUpdate\(\) has parameter \$changedDirectories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \#2 \$results of method App\\\Framework\\\Discovery\\\DiscoveryCache\:\:set\(\) expects App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry, App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \$fullResults of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:extractResultsForDirectory\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \$fullResults of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:smartUpdate\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:countFilesInResults\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:updatePartialCache\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\AttributeRegistry\:\:getAllTypes\(\) 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/AttributeRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\AttributeRegistry\:\:getMemoryStats\(\) 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/AttributeRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry\:\:getMemoryStats\(\) 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/DiscoveryRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\:\:getAllInterfaces\(\) 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/InterfaceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\:\:getMemoryStats\(\) 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/InterfaceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\RouteRegistry\:\:getMemoryStats\(\) 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/RouteRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\:\:getMemoryStats\(\) 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/TemplateRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\DiscoveryStorage\:\:findChangedFiles\(\) has parameter \$fileMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/DiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\DiscoveryStorage\:\:incrementalScan\(\) has parameter \$fileMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/DiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\DiscoveryStorage\:\:incrementalScan\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/DiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\FileSystemDiscoveryStorage\:\:findChangedFiles\(\) has parameter \$fileMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/FileSystemDiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\FileSystemDiscoveryStorage\:\:findFilesRecursive\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/FileSystemDiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\FileSystemDiscoveryStorage\:\:incrementalScan\(\) has parameter \$fileMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/FileSystemDiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\FileSystemDiscoveryStorage\:\:incrementalScan\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/FileSystemDiscoveryStorage.php', ], [ 'message' => '#^Call to function method_exists\(\) with App\\\Framework\\\Core\\\InterfaceImplementationVisitor\|App\\\Framework\\\Core\\\RouteDiscoveryVisitor\|App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\|App\\\Framework\\\View\\\TemplateDiscoveryVisitor and \'onScanComplete\' will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Call to function method_exists\(\) with App\\\Framework\\\Core\\\InterfaceImplementationVisitor\|App\\\Framework\\\Core\\\RouteDiscoveryVisitor\|App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\|App\\\Framework\\\View\\\TemplateDiscoveryVisitor and \'onScanStart\' will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Call to function method_exists\(\) with App\\\Framework\\\View\\\TemplateDiscoveryVisitor and \'visitFile\' will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Constructor of class App\\\Framework\\\Discovery\\\UnifiedDiscoveryService has an unused parameter \$strategy\.$#', 'identifier' => 'constructor.unusedParameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Left side of && is always true\.$#', 'identifier' => 'booleanAnd.leftAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.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' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:applyMapperDirectly\(\) has parameter \$attribute with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:applyMapperDirectly\(\) has parameter \$mapper with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:applyMapperDirectly\(\) has parameter \$method with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:applyMapperDirectly\(\) return type has 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\:\:emitStartEvent\(\) has parameter \$directories 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\:\:estimateFiles\(\) has parameter \$directories 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\:\:extractAttributeArguments\(\) has parameter \$attribute with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:extractAttributeArguments\(\) return type has 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\:\:getHealthStatus\(\) return type has 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\:\:performDiscovery\(\) has parameter \$directories 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' => '#^Parameter \#2 \$results of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:updatePartialCache\(\) expects App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults, App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:\$circuitBreaker is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:\$circuitBreakerConfig is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:\$showProgress is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Class App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeCollection\:\:getIterator\(\) should return ArrayIterator\ but returns ArrayIterator\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:__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/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:__construct\(\) has parameter \$mappedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:forClass\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:forClass\(\) has parameter \$mappedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:forMethod\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:forMethod\(\) has parameter \$mappedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveredAttribute\:\: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/ValueObjects/DiscoveredAttribute.php', ], [ 'message' => '#^Call to method get\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method getAllAttributeResults\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method getAllInterfaceImplementations\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method getRoutes\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method getTemplates\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method toArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to static method fromArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\: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/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:getDebugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\: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/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \#1 \$microtime of static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:fromFloat\(\) expects float, float\|int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.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/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:__construct\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:calculateChecksum\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:create\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:withResults\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:\$results has unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\MemoryLeakInfo\:\: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/ValueObjects/MemoryLeakInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:__construct\(\) has parameter \$constraints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:__construct\(\) has parameter \$defaults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:__construct\(\) has parameter \$middleware with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:create\(\) has parameter \$constraints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:create\(\) has parameter \$defaults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:create\(\) has parameter \$middleware with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\ScanStrategy\:\:getPriorityDirectories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/ScanStrategy.php', ], [ 'message' => '#^Call to method getParameters\(\) on an unknown class App\\\Framework\\\Discovery\\\Visitors\\\ReflectionMethod\.$#', 'identifier' => 'class.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\:\:extractAttributeArguments\(\) 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\(\) is unused\.$#', 'identifier' => 'method.unused', '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\:\:extractMethodParametersFromWrapped\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:extractMethodParametersFromWrapped\(\) 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\:\:getCacheableData\(\) 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' => '#^Parameter \$method of method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:extractMethodParameters\(\) has invalid type App\\\Framework\\\Discovery\\\Visitors\\\ReflectionMethod\.$#', 'identifier' => 'class.notFound', '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\\\CacheResult 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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', '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\\\CacheResult 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\\\CacheResult 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\\\CacheResult 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 \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey 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' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\Cache\\\CacheResult 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' => '#^Parameter \$userAgent of class App\\\Framework\\\ErrorAggregation\\\ErrorEvent constructor expects string\|null, App\\\Framework\\\UserAgent\\\UserAgent\|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\\\Async\\\AsyncBoundaryFailedException\:\:getErrorDetails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBoundaryFailedException.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/ErrorBoundaries/Async/AsyncBoundaryFailedException.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/ErrorBoundaries/Async/AsyncBoundaryFailedException.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\:__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/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\:__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/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\:getErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\:getSuccessfulResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\: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/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\: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/Async/AsyncBulkResult.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/ErrorBoundaries/Async/AsyncCircuitBreakerOpenException.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/ErrorBoundaries/Async/AsyncCircuitBreakerOpenException.php', ], [ 'message' => '#^Invalid type Throwable\|null to throw\.$#', 'identifier' => 'throw.notThrowable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncErrorBoundary\:\:executeConcurrent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncErrorBoundary\:\: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/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncErrorBoundary\:\:publishEvent\(\) has parameter \$event with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^PHPDoc tag @return contains generic type App\\\Framework\\\Async\\\AsyncPromise\ but class App\\\Framework\\\Async\\\AsyncPromise is not generic\.$#', 'identifier' => 'generics.notGeneric', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^PHPDoc tag @return contains generic type App\\\Framework\\\Async\\\AsyncPromise\ but class App\\\Framework\\\Async\\\AsyncPromise is not generic\.$#', 'identifier' => 'generics.notGeneric', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^PHPDoc tag @return contains generic type App\\\Framework\\\Async\\\AsyncPromise\ but class App\\\Framework\\\Async\\\AsyncPromise is not generic\.$#', 'identifier' => 'generics.notGeneric', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.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' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerManager\:\:getAllCircuitStates\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerManager\:\:getCircuitHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerManager\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerManager\:\: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/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerState\:\: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/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerState.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerState\:\: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/CircuitBreaker/BoundaryCircuitBreakerState.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' => '#^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\:\:getCircuitHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', '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' => '#^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' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryCircuitBreakerRecovered\:\:__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/ErrorBoundaries/Events/BoundaryCircuitBreakerRecovered.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryCircuitBreakerRecovered\:\: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/Events/BoundaryCircuitBreakerRecovered.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryCircuitBreakerTripped\:\:__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/ErrorBoundaries/Events/BoundaryCircuitBreakerTripped.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryCircuitBreakerTripped\:\: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/Events/BoundaryCircuitBreakerTripped.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryEventInterface\:\: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/Events/BoundaryEventInterface.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryEventInterface\:\:\$context type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Events/BoundaryEventInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryEventPublisher\:\:publishBatch\(\) has parameter \$events with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Events/BoundaryEventPublisher.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryExecutionFailed\:\:__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/ErrorBoundaries/Events/BoundaryExecutionFailed.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryExecutionFailed\:\: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/Events/BoundaryExecutionFailed.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryExecutionSucceeded\:\:__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/ErrorBoundaries/Events/BoundaryExecutionSucceeded.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryExecutionSucceeded\:\: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/Events/BoundaryExecutionSucceeded.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryFallbackExecuted\:\:__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/ErrorBoundaries/Events/BoundaryFallbackExecuted.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryFallbackExecuted\:\: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/Events/BoundaryFallbackExecuted.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:diff\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Events/BoundaryTimeoutOccurred.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryTimeoutOccurred\:\:__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/ErrorBoundaries/Events/BoundaryTimeoutOccurred.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryTimeoutOccurred\:\: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/Events/BoundaryTimeoutOccurred.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/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isLessThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Metrics\\\BoundaryMetrics\:\: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/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Parameter \#1 \$nanoseconds of class App\\\Framework\\\Core\\\ValueObjects\\\Duration constructor expects int, float given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Responses\\\JsonResponse\:\:withHeader\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Callable App\\\Framework\\\Http\\\Next invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ApiErrorBoundaryMiddleware\:\:createApiErrorResponse\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ApiErrorBoundaryMiddleware\:\:extractEndpoint\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ApiErrorBoundaryMiddleware\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Callable App\\\Framework\\\Http\\\Next invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Comparison operation "\>" between int\<1, max\> and 0 is always true\.$#', 'identifier' => 'greater.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Match arm comparison between \'critical\' and \'critical\' is always true\.$#', 'identifier' => 'match.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:__construct\(\) has parameter \$monitoredBoundaries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:calculateHealthScore\(\) has parameter \$healthData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:generateRecommendations\(\) has parameter \$healthData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:generateRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:getMonitoredBoundaries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:getRecommendationForBoundary\(\) has parameter \$health with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:getRecommendationForBoundary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:isHealthCheckRequest\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\MiddlewareContext\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Callable App\\\Framework\\\Http\\\Next invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:acceptsJson\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createFallbackResponse\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createFallbackResponse\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createHtmlFallbackResponse\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createHtmlFallbackResponse\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createJsonFallbackResponse\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:extractRouteName\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:getFallbackHtmlContent\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$metaData of class App\\\Framework\\\Router\\\Result\\\ViewResult constructor expects App\\\Framework\\\Meta\\\MetaData, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$data of class App\\\Framework\\\Router\\\Result\\\ViewResult constructor expects array, App\\\Framework\\\Http\\\Status\:\:SERVICE_UNAVAILABLE given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Http\\\MiddlewarePriority\:\:HIGH\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\MiddlewareManager\:\:isRegistered\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\MiddlewareManager\:\:register\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\MiddlewareManager\:\:unregister\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:getMonitoredBoundaries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:registerCustom\(\) has parameter \$constructorArgs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:shouldApplyApiMiddleware\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:shouldApplyHealthMiddleware\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:shouldApplyMainMiddleware\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$apiPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$enabledRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$excludedRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$healthPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$routeConfigurations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:getDefaultRouteConfigurations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DI\\\Container\:\:bindInstance\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareServiceProvider.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DI\\\Container\:\:getOptional\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareServiceProvider.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareServiceProvider\:\:getDefaultMonitoredBoundaries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareServiceProvider.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' => 3, '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\:\: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\:\: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' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ValueObjects/ErrorAnomaly.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' => '#^Cannot access offset \'count\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorAnomaly\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'count\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorVelocity\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'direction\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorVelocity\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'period\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorAnomaly\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'period\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorVelocity\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'type\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorAnomaly\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'velocity_percent\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorVelocity\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'z_score\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorAnomaly\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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' => 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' => '#^Cannot access offset 0 on App\\\Framework\\\Reflection\\\Collections\\\ParameterCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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' => '#^Method App\\\Framework\\\Filesystem\\\Directory\:\:buildTree\(\) return type has 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\:\:getContentsOptimized\(\) return type has 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\:\:getTree\(\) return type has 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 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, App\\\Framework\\\Core\\\ValueObjects\\\Byte\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/File.php', ], [ 'message' => '#^Parameter \#1 \$microtime of static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:fromFloat\(\) expects float, App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/File.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileMetadata\:\: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/Filesystem/FileMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileMetadata\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileMetadata.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:equals\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Byte, App\\\Framework\\\Core\\\ValueObjects\\\Byte\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileMetadata.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:equals\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Timestamp, App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileMetadata.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' => '#^Property App\\\Framework\\\Filesystem\\\FileScanner\:\:\$fileSystemService is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileScanner.php', ], [ 'message' => '#^Property App\\\Framework\\\Filesystem\\\FileScanner\:\:\$memoryMonitor is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileScanner.php', ], [ 'message' => '#^Class App\\\Framework\\\DateTime\\\SystemTimer does not have a constructor and must be instantiated without any parameters\.$#', 'identifier' => 'new.noConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.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' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\Storage\:\:read\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileSystemService\:\:streamFileChunks\(\) has invalid return type App\\\Framework\\\Filesystem\\\Generator\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileSystemService\:\:streamFileLines\(\) has invalid return type App\\\Framework\\\Filesystem\\\Generator\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.php', ], [ 'message' => '#^PHPDoc tag @return with type App\\\Framework\\\Filesystem\\\Generator\ is not subtype of native type Generator\.$#', 'identifier' => 'return.phpDocType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.php', ], [ 'message' => '#^Parameter \#2 \$length of function fread expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.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' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\File\:\:exists\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.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' => '#^Missing parameter \$metadata \(App\\\Framework\\\Filesystem\\\FileMetadata\) in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, '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\)\: mixed, size\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: mixed, lastModified\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: mixed\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \#1 \$path of class App\\\Framework\\\Filesystem\\\File constructor expects App\\\Framework\\\Filesystem\\\FilePath, App\\\Framework\\\Filesystem\\\FilePath\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \#2 \$metadata of class App\\\Framework\\\Filesystem\\\File constructor expects App\\\Framework\\\Filesystem\\\FileMetadata, App\\\Framework\\\Filesystem\\\Storage given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \$path of class App\\\Framework\\\Filesystem\\\File constructor expects App\\\Framework\\\Filesystem\\\FilePath, App\\\Framework\\\Filesystem\\\FilePath\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Unknown parameter \$contents in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Unknown parameter \$lastModified in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Unknown parameter \$size in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Unknown parameter \$storage in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.unknown', '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' => '#^Class App\\\Framework\\\DateTime\\\SystemTimer does not have a constructor and must be instantiated without any parameters\.$#', 'identifier' => 'new.noConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/InMemoryStorage.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' => 23, '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\\\Core\\\ValueObjects\\\Timestamp\:\:getValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/FileCollection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\File\:\:getBasename\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/FileCollection.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Filesystem\\\File and App\\\Framework\\\Filesystem\\\File will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/FileCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\ValueObjects\\\FileCollection\:\:getTotalSize\(\) should return int but returns float\|int\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/FileCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\ValueObjects\\\ScannerMemoryUsage\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/ScannerMemoryUsage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\ValueObjects\\\ScannerMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/ScannerMetrics.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' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', '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' => '#^Call to an undefined static method App\\\Framework\\\Exception\\\ExceptionContext\:\:create\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Exceptions/MiddlewareTimeoutException.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' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Metrics/MiddlewareMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Metrics\\\MiddlewareMetrics\:\:__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/Http/Metrics/MiddlewareMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Metrics\\\MiddlewareMetrics\:\: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/Metrics/MiddlewareMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Metrics\\\MiddlewareMetrics\:\: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/Metrics/MiddlewareMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:keys\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Metrics/MiddlewareMetricsCollector.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Metrics/MiddlewareMetricsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Metrics\\\MiddlewareMetricsCollector\:\:getAllMetricsAsArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Metrics/MiddlewareMetricsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareCircuitBreaker\:\:getMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareCircuitBreaker\:\:getMetrics\(\) should return array but returns App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareCircuitBreaker.php', ], [ 'message' => '#^Call to function is_object\(\) with object will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareInvoker\:\:__construct\(\) has parameter \$middlewareTimeouts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.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' => '#^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 \$key of method App\\\Framework\\\Cache\\\Cache\:\:remember\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Parameter \#1 \$middlewareClasses of method App\\\Framework\\\Http\\\MiddlewareDependencyResolver\:\:getDependencyInfo\(\) expects array\, array\ given\.$#', 'identifier' => 'argument.type', '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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Parameter \#3 \$ttl of method App\\\Framework\\\Cache\\\Cache\:\:remember\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Duration\|null, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, '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' => '#^Call to an undefined method App\\\Framework\\\Http\\\Headers\:\:merge\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.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/DDoSProtectionMiddleware.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/DDoSProtectionMiddleware.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/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\DDoSProtectionMiddleware\:\:logThreatDetection\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$duration of method App\\\Framework\\\DateTime\\\Timer\:\:sleep\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Duration, int\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$request of method App\\\Framework\\\DDoS\\\DDoSProtectionEngine\:\:analyzeRequest\(\) expects App\\\Framework\\\Http\\\HttpRequest, App\\\Framework\\\Http\\\Request given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$status of class App\\\Framework\\\Http\\\HttpResponse constructor expects App\\\Framework\\\Http\\\Status, App\\\Framework\\\Http\\\Status\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$headers of class App\\\Framework\\\Http\\\HttpResponse constructor expects App\\\Framework\\\Http\\\Headers, App\\\Framework\\\Http\\\Headers\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$request of method App\\\Framework\\\DDoS\\\DDoSProtectionEngine\:\:executeResponse\(\) expects App\\\Framework\\\Http\\\HttpRequest, App\\\Framework\\\Http\\\Request given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.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/Http/Middlewares/DDoSProtectionMiddleware.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' => '#^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 \$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\-falsy\-string 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\:\: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\\\Response, 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' => '#^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' => '#^Parameter \#2 \$headers of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Headers, App\\\Framework\\\Http\\\Headers\|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' => '#^Call to an undefined method App\\\Framework\\\Http\\\RequestId\:\:value\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\LayerResult\:\:getStatus\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:getAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.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/WafMiddleware.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/WafMiddleware.php', ], [ 'message' => '#^Cannot access property \$statusCode on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\WafMiddleware\:\:formatDetections\(\) 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/WafMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$status of class App\\\Framework\\\Http\\\HttpResponse constructor expects App\\\Framework\\\Http\\\Status, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$status of class App\\\Framework\\\Http\\\Responses\\\JsonResponse constructor expects App\\\Framework\\\Http\\\Status, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, App\\\Framework\\\Http\\\Headers given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$path \(string\) on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.property', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.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' => '#^Dead catch \- InvalidArgumentException is never thrown in the try block\.$#', 'identifier' => 'catch.neverThrown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/CookieParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\CookieParser\:\:parseSetCookieHeader\(\) should return array\{name\: string, value\: string, expires\?\: string, max\-age\?\: int, domain\?\: string, path\?\: string, secure\?\: bool, httponly\?\: bool, \.\.\.\} but returns array\{name\: string, value\: string, samesite\?\: string\|null, httponly\?\: true, secure\?\: true, path\?\: string\|null, domain\?\: string\|null, max\-age\?\: int, \.\.\.\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/CookieParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\CookieParser\:\:parseSetCookieHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/CookieParser.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/Http/Parser/CookieParser.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\FileUploadParser\:\:decodeExtendedFilename\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\FileUploadParser\:\:detectMimeType\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Offset 0 on non\-empty\-list\ on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Class App\\\Framework\\\Http\\\Parser\\\QueryStringParser constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FormDataParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\FormDataParser\:\:assignNestedValue\(\) 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/Parser/FormDataParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\FormDataParser\:\:assignNestedValue\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FormDataParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\HeaderParser\:\:parseContentType\(\) should return array\{type\: string, charset\?\: string, boundary\?\: string\} but returns non\-empty\-array\<\'boundary\'\|\'charset\'\|\'type\', string\>\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HeaderParser.php', ], [ 'message' => '#^Strict comparison using \!\=\= between array and false will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HeaderParser.php', ], [ 'message' => '#^Parameter \#1 \$contentType of method App\\\Framework\\\Http\\\Parser\\\FormDataParser\:\:parse\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#1 \$contentType of method App\\\Framework\\\Http\\\Parser\\\HttpRequestParser\:\:extractBoundary\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.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/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fwrite expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.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/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#1 \$stream of method App\\\Framework\\\Http\\\Parser\\\StreamingParser\:\:streamMultipart\(\) expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#2 \$callback of function array_any expects callable\(\'/auth/i\'\|\'/key/i\'\|\'/password/i\'\|\'/secret/i\'\|\'/session/i\'\|\'/token/i\', 0\|1\|2\|3\|4\|5\)\: bool, Closure\(mixed\)\: \(0\|1\|false\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/ParserCache.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:isLessThanOrEqual\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/ParserConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\ParserConfig\:\:__construct\(\) has parameter \$allowedFileExtensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/ParserConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\ParserConfig\:\:__construct\(\) has parameter \$blockedFileExtensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/ParserConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\QueryStringParser\:\:assignArrayValue\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/QueryStringParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\QueryStringParser\:\:assignArrayValue\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/QueryStringParser.php', ], [ 'message' => '#^Constant App\\\Framework\\\Http\\\Parser\\\StreamingParser\:\:DOUBLE_CRLF is unused\.$#', 'identifier' => 'classConstant.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/StreamingParser.php', ], [ 'message' => '#^Parameter \#2 \$length of function fread expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/StreamingParser.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' => '#^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' => '#^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' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FlashBag.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' => '#^Method App\\\Framework\\\Http\\\Session\\\FlashBag\:\:getError\(\) 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\:\:getInfo\(\) 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\:\:getSuccess\(\) 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\:\:getWarning\(\) 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' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.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' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\Session\:\:getUserData\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\Session\:\:hasUserData\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\Session\:\:removeUserData\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\Session\:\:setUserData\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:addValidationErrors\(\) 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/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:displaySessionInfo\(\) 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/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:handleComplexOperation\(\) 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/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:handleComplexOperation\(\) has parameter \$formData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:handleFormSubmission\(\) has parameter \$formFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionFingerprint\:\:normalizeUserAgent\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionFingerprint.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' => '#^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' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\CsrfDataCollection\:\:__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/Http/Session/ValueObjects/CsrfDataCollection.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessage\:\:error\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessage\:\:info\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessage\:\: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/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessage\:\:warning\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.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/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessageCollection\:\:addError\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessageCollection\:\:addInfo\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessageCollection\:\:addSuccess\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessageCollection\:\:addWarning\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FormData.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FormData.php', ], [ 'message' => '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FormDataCollection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/SecurityData.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/SecurityData.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/SecurityData.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\SecurityData\:\: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/Http/Session/ValueObjects/SecurityData.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\SecurityDataCollection\:\:withValue\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/SecurityDataCollection.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/Http/Session/ValueObjects/SecurityDataCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\SessionData\:\: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/Http/Session/ValueObjects/SessionData.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/ValidationError.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/ValidationError.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\ValidationError\:\: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/Http/Session/ValueObjects/ValidationError.php', ], [ 'message' => '#^Call to function is_array\(\) with array\\> will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/ValidationErrorCollection.php', ], [ 'message' => '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/ValidationErrorCollection.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/Session/ValueObjects/ValidationErrorCollection.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\:\: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\(\) 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' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\Http\\\UploadedFiles\:\:\$files\.$#', 'identifier' => 'argument.byRef', '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\\\AsyncAwareHttpClient\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncAwareHttpClient.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Invalid type Exception\|null to throw\.$#', 'identifier' => 'throw.notThrowable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:aggregate\(\) has parameter \$namedRequests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:aggregate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:collect\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:collect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:fanOut\(\) has parameter \$urls with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:fanOut\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:healthCheck\(\) has parameter \$urls with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:healthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:race\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:sendBatch\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:sendMultiple\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:sendMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:addRequest\(\) 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/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:collect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:execute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:executeAsAggregation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:executeAsHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:postJson\(\) 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/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:postJson\(\) 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/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:putJson\(\) 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/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:\$requests type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Invalid type Exception\|null to throw\.$#', 'identifier' => 'throw.notThrowable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:aggregate\(\) has parameter \$namedRequests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:aggregate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:collect\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:collect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:fanOut\(\) has parameter \$urls with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:fanOut\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:healthCheck\(\) has parameter \$urls with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:healthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:race\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:sendBatch\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:sendMultiple\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:sendMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Undefined variable\: \$key$#', 'identifier' => 'variable.undefined', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.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' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:checkSystemHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:collectServerMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:loadProductPage\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:loadUserDashboard\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:processUsers\(\) has parameter \$userIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:processUsers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:runAbTestAnalysis\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:searchProducts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:sendNotifications\(\) has parameter \$message with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:sendNotifications\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:syncUserData\(\) has parameter \$userData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:syncUserData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 14, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientDemo.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientDemo.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:checkSystemHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:collectMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:getExternalData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:getProductDetails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:getSlowApiData\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:getSlowApiData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:loadDashboardData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:processUserUploads\(\) has parameter \$userIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:processUserUploads\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:reliableApiCall\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:searchProducts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:sendNotificationToAllChannels\(\) has parameter \$message with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:sendNotificationToAllChannels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\HttpClient\\\ClientRequest constructor expects array\|string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.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\\\CacheResult 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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/CachingMiddleware.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/CachingMiddleware.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', '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' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientRequest\:\:getMethod\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientRequest\:\:getUri\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Middleware\\\UnifiedRetryMiddleware\:\:__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/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\HttpClient\\\Middleware\\\UnifiedRetryMiddleware\:\:\$retryManager is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/UnifiedRetryMiddleware.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' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogConfig.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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheResult 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 method discover\(\) on an unknown class App\\\Framework\\\Core\\\AttributeDiscoveryService\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Class App\\\Framework\\\Core\\\AttributeDiscoveryService not found\.$#', 'identifier' => 'class.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' => '#^Parameter \$discoveryService of method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:__construct\(\) has invalid type App\\\Framework\\\Core\\\AttributeDiscoveryService\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Property App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:\$discoveryService has unknown class App\\\Framework\\\Core\\\AttributeDiscoveryService as its type\.$#', 'identifier' => 'class.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' => 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' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Match expression does not handle remaining value\: string$#', 'identifier' => 'match.unhandled', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:__construct\(\) has parameter \$stateManager with generic interface App\\\Framework\\\StateManagement\\\StateManagerInterface but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:aggregateBoundaryMetrics\(\) has parameter \$existing with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:aggregateBoundaryMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:aggregateCircuitMetrics\(\) has parameter \$existing with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:aggregateCircuitMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeBoundaryPerformance\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeBoundaryPerformance\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeCircuitPerformance\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeCircuitPerformance\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeTrends\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:calculateBoundaryHealthStatus\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:calculateHealthStatus\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:generateAlerts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getActiveBoundaries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getActiveCircuits\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getAggregatedBoundaryMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getAggregatedCircuitMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getBoundaryHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getCircuitBreakerDashboard\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getCircuitBreakerTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getCircuitHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getErrorBoundaryDashboard\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getMetricsInTimeRange\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getPerformanceAnalytics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Property App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\CircuitBreakerMetrics\:\: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/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\CircuitBreakerMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 11, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\:__construct\(\) has parameter \$errorTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\: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/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\:getErrorTypeDistribution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\:getMostCommonErrorType\(\) should return string\|null but returns int\|string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\MonitoringAlert\:\:__construct\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\MonitoringAlert\:\: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/Monitoring/MonitoringAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\MonitoringAlert\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringAlert.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\MonitoringConfig\:\:__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/Monitoring/MonitoringConfig.php', ], [ 'message' => '#^Parameter \#1 \$nanoseconds of class App\\\Framework\\\Core\\\ValueObjects\\\Duration constructor expects int, float given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringConfig.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\SystemHealthSummary\:\: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/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\SystemHealthSummary\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\SystemHealthSummary\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.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' => '#^Match expression does not handle remaining value\: App\\\Framework\\\Performance\\\PerformanceCategory\:\:SECURITY$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceConfig.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 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\:\: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\:\: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\\\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' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\:__construct\(\) 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/ValueObjects/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\:compareWith\(\) 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/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\: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/Performance/ValueObjects/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\:getMetrics\(\) 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/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\:getRecommendations\(\) 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/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\: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/PerformanceScore.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' => '#^Cannot access offset 0 on App\\\Framework\\\Reflection\\\Collections\\\ParameterCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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' => '#^Call to method serialize\(\) on an unknown class App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Call to method unserialize\(\) on an unknown class App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Default value of the parameter \#2 \$serializer \(App\\\Framework\\\Cache\\\Serializer\\\PhpSerializer\) of method App\\\Framework\\\Queue\\\FileQueue\:\:__construct\(\) is incompatible with type App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'parameter.defaultValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.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 \$serializer of method App\\\Framework\\\Queue\\\FileQueue\:\:__construct\(\) has invalid type App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Property App\\\Framework\\\Queue\\\FileQueue\:\:\$serializer has unknown class App\\\Framework\\\Cache\\\Serializer as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Call to method serialize\(\) on an unknown class App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Call to method unserialize\(\) on an unknown class App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Default value of the parameter \#3 \$serializer \(App\\\Framework\\\Cache\\\Serializer\\\PhpSerializer\) of method App\\\Framework\\\Queue\\\RedisQueue\:\:__construct\(\) is incompatible with type App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'parameter.defaultValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Parameter \$serializer of method App\\\Framework\\\Queue\\\RedisQueue\:\:__construct\(\) has invalid type App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Property App\\\Framework\\\Queue\\\RedisQueue\:\:\$serializer has unknown class App\\\Framework\\\Cache\\\Serializer as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Examples/SlidingWindowRateLimitExample.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Examples/SlidingWindowRateLimitExample.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitConfig\:\:__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/RateLimit/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitConfig\:\:__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/RateLimit/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$anomalyIndicators with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$attackPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$burstAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$geoAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$performanceMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$responseStrategies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$trafficAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:getRecommendedStrategy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:suspicious\(\) has parameter \$suspicionData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:toAnalysisArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:withThreatAnalysis\(\) has parameter \$analysisData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:analyzeTrafficPatterns\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:analyzeTrafficPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:calculateThreatScore\(\) has parameter \$burstAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:calculateThreatScore\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:checkLimitWithAnalysis\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:detectBurstPattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAnomalyIndicators\(\) has parameter \$burstAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAnomalyIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAttackPatterns\(\) has parameter \$burstAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAttackPatterns\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAttackPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.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 \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, list\<\(float\|int\)\> 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' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:analyzeUserAgent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:checkLimitWithAnalysis\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:enhanceAnalysisWithContext\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:enhanceAnalysisWithContext\(\) has parameter \$threatAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:enhanceAnalysisWithContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:getAdvancedAnalytics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.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/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:SECOND\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Cannot access property \$threatAnalysis on class\-string\|object\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Cannot call method getBurstAnalysis\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Cannot call method getSum\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowTokenBucket\:\:consumeWithAnalysis\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowTokenBucket\:\:getAnalytics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Property App\\\Framework\\\RateLimit\\\SlidingWindowTokenBucket\:\:\$analyticsWindow with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Property App\\\Framework\\\RateLimit\\\SlidingWindowTokenBucket\:\:\$tokenWindow with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\Storage\\\CacheStorage\:\:getBaseline\(\) 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' => '#^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' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheResult and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', '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' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/CacheStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\Storage\\\StorageInterface\:\:getBaseline\(\) 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' => '#^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' => '#^Call to an undefined method App\\\Framework\\\Reflection\\\WrappedReflectionClass\:\:getNativeClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/BatchOperations/ReflectionBatchProcessor.php', ], [ 'message' => '#^Parameter \#2 \$methodName of method App\\\Framework\\\Reflection\\\Contracts\\\MethodReflector\:\:getMethod\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Builder/ReflectionBuilder.php', ], [ 'message' => '#^Parameter \#2 \$methodName of method App\\\Framework\\\Reflection\\\Contracts\\\MethodReflector\:\:getMethodAttributes\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Builder/ReflectionBuilder.php', ], [ 'message' => '#^Parameter \#2 \$methodName of method App\\\Framework\\\Reflection\\\Contracts\\\MethodReflector\:\:getMethodParameters\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Builder/ReflectionBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Reflection\\\Builder\\\ReflectionBuilder\:\:\$attributeFlags is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Builder/ReflectionBuilder.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:extractMetadata\(\) has parameter \$class with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:getMetadata\(\) has parameter \$reflectionClass with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:getMetadataMultiple\(\) has parameter \$reflectionClasses with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:getMetadataMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MethodCache.php', ], [ 'message' => '#^PHPDoc tag @return with type array\ is incompatible with native type App\\\Framework\\\Core\\\ValueObjects\\\Statistics\.$#', 'identifier' => 'return.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MethodCache.php', ], [ 'message' => '#^PHPDoc tag @return with type array\ is incompatible with native type App\\\Framework\\\Core\\\ValueObjects\\\Statistics\.$#', 'identifier' => 'return.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/ParameterCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\CachedReflectionProvider\:\:getAttributeInstances\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/CachedReflectionProvider.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\CachedReflectionProvider\:\:getMethodAttributeInstances\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/CachedReflectionProvider.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionEnum constructor expects class\-string\\|UnitEnum, class\-string given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/CachedReflectionProvider.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:storeMetadata\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Call to an undefined method ReflectionClass\\:\:getCases\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\LazyReflectionProxy\:\:getReflectionClass\(\) should return ReflectionClass\ but returns ReflectionClass\\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Parameter \#1 \$object_or_class of function is_a expects object\|string, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Property App\\\Framework\\\Reflection\\\LazyReflectionProxy\:\:\$metadata \(array\\|null\) is never assigned array\ so it can be removed from the property type\.$#', 'identifier' => 'property.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Property App\\\Framework\\\Reflection\\\LazyReflectionProxy\:\:\$metadata is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Variable \$hitRatio on left side of \?\? always exists and is always null\.$#', 'identifier' => 'nullCoalesce.variable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/ReflectionCache.php', ], [ 'message' => '#^Variable \$className in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Strategies/CacheWarmupStrategy.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\\\Retry\\\Events\\\RetryAttemptEvent\:\:__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/Retry/Events/RetryAttemptEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Events\\\RetryFailedEvent\:\:__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/Retry/Events/RetryFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Events\\\RetryFailedEvent\:\:getAttemptHistory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Events/RetryFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Events\\\RetrySucceededEvent\:\:__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/Retry/Events/RetrySucceededEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Metrics\\\RetryMetrics\:\:getMostCommonExceptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Metrics/RetryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Metrics\\\RetryMetrics\:\:getMostRetriedOperations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Metrics/RetryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Metrics\\\RetryMetrics\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Metrics/RetryMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Retry\\\Metrics\\\RetryMetrics\:\:\$stats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Metrics/RetryMetrics.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\DI\\\Initializer does not have the class target\.$#', 'identifier' => 'attribute.target', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryInitializer.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\RetryManager\:\: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/Retry/RetryManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Retry\\\RetryManager\:\:\$context type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\RetryResult\:\:__construct\(\) has parameter \$attemptHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\RetryResult\:\:failure\(\) has parameter \$history with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\RetryResult\:\:success\(\) has parameter \$history with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryResult.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Strategies/ExponentialBackoffStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Strategies\\\ExponentialBackoffStrategy\:\:__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/Retry/Strategies/ExponentialBackoffStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Strategies\\\FixedRetryStrategy\:\:__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/Retry/Strategies/FixedRetryStrategy.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Strategies/LinearDelayStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Strategies\\\LinearDelayStrategy\:\:__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/Retry/Strategies/LinearDelayStrategy.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' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:prepareParametersFromCollection\(\) 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\:\:prepareParametersFromCollection\(\) 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' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:resolveParameter\(\) has parameter \$param 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\:\:resolveParameter\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:resolveTypedParameter\(\) 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' => '#^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/Router/ParameterProcessor.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 3, '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' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\MethodParameter\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/MethodParameter.php', ], [ 'message' => '#^Class App\\\Framework\\\Router\\\ValueObjects\\\ParameterCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterCollection\:\:getIterator\(\) should return ArrayIterator\ but returns ArrayIterator\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:custom\(\) has parameter \$constraint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:enum\(\) has parameter \$allowedValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:getDebugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:getOptionalParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:getParameterNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:getRequiredParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:sort\(\) has parameter \$allowedFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:with\(\) has parameter \$constraint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:except\(\) has parameter \$keys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:fromArray\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:getArray\(\) has parameter \$default with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:getArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:getDebugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:keys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:merge\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:only\(\) has parameter \$keys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:validateAndNormalize\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:validateAndNormalize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:values\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:\$parameters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.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\\\CacheResult 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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', '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' => '#^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/Serializer/Json/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/Serializer/Json/JsonSerializer.php', ], [ 'message' => '#^Strict comparison using \=\=\= between non\-empty\-string and false will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/Json/JsonSerializer.php', ], [ 'message' => '#^Parameter \#1 \$callback of function set_error_handler expects \(callable\(int, string, string, int\)\: bool\)\|null, Closure\(\)\: void given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/Php/PhpSerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\Php\\\PhpSerializerConfig\:\:__construct\(\) has parameter \$allowedClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/Php/PhpSerializerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\Php\\\PhpSerializerConfig\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/Php/PhpSerializerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\Php\\\PhpSerializerConfig\:\: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/Serializer/Php/PhpSerializerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\SerializerFactory\:\:createCustomPhpSerializer\(\) has parameter \$allowedClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/SerializerFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\SerializerFactory\:\:createSafePhpSerializer\(\) has parameter \$allowedClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/SerializerFactory.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\\\SlidingWindow\\\Aggregator\\\BooleanResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/BooleanResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\CountingResult\:\:__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/SlidingWindow/Aggregator/CountingResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\CountingResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/CountingResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\NumericResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/NumericResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:analyzeThreatPatterns\(\) has parameter \$intervals with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:analyzeThreatPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:calculateConfidence\(\) has parameter \$patterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:calculateThreatScore\(\) has parameter \$patterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:calculateVariance\(\) has parameter \$intervals with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:detectRampUpPattern\(\) has parameter \$intervals with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, list\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Variable \$intervalVariance on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:__construct\(\) has parameter \$threatAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:__construct\(\) has parameter \$timestamps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:getBurstAnalysis\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:getTimestampsAsFloats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Cannot call method toArray\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Class App\\\Framework\\\SlidingWindow\\\CacheBasedSlidingWindow implements generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\CacheBasedSlidingWindow\:\:__construct\(\) has parameter \$aggregator with generic interface App\\\Framework\\\SlidingWindow\\\Aggregator\\\SlidingWindowAggregator but does not specify its types\: TResult$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:diff\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Timestamp, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\SlidingWindow\\\CacheBasedSlidingWindow\:\:\$cacheTtl is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Cannot call method toArray\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/InMemorySlidingWindow.php', ], [ 'message' => '#^Class App\\\Framework\\\SlidingWindow\\\InMemorySlidingWindow implements generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/InMemorySlidingWindow.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\InMemorySlidingWindow\:\:__construct\(\) has parameter \$aggregator with generic interface App\\\Framework\\\SlidingWindow\\\Aggregator\\\SlidingWindowAggregator but does not specify its types\: TResult$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/InMemorySlidingWindow.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:diff\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Timestamp, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/InMemorySlidingWindow.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createBooleanWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createCountingWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createCustomWindow\(\) has parameter \$aggregator with generic interface App\\\Framework\\\SlidingWindow\\\Aggregator\\\SlidingWindowAggregator but does not specify its types\: TResult$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createCustomWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createNumericWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createRateLimitWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowStats\:\:__construct\(\) has parameter \$aggregatedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowStats.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowStats\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowStats.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\WindowEntry\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/WindowEntry.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\:\:exists\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', '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' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 2, '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' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CacheKey\:\:from\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Instanceof between T of App\\\Framework\\\StateManagement\\\SerializableState and App\\\Framework\\\StateManagement\\\SerializableState will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\CacheBasedStateManager\:\:for\(\) should return App\\\Framework\\\StateManagement\\\CacheBasedStateManager\ but returns App\\\Framework\\\StateManagement\\\CacheBasedStateManager\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\CacheBasedStateManager\:\: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/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Parameter \#1 \$callback of function call_user_func expects callable\(\)\: mixed, array\{string, \'fromArray\'\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:add\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Instanceof between T of App\\\Framework\\\StateManagement\\\SerializableState and App\\\Framework\\\StateManagement\\\SerializableState will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\InMemoryStateManager\:\:for\(\) should return App\\\Framework\\\StateManagement\\\InMemoryStateManager\ but returns App\\\Framework\\\StateManagement\\\InMemoryStateManager\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Parameter \#1 \$callback of function call_user_func expects callable\(\)\: mixed, array\{string, \'fromArray\'\} given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Property App\\\Framework\\\StateManagement\\\InMemoryStateManager\:\:\$expirationTimes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Property App\\\Framework\\\StateManagement\\\InMemoryStateManager\:\:\$states type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\SerializableState\:\: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/StateManagement/SerializableState.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\SerializableState\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/SerializableState.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createForCircuitBreaker\(\) return type with generic class App\\\Framework\\\StateManagement\\\CacheBasedStateManager does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createForErrorBoundary\(\) return type with generic class App\\\Framework\\\StateManagement\\\CacheBasedStateManager does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createForRateLimiter\(\) return type with generic class App\\\Framework\\\StateManagement\\\CacheBasedStateManager does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Parameter \$stateClass of method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createCacheBased\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createCacheBased\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\StateManagerStatistics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Parameter \#1 \$nanoseconds of class App\\\Framework\\\Core\\\ValueObjects\\\Duration constructor expects int, float given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.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' => '#^Cannot access offset 0 on App\\\Framework\\\Reflection\\\Collections\\\AttributeCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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' => '#^Offset 2 on array\{int, string, int\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Performance\\\PerformanceMetric\:\:getValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Performance\\\PerformanceMetric\:\:withValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Adapters\\\PerformanceCollectorAdapter\:\: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/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Adapters\\\PerformanceCollectorAdapter\:\: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/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Adapters\\\PerformanceCollectorAdapter\:\: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/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Adapters\\\PerformanceCollectorAdapter\:\: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/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Config\\\TelemetryConfig\:\: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/Telemetry/Config/TelemetryConfig.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/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\Exporters\\\FileExporter\:\:\$eventsHandle \(resource\|null\) does not accept resource\|false\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\Exporters\\\FileExporter\:\:\$metricsHandle \(resource\|null\) does not accept resource\|false\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\Exporters\\\FileExporter\:\:\$operationsHandle \(resource\|null\) does not accept resource\|false\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Parameter \#3 \$labels of method App\\\Framework\\\Telemetry\\\Exporters\\\PrometheusExporter\:\:recordCounter\(\) expects array\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/PrometheusExporter.php', ], [ 'message' => '#^Parameter \#3 \$labels of method App\\\Framework\\\Telemetry\\\Exporters\\\PrometheusExporter\:\:recordGauge\(\) expects array\, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/PrometheusExporter.php', ], [ 'message' => '#^Parameter \#3 \$labels of method App\\\Framework\\\Telemetry\\\Exporters\\\PrometheusExporter\:\:recordHistogram\(\) expects array\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/PrometheusExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\Exporters\\\PrometheusExporter\:\:\$endpoint is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/PrometheusExporter.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\ConnectionInterface\:\:getConfig\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryDatabaseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryDatabaseMiddleware\:\:sanitizeQuery\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryDatabaseMiddleware.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/Telemetry/Middleware/TelemetryDatabaseMiddleware.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/Telemetry/Middleware/TelemetryDatabaseMiddleware.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/Telemetry/Middleware/TelemetryDatabaseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:addResponseAttributes\(\) has parameter \$response with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:createRequestAttributes\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:getClientIp\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:getSpanName\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:setSpanStatus\(\) has parameter \$response with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$paramName of method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:isSensitiveParameter\(\) expects string, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\OperationHandle\:\:recordEvent\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/OperationHandle.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\OperationHandle\:\:recordMetric\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/OperationHandle.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\UnifiedTelemetryService\:\:\$circuitBreaker is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/UnifiedTelemetryService.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/Telemetry/ValueObjects/Event.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Event\:\:error\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Event.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Event\:\:info\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Event.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Event\:\:warning\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Event.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/Telemetry/ValueObjects/Metric.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Metric\:\:counter\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Metric.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Metric\:\:gauge\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Metric.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Metric\:\:histogram\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Metric.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/Telemetry/ValueObjects/Operation.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' => '#^Cannot instantiate class App\\\Framework\\\UserAgent\\\UserAgent via private constructor App\\\Framework\\\UserAgent\\\UserAgent\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/ParsedUserAgent.php', ], [ 'message' => '#^Left side of && is always true\.$#', 'identifier' => 'booleanAnd.leftAlwaysTrue', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/ParsedUserAgent.php', ], [ 'message' => '#^Method App\\\Framework\\\UserAgent\\\Patterns\\\EnginePatterns\:\:getGeckoVersionMap\(\) should return array\ but returns array\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/Patterns/EnginePatterns.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Cache\\\CacheResult and App\\\Framework\\\UserAgent\\\ParsedUserAgent will always evaluate to false\.$#', 'identifier' => 'instanceof.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\UserAgent\\\ParsedUserAgent given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.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' => '#^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\:\:hasFragment\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', '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 templates\(\) on App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, '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\\\Template\\\Processing\\\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\:\:replaceErrorsForForm\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:replaceOldInputForForm\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:replaceTokenForFormId\(\) is unused\.$#', 'identifier' => 'method.unused', '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\\\FormDataStorage 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 \#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' => '#^Property App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:\$container is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:\$formIdGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, '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\:\:replacePlaceholdersWithTokens\(\) is unused\.$#', 'identifier' => 'method.unused', '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' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:replaceTokensWithPlaceholders\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:shouldProcessCsrf\(\) is unused\.$#', 'identifier' => 'method.unused', '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\:\:\$cacheMode is never read, only written\.$#', 'identifier' => 'property.onlyWritten', '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' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', '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 App\\\Framework\\\Reflection\\\WrappedReflectionClass\:\:getFullyQualified\(\)\.$#', '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' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:__construct\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:__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/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:failure\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\: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/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:getFindingsByType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\: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/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:warning\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:warning\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:withConfidence\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:withConfidence\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\: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/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Match arm comparison between \$this\(App\\\Framework\\\Waf\\\Analysis\\\AnalysisType\)&App\\\Framework\\\Waf\\\Analysis\\\AnalysisType\:\:BODY and App\\\Framework\\\Waf\\\Analysis\\\AnalysisType\:\:BODY is always true\.$#', 'identifier' => 'match.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisType\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\AnalyzerInterface\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/AnalyzerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\AnalyzerInterface\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/AnalyzerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:__construct\(\) has parameter \$suspiciousPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:analyzeEncoding\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:performDeepScan\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:__construct\(\) has parameter \$injectionPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:__construct\(\) has parameter \$requiredSecurityAttributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:__construct\(\) has parameter \$suspiciousCookieNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:analyzeCookieTampering\(\) has parameter \$cookies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:analyzeCookieTampering\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:analyzeSecurityCompliance\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:checkForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:__construct\(\) has parameter \$allowedMimeTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:__construct\(\) has parameter \$dangerousExtensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:__construct\(\) has parameter \$suspiciousPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:analyzeFileContent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:analyzeIndividualFile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Regex pattern is invalid\: Unknown modifier \'\]\' in pattern\: /\(\?\:\\\\\.\\\\\.\[\\\\\\\/\]\)\|\(\?\:\[\\\\\\\/\]\\\\\.\\\\\.\)\|\(\?\:\\\\\.\\\\\.\\\\\\\\\\\\\\\\\)\|\(\?\:\\\\\\\\\\\\\\\\\\\\\.\\\\\.\)\|\(\?\:%2e%2e%2f\)\|\(\?\:%2e%2e\\\\\\\\\\\\\\\\\)\|\(\?\:\\\\\.\\\\\.%2f\)\|\(\?\:\\\\\.\\\\\.%5c\)\|\(\?\:%2e%2e%5c\)/$#', 'identifier' => 'regexp.pattern', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:__construct\(\) has parameter \$forbiddenHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:__construct\(\) has parameter \$requiredHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:__construct\(\) has parameter \$suspiciousHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Strict comparison using \=\=\= between \*NEVER\* and 1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Variable \$findings in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Call to function is_array\(\) with mixed will always evaluate to false\.$#', 'identifier' => 'function.impossibleType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Call to function is_object\(\) with object will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:__construct\(\) has parameter \$injectionPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:__construct\(\) has parameter \$suspiciousPropertyNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonElement\(\) has parameter \$element with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonElement\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonEncoding\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonStructure\(\) has parameter \$jsonData with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonStructure\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeSuspiciousProperties\(\) has parameter \$jsonData with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeSuspiciousProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkForInjections\(\) has parameter \$jsonData with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkJsonBombing\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkPrototypePollution\(\) has parameter \$jsonData with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkPrototypePollution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\: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/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:traverseJsonForProperties\(\) has parameter \$data with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.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/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.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/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Result of && is always false\.$#', 'identifier' => 'booleanAnd.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:__construct\(\) has parameter \$injectionPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:__construct\(\) has parameter \$suspiciousParameterNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:analyzeParameterPatterns\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:analyzeParameterPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:checkForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:__construct\(\) has parameter \$adminPathIndicators with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:__construct\(\) has parameter \$debugPathIndicators with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:__construct\(\) has parameter \$suspiciousFileExtensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:__construct\(\) has parameter \$suspiciousPathPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:analyzeEncoding\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:analyzeFileExtension\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:analyzePathStructure\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:analyzeUnicodeThreats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:checkSuspiciousPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Waf\\\DetectionSeverity\:\:MEDIUM and App\\\Framework\\\Waf\\\DetectionSeverity\:\:LOW will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Variable \$segment in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Argument of an invalid type DOMNodeList\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Cannot access property \$nodeName on DOMNode\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:__construct\(\) has parameter \$dangerousEntityPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:__construct\(\) has parameter \$injectionPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:__construct\(\) has parameter \$suspiciousElementNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeSuspiciousElements\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeXmlEncoding\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeXmlNode\(\) has parameter \$node with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeXmlNode\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeXmlStructure\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkContentForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkDangerousEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkXmlBombing\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:parseXmlSecurely\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \$content of method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkContentForInjections\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Http\\\IpAddress\:\:fromString\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__construct\(\) has parameter \$cookies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__construct\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__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/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__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/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__construct\(\) has parameter \$postParameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__construct\(\) has parameter \$queryParameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:fromArray\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:getAllParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:getFile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:getFileNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:minimal\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:toAnalysisArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Access to constant HIGH on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Access to constant LOW on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Access to constant MEDIUM on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotDetectionType\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotDetectionType\:\:getBySeverity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotDetectionType\:\:getDefaultSeverity\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Parameter \$severity of method App\\\Framework\\\Waf\\\BotProtection\\\BotDetectionType\:\:getBySeverity\(\) has invalid type App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Access to constant HIGH on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Access to constant MEDIUM on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Access to property \$confidence on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\BotDetection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to method getDetections\(\) on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to method getRiskScore\(\) on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to method isSuspicious\(\) on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\BotProtection\\\BotDetection not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:__construct\(\) has parameter \$detectionHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:__construct\(\) has parameter \$performanceMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeBehavior\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeBehavior\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeBehavior\(\) should return App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult but returns App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeDevice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeRequest\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateBotRiskScore\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateBotRiskScore\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateConfidence\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateConfidence\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateRiskConfidence\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateRiskScoreVariance\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:createCaptchaFailureDetection\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\BotDetection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:createDeviceDetection\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\BotDetection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:createFingerprintDetection\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\BotDetection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:detectFingerprint\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:getClientIdentifier\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:getPerformanceStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:getRecentDetections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:recordDetection\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:shouldRequireCaptcha\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:validateCaptcha\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:validateCaptcha\(\) should return bool but returns App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaResult\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:validateResponse\(\) invoked with 2 parameters, 3 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Parameter \#1 \$challengeId of method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:validateResponse\(\) expects string, App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Parameter \#2 \$response of method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:validateResponse\(\) expects string, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:addSeconds\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\HttpClient\:\:post\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:__construct\(\) has parameter \$activeChallenges with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:generateChallenge\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:getSupportedProviders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:normalizeProviderResponse\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:normalizeProviderResponse\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:validateWithProvider\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Parameter \#1 \$data of static method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaChallenge\:\:fromArray\(\) expects array, App\\\Framework\\\Cache\\\CacheResult given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Comparison operation "\>" between int\<3, max\> and 0 is always true\.$#', 'identifier' => 'greater.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:__construct\(\) has parameter \$behaviorPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:__construct\(\) has parameter \$sessionData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:__construct\(\) has parameter \$timingThresholds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeBehavior\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeKeystrokePatterns\(\) has parameter \$keystrokes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeKeystrokePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeMouseMovement\(\) has parameter \$movements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeMouseMovement\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeNavigationPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeRequestTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeRequestTiming\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateAnalysisConfidence\(\) has parameter \$behaviorMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateAnalysisConfidence\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateBehavioralRiskScore\(\) has parameter \$behaviorMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateBehavioralRiskScore\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateVariance\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:getSessionId\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:isPerfectLine\(\) has parameter \$point1 with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:isPerfectLine\(\) has parameter \$point2 with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:updateSessionData\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:__construct\(\) has parameter \$devicePatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:__construct\(\) has parameter \$deviceProfileCache with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:__construct\(\) has parameter \$suspiciousDevices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:analyzeDevice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:analyzeHardwareConsistency\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:analyzeUserAgentConsistency\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:checkAgainstKnownPatterns\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:detectHeadlessBrowser\(\) has parameter \$deviceInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:detectVirtualMachine\(\) has parameter \$deviceInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:detectWebDriver\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:detectWebDriver\(\) has parameter \$deviceInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:extractDeviceData\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:extractDeviceData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:generateProfileCacheKey\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:getSuspiciousDevices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:matchesPattern\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:matchesPattern\(\) has parameter \$pattern with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:trackSuspiciousDevice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.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/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:__construct\(\) has parameter \$fingerprintCache with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:__construct\(\) has parameter \$knownBotFingerprints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:addKnownBotFingerprint\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:analyzeFingerprint\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:extractFingerprintData\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:extractFingerprintData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:generateCacheKey\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.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/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\:\:__construct\(\) has parameter \$behaviorMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BehavioralAnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\:\:__construct\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BehavioralAnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\:\:getDetections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BehavioralAnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BehavioralAnalysisResult.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetection\:\:__construct\(\) has parameter \$evidence with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetection.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetection\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:__construct\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:__construct\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:getDetectionTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:getHighConfidenceDetections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotRiskScore\:\:__construct\(\) has parameter \$factors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotRiskScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotRiskScore\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotRiskScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$anomalousFeatures with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$audioFingerprint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$canvasFingerprint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$fontList with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$pluginList with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$screenResolution with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$timezoneInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$webglFingerprint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:calculateAnomalyScore\(\) has parameter \$anomalies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:calculateAnomalyScore\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:detectAnomalies\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:detectAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:extractFeatures\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:extractFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:fromData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:generateHash\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:getAnomalousFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Parameter \#2 \$data of function hash expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaChallenge\:\:__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/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaChallenge\:\: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/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaChallenge\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaResult\:\:__construct\(\) has parameter \$errorCodes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaResult\:\:__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/Waf/BotProtection/ValueObjects/CaptchaResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$characteristics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$connectionType with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$hardwareSpecs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$locationData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$networkInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$suspiciousFeatures with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:calculateSuspicionScore\(\) has parameter \$characteristics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:calculateSuspicionScore\(\) has parameter \$suspiciousFeatures with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:detectSuspiciousFeatures\(\) has parameter \$characteristics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:detectSuspiciousFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:extractCharacteristics\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:extractCharacteristics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:fromData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:generateDeviceId\(\) has parameter \$characteristics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:getSuspiciousFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\DetectionCategory\:\:getRelatedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/DetectionCategory.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\LayerStatus\:\:SUSPICIOUS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/LayerResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\LayerResult\:\:suspicious\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/LayerResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\LayerResult\:\:threat\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/LayerResult.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\CommandInjectionLayer\:\:analyzeRiskFactors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\CommandInjectionLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\CommandInjectionLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Offset 0 on array\{0\: non\-empty\-string, 1\?\: non\-falsy\-string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Unknown parameter \$details in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Unknown parameter \$riskScore in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:ANOMALY\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:RATE_LIMITING\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:SUSPICIOUS_BEHAVIOR\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\LayerStatus\:\:SUSPICIOUS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:buildRequestContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:buildThreatMessage\(\) has parameter \$rateLimitResult with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createAnomalyDetection\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createAnomalyDetection\(\) has parameter \$rateLimitResult with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createRateLimitDetection\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createRateLimitDetection\(\) has parameter \$rateLimitResult with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createSuspiciousPatternDetection\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createSuspiciousPatternDetection\(\) has parameter \$rateLimitResult with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:selectRateLimitTier\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:selectRateLimitTier\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Unknown parameter \$clock in call to App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\LayerInterface\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/LayerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\LayerInterface\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/LayerInterface.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\PathTraversalLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\PathTraversalLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Offset 0 on array\{non\-falsy\-string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Unknown parameter \$details in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Unknown parameter \$riskScore in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 11, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SqlInjectionLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SqlInjectionLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Offset 0 on array\{0\: non\-empty\-string, 1\: non\-empty\-string, 2\?\: non\-falsy\-string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.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/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\LayerStatus\:\:SUSPICIOUS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SuspiciousUserAgentLayer\:\:analyzeUserAgentStructure\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SuspiciousUserAgentLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SuspiciousUserAgentLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Offset 0 on array\{string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Unknown parameter \$details in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Unknown parameter \$riskScore in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\XssLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\XssLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Offset 0 on array\{0\: non\-falsy\-string, 1\?\: non\-falsy\-string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Unknown parameter \$details in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Unknown parameter \$riskScore in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\AnomalyDetectorInterface\:\:canAnalyze\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/AnomalyDetectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\AnomalyDetectorInterface\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/AnomalyDetectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\AnomalyDetectorInterface\:\:getSupportedBehaviorTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/AnomalyDetectorInterface.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Cannot call method getValue\(\) on float\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:__construct\(\) has parameter \$baselines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:__construct\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:__construct\(\) has parameter \$performanceMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:__construct\(\) has parameter \$updateTimestamps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:applySeasonalAdjustment\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:applySeasonalAdjustment\(\) has parameter \$stats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:applySeasonalAdjustment\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:calculatePercentile\(\) has parameter \$sortedValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:calculateStatistics\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:calculateStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:createInitialBaseline\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getBaselineBehaviorTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getBaselineStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getBaselinesForBehaviorType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:updateExistingBaseline\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$createdAt \(App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$identifier \(string\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$maximum \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$median \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$minimum \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$percentiles \(array\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$sampleCount \(int\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$windowSize \(App\\\Framework\\\Core\\\ValueObjects\\\Duration\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor expects float, App\\\Framework\\\Core\\\ValueObjects\\\Percentage given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Unknown parameter \$p50 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Unknown parameter \$p95 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Unknown parameter \$p99 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Unknown parameter \$sampleSize in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BehaviorType\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BehaviorType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BehaviorType\:\:getBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BehaviorType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BehaviorType\:\:getRealTime\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BehaviorType.php', ], [ 'message' => '#^Call to function is_numeric\(\) with float will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature and App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:__construct\(\) has parameter \$clusterAssignments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:__construct\(\) has parameter \$clusterCenters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:__construct\(\) has parameter \$featureVectors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:canAnalyze\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:performClustering\(\) should return array\{centers\: array\\>, assignments\: array\, cost\: float, iterations\: int\} but returns array\{\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Offset \'normalized_value\' on array\{value\: float, normalized_value\: float, z_score\: float, feature\: App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Offset \'value\' on array\{value\: float, normalized_value\: float, z_score\: float, feature\: App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Offset \'z_score\' on array\{value\: float, normalized_value\: float, z_score\: float, feature\: App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:\$clusterAssignments is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:\$clusterCenters is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Result of && is always true\.$#', 'identifier' => 'booleanAnd.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature and App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:__construct\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:calculateMovingAverage\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:canAnalyze\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectFrequencySpikes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectOutliers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectPatternDeviations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectTrendAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectZScoreAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:getFeatureHistory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:getSupportedBehaviorTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \$window of method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:calculateMovingAverage\(\) expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>mean" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>standardDeviation" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:__construct\(\) has parameter \$requestHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:calculateAutocorrelation\(\) has parameter \$buckets with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractBurstRate\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractBurstiness\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractFeatures\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractFrequencyEntropy\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractInterArrivalVariance\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractPeriodicityScore\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractRequestRate\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractRequestSpacing\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractSustainedRate\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractTimeOfDayPattern\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractWeekdayPattern\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:getFeatureNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:getRequestHistory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Parameter \#1 \$array \(array\{App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, \.\.\.\}\) to function array_filter does not contain falsy values, the array will always stay the same\.$#', 'identifier' => 'arrayFilter.same', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.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/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Comparison operation "\>" between int\<2, max\> and 0 is always true\.$#', 'identifier' => 'greater.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:__construct\(\) has parameter \$parameterHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:__construct\(\) has parameter \$pathHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractFeatures\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractInjectionPatternScore\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractNavigationPattern\(\) has parameter \$pathHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterComplexity\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterCount\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterEntropy\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterValueEntropy\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractPathFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractPathSequenceEntropy\(\) has parameter \$pathHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractPathTransitionScore\(\) has parameter \$pathHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractSequenceFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractStructureFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractSuspiciousParameterScore\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:getFeatureNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function max expects non\-empty\-array, array\\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\FeatureExtractorInterface\:\:extractFeatures\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/FeatureExtractorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\FeatureExtractorInterface\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/FeatureExtractorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\FeatureExtractorInterface\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/FeatureExtractorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\FeatureExtractorInterface\:\:getFeatureNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/FeatureExtractorInterface.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toIso8601String\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Call to function is_numeric\(\) with float will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Cannot call method getValue\(\) on float\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:__construct\(\) has parameter \$baselineCache with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:__construct\(\) has parameter \$featureCache with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:__construct\(\) has parameter \$performanceMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:analyzeRequest\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:calculateOverallConfidence\(\) has parameter \$anomalies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:createBaselineFromFeatures\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:deduplicateAndRankAnomalies\(\) has parameter \$anomalies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:deduplicateAndRankAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:detectAnomalies\(\) has parameter \$baselines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:detectAnomalies\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:detectAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getBaselineStats\(\) has parameter \$baselines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getBaselineStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getBaselines\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getBaselines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getDetectorResults\(\) has parameter \$anomalies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getDetectorResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getExtractorResults\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getExtractorResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getPerformanceStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getRelevantBaseline\(\) has parameter \$baselines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:updateModels\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:validateFeatures\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:validateFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$createdAt \(App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$identifier \(string\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$maximum \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$median \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$minimum \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$percentiles \(array\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$sampleCount \(int\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$windowSize \(App\\\Framework\\\Core\\\ValueObjects\\\Duration\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor expects float, App\\\Framework\\\Core\\\ValueObjects\\\Percentage given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Unknown parameter \$p50 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Unknown parameter \$p95 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Unknown parameter \$p99 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Unknown parameter \$sampleSize in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Variable \$values in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:__construct\(\) has parameter \$baselineStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:__construct\(\) has parameter \$detectorResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:__construct\(\) has parameter \$extractorResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getAnomaliesByType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getCriticalAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getDetailedReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getFeaturesByBehaviorType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:__construct\(\) has parameter \$evidence with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:__construct\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:__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/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:create\(\) has parameter \$evidence with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:create\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:geographicAnomaly\(\) has parameter \$normalLocations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:patternDeviation\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:__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/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:__construct\(\) has parameter \$percentiles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:calculateKurtosis\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:calculatePercentile\(\) has parameter \$sortedValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:calculateSkewness\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:calculateVariance\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:fromStatistics\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:updateWith\(\) has parameter \$newValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:__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/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:calculateMedian\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\: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/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:calculateVariance\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:entropy\(\) has parameter \$distribution with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:statistical\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Offset float does not exist on list\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Access to property \$globalTimeout on an unknown class App\\\Framework\\\Waf\\\WafConfig\.$#', 'identifier' => 'class.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.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/Waf/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\PerformanceService\:\:getAllTimings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\PerformanceService\:\:getMetric\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\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/Waf/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\PerformanceService\:\:getWarnings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Parameter \$config of method App\\\Framework\\\Waf\\\PerformanceService\:\:__construct\(\) has invalid type App\\\Framework\\\Waf\\\WafConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\PerformanceService\:\:\$config has unknown class App\\\Framework\\\Waf\\\WafConfig as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\PerformanceService\:\:\$metrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\PerformanceService\:\:\$timings type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.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/Waf/PerformanceService.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:BOT_DETECTION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:EVASION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:FILE_UPLOAD_ABUSE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:INJECTION_ATTACK\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:PROTOCOL_ATTACK\.$#', 'identifier' => 'classConstant.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:commandInjection\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:generic\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:pathTraversal\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:sql\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getAllRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getApplicationAttackRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getCommandInjectionRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getCriticalRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getFileUploadRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getGenericAttackRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getHighPriorityRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getHttpProtocolRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getOwaspTop10Rules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getPathTraversalRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getSqlInjectionRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getUserAgentRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getXssRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Parameter \#1 \$number of static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:xss\(\) expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:BOT_DETECTION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:FILE_UPLOAD_ABUSE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:commandInjection\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:generic\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:pathTraversal\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:sql\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:__construct\(\) has parameter \$actionParameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:__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/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:__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/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:evaluate\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\: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/Waf/Rules/Rule.php', ], [ 'message' => '#^Parameter \#1 \$number of static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:xss\(\) expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleAction\:\:getRequiredParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleAction.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:addRules\(\) has parameter \$rules with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:evaluateAll\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:evaluateCategories\(\) has parameter \$categories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:evaluateCategories\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getEnabledRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getRulesByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getRulesByTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:quickEvaluate\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:\$evaluationStats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:\$rules type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:\$rulesByCategory type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:\$rulesByPriority type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:__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/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:__construct\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getAlertingMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getBlockingMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getCriticalMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getHighSeverityMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getMatchedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getMatchedRuleIds\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getMatchesByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getMatchesBySeverity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getOwaspTop10Matches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getPerformanceSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:applyTransformation\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:evaluate\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:extractValue\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:getMatches\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:getMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:__construct\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:__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/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:calculateConfidence\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:fromCondition\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:getMatchExcerpt\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:getOwaspInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:highConfidence\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\: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/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Parameter \#2 \$offset of function substr expects int, float\|int\<0, max\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RulePattern\:\:getAllMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RulePattern.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RulePattern\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RulePattern.php', ], [ 'message' => '#^Access to property \$category on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Access to property \$confidence on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Access to property \$severity on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filter\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Call to method getThreatScore\(\) on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Call to method isOwaspTop10\(\) on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ThreatAssessment\:\:getThreatCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ThreatAssessment\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Parameter \#1 \$category of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filterByCategory\(\) expects App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCategory, App\\\Framework\\\Waf\\\DetectionCategory given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Parameter \#1 \$severity of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filterBySeverity\(\) expects App\\\Framework\\\Waf\\\ValueObjects\\\DetectionSeverity, App\\\Framework\\\Waf\\\DetectionSeverity given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ThreatAssessmentService\:\:getSeverityWeight\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessmentService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ThreatAssessmentService\:\:mapAnomalyScoreToSeverity\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessmentService.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\ThreatAssessmentService\:\:\$clock is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessmentService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\AdditionalContext\:\:__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/Waf/ValueObjects/AdditionalContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\AdditionalContext\:\:addCustomData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/AdditionalContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\AdditionalContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/AdditionalContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\AdditionalContext\:\:withCustomData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/AdditionalContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\BusinessContext\:\:__construct\(\) has parameter \$businessRules with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/BusinessContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\BusinessContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/BusinessContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\Detection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/Detection.php', ], [ 'message' => '#^Access to property \$category on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Access to property \$severity on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Call to method toArray\(\) on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\Detection not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:fromArray\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:getCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:getHighestSeverity\(\) has invalid return type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\: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/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$category of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filterByCategory\(\) has invalid type App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCategory\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$detection of anonymous function has invalid type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$detection of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:add\(\) has invalid type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$detection of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:single\(\) has invalid type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$detections of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:__construct\(\) has invalid type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$severity of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filterBySeverity\(\) has invalid type App\\\Framework\\\Waf\\\ValueObjects\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:\$detections has unknown class App\\\Framework\\\Waf\\\Detection as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Left side of \|\| is always false\.$#', 'identifier' => 'booleanOr.leftAlwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/GeographicContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\GeographicContext\:\:fromGeoIp\(\) has parameter \$geoData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/GeographicContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\GeographicContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/GeographicContext.php', ], [ 'message' => '#^Using nullsafe property access on non\-nullable type App\\\Framework\\\Core\\\ValueObjects\\\Coordinates\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/GeographicContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:__construct\(\) has parameter \$customSettings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:validate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerConfig.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:divide\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isLessThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerMetrics\:\:__construct\(\) has parameter \$categoryCounts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerMetrics\:\:__construct\(\) has parameter \$severityCounts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerMetrics\:\:updateCategoryCounts\(\) has parameter \$categoryCounts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\PayloadSample\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/PayloadSample.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/Waf/ValueObjects/PayloadSample.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/Waf/ValueObjects/PayloadSample.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\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/Waf/ValueObjects/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\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/Waf/ValueObjects/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\ResultMetadata\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/ResultMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/RuleId.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\SessionContext\:\:__construct\(\) has parameter \$roles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/SessionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\SessionContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/SessionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\TechnicalContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/TechnicalContext.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafDecision.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\WafDecision\:\:__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/Waf/WafDecision.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\WafDecision\:\:generateMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafDecision.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\WafDecision\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafDecision.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\WafDecision\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafDecision.php', ], [ 'message' => '#^Access to property \$severity on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafEngine.php', ], [ 'message' => '#^Call to method getThreatScore\(\) on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafEngine.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', ], [ 'message' => '#^Variable \$className in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/preload.php', ], [ 'message' => '#Access to an undefined property#', 'paths' => [ '/home/michael/dev/michaelschiemer/src/Framework/View/*', '/home/michael/dev/michaelschiemer/src/*/views/*', ], ], '#Instantiated class .* not found#', [ 'message' => '#Variable \$\w+ might not be defined#', 'paths' => ['/home/michael/dev/michaelschiemer/src/*/views/*'], ], '#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('0657'), $this->getService('0660')); } 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('0657'), $this->getService('0658'), $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('0661'), $this->getService('0657'), $this->getService('0660')); } 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'), true, true, 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'), true, true, 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'), true, true, 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'), true, true, 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'), true, false ); } 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'), true, true, true, true ); } 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'), true, true ); } public function createService079(): PHPStan\Rules\PhpDoc\RequireExtendsCheck { return new PHPStan\Rules\PhpDoc\RequireExtendsCheck($this->getService('088'), true, 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'), true, 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'), true, 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'), true, false, true, 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('0666')); } 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'), [], true ); } 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'), true ); } 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('0661')); } 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('0663'), $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('0668') ); } 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('0662'), $this->getService('0663'), $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('0665'), $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('0664')); } 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.level8.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level7.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level6.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level5.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level4.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level3.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level2.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, '8' ); } 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.level8.neon', '/home/michael/dev/michaelschiemer/phpstan.neon', ], $this->getParameter('analysedPaths'), ['/home/michael/dev/michaelschiemer'], $this->getParameter('analysedPathsFromConfig'), '8', 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_c666e7553b $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'], '8', 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_c666e7553b $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_c666e7553b $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_c666e7553b $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_c666e7553b $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_c666e7553b $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\Pure\PureMethodRule { return new PHPStan\Rules\Pure\PureMethodRule($this->getService('062')); } public function createService0355(): PHPStan\Rules\Pure\PureFunctionRule { return new PHPStan\Rules\Pure\PureFunctionRule($this->getService('062')); } public function createService0356(): PHPStan\Rules\Classes\InvalidPromotedPropertiesRule { return new PHPStan\Rules\Classes\InvalidPromotedPropertiesRule($this->getService('043')); } public function createService0357(): PHPStan\Rules\Classes\ClassAttributesRule { return new PHPStan\Rules\Classes\ClassAttributesRule($this->getService('067')); } public function createService0358(): PHPStan\Rules\Classes\MixinRule { return new PHPStan\Rules\Classes\MixinRule($this->getService('063')); } public function createService0359(): PHPStan\Rules\Classes\ExistingClassInInstanceOfRule { return new PHPStan\Rules\Classes\ExistingClassInInstanceOfRule( $this->getService('reflectionProvider'), $this->getService('088'), true, true ); } public function createService0360(): PHPStan\Rules\Classes\InstantiationCallableRule { return new PHPStan\Rules\Classes\InstantiationCallableRule; } public function createService0361(): PHPStan\Rules\Classes\AccessPrivateConstantThroughStaticRule { return new PHPStan\Rules\Classes\AccessPrivateConstantThroughStaticRule; } public function createService0362(): 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 createService0363(): PHPStan\Rules\Classes\LocalTypeTraitAliasesRule { return new PHPStan\Rules\Classes\LocalTypeTraitAliasesRule($this->getService('065'), $this->getService('reflectionProvider')); } public function createService0364(): PHPStan\Rules\Classes\ExistingClassInClassExtendsRule { return new PHPStan\Rules\Classes\ExistingClassInClassExtendsRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0365(): PHPStan\Rules\Classes\PropertyTagTraitUseRule { return new PHPStan\Rules\Classes\PropertyTagTraitUseRule($this->getService('064')); } public function createService0366(): PHPStan\Rules\Classes\ImpossibleInstanceOfRule { return new PHPStan\Rules\Classes\ImpossibleInstanceOfRule(true, false, true); } public function createService0367(): PHPStan\Rules\Classes\MethodTagRule { return new PHPStan\Rules\Classes\MethodTagRule($this->getService('066')); } public function createService0368(): PHPStan\Rules\Classes\PropertyTagTraitRule { return new PHPStan\Rules\Classes\PropertyTagTraitRule($this->getService('064'), $this->getService('reflectionProvider')); } public function createService0369(): PHPStan\Rules\Classes\NewStaticRule { return new PHPStan\Rules\Classes\NewStaticRule; } public function createService0370(): PHPStan\Rules\Classes\AllowedSubTypesRule { return new PHPStan\Rules\Classes\AllowedSubTypesRule; } public function createService0371(): PHPStan\Rules\Classes\ExistingClassInTraitUseRule { return new PHPStan\Rules\Classes\ExistingClassInTraitUseRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0372(): PHPStan\Rules\Classes\ReadOnlyClassRule { return new PHPStan\Rules\Classes\ReadOnlyClassRule($this->getService('043')); } public function createService0373(): PHPStan\Rules\Classes\MethodTagTraitRule { return new PHPStan\Rules\Classes\MethodTagTraitRule($this->getService('066'), $this->getService('reflectionProvider')); } public function createService0374(): PHPStan\Rules\Classes\DuplicateDeclarationRule { return new PHPStan\Rules\Classes\DuplicateDeclarationRule; } public function createService0375(): PHPStan\Rules\Classes\EnumSanityRule { return new PHPStan\Rules\Classes\EnumSanityRule; } public function createService0376(): PHPStan\Rules\Classes\ExistingClassesInInterfaceExtendsRule { return new PHPStan\Rules\Classes\ExistingClassesInInterfaceExtendsRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0377(): PHPStan\Rules\Classes\LocalTypeTraitUseAliasesRule { return new PHPStan\Rules\Classes\LocalTypeTraitUseAliasesRule($this->getService('065')); } public function createService0378(): PHPStan\Rules\Classes\TraitAttributeClassRule { return new PHPStan\Rules\Classes\TraitAttributeClassRule; } public function createService0379(): PHPStan\Rules\Classes\LocalTypeAliasesRule { return new PHPStan\Rules\Classes\LocalTypeAliasesRule($this->getService('065')); } public function createService0380(): PHPStan\Rules\Classes\ClassConstantAttributesRule { return new PHPStan\Rules\Classes\ClassConstantAttributesRule($this->getService('067')); } public function createService0381(): PHPStan\Rules\Classes\RequireExtendsRule { return new PHPStan\Rules\Classes\RequireExtendsRule; } public function createService0382(): PHPStan\Rules\Classes\MixinTraitUseRule { return new PHPStan\Rules\Classes\MixinTraitUseRule($this->getService('063')); } public function createService0383(): PHPStan\Rules\Classes\MethodTagTraitUseRule { return new PHPStan\Rules\Classes\MethodTagTraitUseRule($this->getService('066')); } public function createService0384(): PHPStan\Rules\Classes\RequireImplementsRule { return new PHPStan\Rules\Classes\RequireImplementsRule; } public function createService0385(): PHPStan\Rules\Classes\NonClassAttributeClassRule { return new PHPStan\Rules\Classes\NonClassAttributeClassRule; } public function createService0386(): PHPStan\Rules\Classes\PropertyTagRule { return new PHPStan\Rules\Classes\PropertyTagRule($this->getService('064')); } public function createService0387(): PHPStan\Rules\Classes\ExistingClassesInEnumImplementsRule { return new PHPStan\Rules\Classes\ExistingClassesInEnumImplementsRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0388(): PHPStan\Rules\Classes\ExistingClassesInClassImplementsRule { return new PHPStan\Rules\Classes\ExistingClassesInClassImplementsRule( $this->getService('088'), $this->getService('reflectionProvider'), true ); } public function createService0389(): 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 createService0390(): PHPStan\Rules\Classes\MixinTraitRule { return new PHPStan\Rules\Classes\MixinTraitRule($this->getService('063'), $this->getService('reflectionProvider')); } public function createService0391(): PHPStan\Rules\Classes\UnusedConstructorParametersRule { return new PHPStan\Rules\Classes\UnusedConstructorParametersRule($this->getService('068')); } public function createService0392(): PHPStan\Rules\Keywords\ContinueBreakInLoopRule { return new PHPStan\Rules\Keywords\ContinueBreakInLoopRule; } public function createService0393(): PHPStan\Rules\Keywords\DeclareStrictTypesRule { return new PHPStan\Rules\Keywords\DeclareStrictTypesRule($this->getService('058')); } public function createService0394(): PHPStan\Rules\Keywords\RequireFileExistsRule { return new PHPStan\Rules\Keywords\RequireFileExistsRule('/home/michael/dev/michaelschiemer'); } public function createService0395(): PHPStan\Rules\Missing\MissingReturnRule { return new PHPStan\Rules\Missing\MissingReturnRule(false, true); } public function createService0396(): PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyAssignRefRule { return new PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyAssignRefRule($this->getService('071')); } public function createService0397(): PHPStan\Rules\Properties\AccessPrivatePropertyThroughStaticRule { return new PHPStan\Rules\Properties\AccessPrivatePropertyThroughStaticRule; } public function createService0398(): PHPStan\Rules\Properties\ReadOnlyPropertyRule { return new PHPStan\Rules\Properties\ReadOnlyPropertyRule($this->getService('043')); } public function createService0399(): PHPStan\Rules\Properties\MissingReadOnlyByPhpDocPropertyAssignRule { return new PHPStan\Rules\Properties\MissingReadOnlyByPhpDocPropertyAssignRule($this->getService('0308')); } public function createService0400(): PHPStan\Rules\Properties\MissingPropertyTypehintRule { return new PHPStan\Rules\Properties\MissingPropertyTypehintRule($this->getService('094')); } public function createService0401(): PHPStan\Rules\Properties\AccessStaticPropertiesRule { return new PHPStan\Rules\Properties\AccessStaticPropertiesRule( $this->getService('reflectionProvider'), $this->getService('098'), $this->getService('088'), true ); } public function createService0402(): PHPStan\Rules\Properties\NullsafePropertyFetchRule { return new PHPStan\Rules\Properties\NullsafePropertyFetchRule; } public function createService0403(): PHPStan\Rules\Properties\GetNonVirtualPropertyHookReadRule { return new PHPStan\Rules\Properties\GetNonVirtualPropertyHookReadRule; } public function createService0404(): PHPStan\Rules\Properties\AccessStaticPropertiesInAssignRule { return new PHPStan\Rules\Properties\AccessStaticPropertiesInAssignRule($this->getService('0401')); } public function createService0405(): PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyAssignRule { return new PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyAssignRule($this->getService('071'), $this->getService('0308')); } public function createService0406(): PHPStan\Rules\Properties\TypesAssignedToPropertiesRule { return new PHPStan\Rules\Properties\TypesAssignedToPropertiesRule($this->getService('098'), $this->getService('071')); } public function createService0407(): PHPStan\Rules\Properties\ReadingWriteOnlyPropertiesRule { return new PHPStan\Rules\Properties\ReadingWriteOnlyPropertiesRule( $this->getService('070'), $this->getService('071'), $this->getService('098'), false ); } public function createService0408(): PHPStan\Rules\Properties\ReadOnlyPropertyAssignRefRule { return new PHPStan\Rules\Properties\ReadOnlyPropertyAssignRefRule($this->getService('071')); } public function createService0409(): PHPStan\Rules\Properties\PropertyAttributesRule { return new PHPStan\Rules\Properties\PropertyAttributesRule($this->getService('067')); } public function createService0410(): PHPStan\Rules\Properties\DefaultValueTypesAssignedToPropertiesRule { return new PHPStan\Rules\Properties\DefaultValueTypesAssignedToPropertiesRule($this->getService('098')); } public function createService0411(): PHPStan\Rules\Properties\ExistingClassesInPropertiesRule { return new PHPStan\Rules\Properties\ExistingClassesInPropertiesRule( $this->getService('reflectionProvider'), $this->getService('088'), $this->getService('076'), $this->getService('043'), true, false, true ); } public function createService0412(): PHPStan\Rules\Properties\AccessPropertiesRule { return new PHPStan\Rules\Properties\AccessPropertiesRule($this->getService('073')); } public function createService0413(): PHPStan\Rules\Properties\OverridingPropertyRule { return new PHPStan\Rules\Properties\OverridingPropertyRule($this->getService('043'), true, false); } public function createService0414(): PHPStan\Rules\Properties\PropertyInClassRule { return new PHPStan\Rules\Properties\PropertyInClassRule($this->getService('043')); } public function createService0415(): PHPStan\Rules\Properties\PropertyHookAttributesRule { return new PHPStan\Rules\Properties\PropertyHookAttributesRule($this->getService('067')); } public function createService0416(): PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyRule { return new PHPStan\Rules\Properties\ReadOnlyByPhpDocPropertyRule; } public function createService0417(): PHPStan\Rules\Properties\SetPropertyHookParameterRule { return new PHPStan\Rules\Properties\SetPropertyHookParameterRule($this->getService('094'), true, true); } public function createService0418(): PHPStan\Rules\Properties\AccessPropertiesInAssignRule { return new PHPStan\Rules\Properties\AccessPropertiesInAssignRule($this->getService('073')); } public function createService0419(): PHPStan\Rules\Properties\ReadOnlyPropertyAssignRule { return new PHPStan\Rules\Properties\ReadOnlyPropertyAssignRule($this->getService('071'), $this->getService('0308')); } public function createService0420(): PHPStan\Rules\Properties\ExistingClassesInPropertyHookTypehintsRule { return new PHPStan\Rules\Properties\ExistingClassesInPropertyHookTypehintsRule($this->getService('069')); } public function createService0421(): PHPStan\Rules\Properties\PropertiesInInterfaceRule { return new PHPStan\Rules\Properties\PropertiesInInterfaceRule($this->getService('043')); } public function createService0422(): PHPStan\Rules\Properties\MissingReadOnlyPropertyAssignRule { return new PHPStan\Rules\Properties\MissingReadOnlyPropertyAssignRule($this->getService('0308')); } public function createService0423(): PHPStan\Rules\Properties\PropertyAssignRefRule { return new PHPStan\Rules\Properties\PropertyAssignRefRule($this->getService('043'), $this->getService('071')); } public function createService0424(): PHPStan\Rules\Properties\InvalidCallablePropertyTypeRule { return new PHPStan\Rules\Properties\InvalidCallablePropertyTypeRule; } public function createService0425(): PHPStan\Rules\Properties\WritingToReadOnlyPropertiesRule { return new PHPStan\Rules\Properties\WritingToReadOnlyPropertiesRule( $this->getService('098'), $this->getService('070'), $this->getService('071'), false ); } public function createService0426(): PHPStan\Rules\Properties\SetNonVirtualPropertyHookAssignRule { return new PHPStan\Rules\Properties\SetNonVirtualPropertyHookAssignRule; } public function createService0427(): PHPStan\Rules\DeadCode\NoopRule { return new PHPStan\Rules\DeadCode\NoopRule($this->getService('058')); } public function createService0428(): PHPStan\Rules\DeadCode\UnusedPrivateMethodRule { return new PHPStan\Rules\DeadCode\UnusedPrivateMethodRule($this->getService('0100')); } public function createService0429(): PHPStan\Rules\DeadCode\CallToStaticMethodStatementWithoutImpurePointsRule { return new PHPStan\Rules\DeadCode\CallToStaticMethodStatementWithoutImpurePointsRule; } public function createService0430(): PHPStan\Rules\DeadCode\UnreachableStatementRule { return new PHPStan\Rules\DeadCode\UnreachableStatementRule; } public function createService0431(): PHPStan\Rules\DeadCode\CallToMethodStatementWithoutImpurePointsRule { return new PHPStan\Rules\DeadCode\CallToMethodStatementWithoutImpurePointsRule; } public function createService0432(): PHPStan\Rules\DeadCode\CallToConstructorStatementWithoutImpurePointsRule { return new PHPStan\Rules\DeadCode\CallToConstructorStatementWithoutImpurePointsRule; } public function createService0433(): PHPStan\Rules\DeadCode\UnusedPrivateConstantRule { return new PHPStan\Rules\DeadCode\UnusedPrivateConstantRule($this->getService('095')); } public function createService0434(): PHPStan\Rules\DeadCode\CallToFunctionStatementWithoutImpurePointsRule { return new PHPStan\Rules\DeadCode\CallToFunctionStatementWithoutImpurePointsRule; } public function createService0435(): PHPStan\Rules\DeadCode\UnusedPrivatePropertyRule { return new PHPStan\Rules\DeadCode\UnusedPrivatePropertyRule($this->getService('072'), [], [], false); } public function createService0436(): PHPStan\Rules\PhpDoc\InvalidThrowsPhpDocValueRule { return new PHPStan\Rules\PhpDoc\InvalidThrowsPhpDocValueRule($this->getService('0300')); } public function createService0437(): PHPStan\Rules\PhpDoc\IncompatiblePropertyHookPhpDocTypeRule { return new PHPStan\Rules\PhpDoc\IncompatiblePropertyHookPhpDocTypeRule($this->getService('0300'), $this->getService('081')); } public function createService0438(): PHPStan\Rules\PhpDoc\MethodConditionalReturnTypeRule { return new PHPStan\Rules\PhpDoc\MethodConditionalReturnTypeRule($this->getService('077')); } public function createService0439(): PHPStan\Rules\PhpDoc\InvalidPhpDocVarTagTypeRule { return new PHPStan\Rules\PhpDoc\InvalidPhpDocVarTagTypeRule( $this->getService('0300'), $this->getService('reflectionProvider'), $this->getService('088'), $this->getService('0121'), $this->getService('094'), $this->getService('076'), true, true, true ); } public function createService0440(): PHPStan\Rules\PhpDoc\IncompatibleClassConstantPhpDocTypeRule { return new PHPStan\Rules\PhpDoc\IncompatibleClassConstantPhpDocTypeRule($this->getService('0121'), $this->getService('076')); } public function createService0441(): PHPStan\Rules\PhpDoc\FunctionConditionalReturnTypeRule { return new PHPStan\Rules\PhpDoc\FunctionConditionalReturnTypeRule($this->getService('077')); } public function createService0442(): PHPStan\Rules\PhpDoc\MethodAssertRule { return new PHPStan\Rules\PhpDoc\MethodAssertRule($this->getService('078')); } public function createService0443(): PHPStan\Rules\PhpDoc\VarTagChangedExpressionTypeRule { return new PHPStan\Rules\PhpDoc\VarTagChangedExpressionTypeRule($this->getService('082')); } public function createService0444(): PHPStan\Rules\PhpDoc\InvalidPHPStanDocTagRule { return new PHPStan\Rules\PhpDoc\InvalidPHPStanDocTagRule($this->getService('0657'), $this->getService('0660')); } public function createService0445(): PHPStan\Rules\PhpDoc\IncompatibleSelfOutTypeRule { return new PHPStan\Rules\PhpDoc\IncompatibleSelfOutTypeRule($this->getService('076'), $this->getService('0121')); } public function createService0446(): PHPStan\Rules\PhpDoc\SealedDefinitionTraitRule { return new PHPStan\Rules\PhpDoc\SealedDefinitionTraitRule($this->getService('reflectionProvider')); } public function createService0447(): PHPStan\Rules\PhpDoc\InvalidPhpDocTagValueRule { return new PHPStan\Rules\PhpDoc\InvalidPhpDocTagValueRule($this->getService('0657'), $this->getService('0660')); } public function createService0448(): PHPStan\Rules\PhpDoc\IncompatiblePhpDocTypeRule { return new PHPStan\Rules\PhpDoc\IncompatiblePhpDocTypeRule($this->getService('0300'), $this->getService('081')); } public function createService0449(): PHPStan\Rules\PhpDoc\IncompatiblePropertyPhpDocTypeRule { return new PHPStan\Rules\PhpDoc\IncompatiblePropertyPhpDocTypeRule( $this->getService('0121'), $this->getService('076'), $this->getService('080') ); } public function createService0450(): PHPStan\Rules\PhpDoc\SealedDefinitionClassRule { return new PHPStan\Rules\PhpDoc\SealedDefinitionClassRule($this->getService('088'), true, true); } public function createService0451(): PHPStan\Rules\PhpDoc\WrongVariableNameInVarTagRule { return new PHPStan\Rules\PhpDoc\WrongVariableNameInVarTagRule($this->getService('0300'), $this->getService('082')); } public function createService0452(): PHPStan\Rules\PhpDoc\RequireImplementsDefinitionTraitRule { return new PHPStan\Rules\PhpDoc\RequireImplementsDefinitionTraitRule( $this->getService('reflectionProvider'), $this->getService('088'), true, true ); } public function createService0453(): PHPStan\Rules\PhpDoc\RequireImplementsDefinitionClassRule { return new PHPStan\Rules\PhpDoc\RequireImplementsDefinitionClassRule; } public function createService0454(): PHPStan\Rules\PhpDoc\FunctionAssertRule { return new PHPStan\Rules\PhpDoc\FunctionAssertRule($this->getService('078')); } public function createService0455(): PHPStan\Rules\PhpDoc\RequireExtendsDefinitionClassRule { return new PHPStan\Rules\PhpDoc\RequireExtendsDefinitionClassRule($this->getService('079')); } public function createService0456(): PHPStan\Rules\PhpDoc\IncompatibleParamImmediatelyInvokedCallableRule { return new PHPStan\Rules\PhpDoc\IncompatibleParamImmediatelyInvokedCallableRule($this->getService('0300')); } public function createService0457(): PHPStan\Rules\PhpDoc\RequireExtendsDefinitionTraitRule { return new PHPStan\Rules\PhpDoc\RequireExtendsDefinitionTraitRule( $this->getService('reflectionProvider'), $this->getService('079') ); } public function createService0458(): PHPStan\Rules\Names\UsedNamesRule { return new PHPStan\Rules\Names\UsedNamesRule; } public function createService0459(): PHPStan\Rules\Operators\InvalidAssignVarRule { return new PHPStan\Rules\Operators\InvalidAssignVarRule($this->getService('087')); } public function createService0460(): PHPStan\Rules\Operators\InvalidComparisonOperationRule { return new PHPStan\Rules\Operators\InvalidComparisonOperationRule($this->getService('098')); } public function createService0461(): PHPStan\Rules\Operators\InvalidBinaryOperationRule { return new PHPStan\Rules\Operators\InvalidBinaryOperationRule($this->getService('058'), $this->getService('098')); } public function createService0462(): PHPStan\Rules\Operators\InvalidIncDecOperationRule { return new PHPStan\Rules\Operators\InvalidIncDecOperationRule($this->getService('098')); } public function createService0463(): PHPStan\Rules\Operators\InvalidUnaryOperationRule { return new PHPStan\Rules\Operators\InvalidUnaryOperationRule($this->getService('098')); } public function createService0464(): PHPStan\Rules\Arrays\DeadForeachRule { return new PHPStan\Rules\Arrays\DeadForeachRule; } public function createService0465(): PHPStan\Rules\Arrays\UnpackIterableInArrayRule { return new PHPStan\Rules\Arrays\UnpackIterableInArrayRule($this->getService('098')); } public function createService0466(): PHPStan\Rules\Arrays\ArrayDestructuringRule { return new PHPStan\Rules\Arrays\ArrayDestructuringRule($this->getService('098'), $this->getService('085')); } public function createService0467(): PHPStan\Rules\Arrays\OffsetAccessWithoutDimForReadingRule { return new PHPStan\Rules\Arrays\OffsetAccessWithoutDimForReadingRule; } public function createService0468(): PHPStan\Rules\Arrays\OffsetAccessAssignmentRule { return new PHPStan\Rules\Arrays\OffsetAccessAssignmentRule($this->getService('098')); } public function createService0469(): PHPStan\Rules\Arrays\DuplicateKeysInLiteralArraysRule { return new PHPStan\Rules\Arrays\DuplicateKeysInLiteralArraysRule($this->getService('058')); } public function createService0470(): PHPStan\Rules\Arrays\InvalidKeyInArrayItemRule { return new PHPStan\Rules\Arrays\InvalidKeyInArrayItemRule(true); } public function createService0471(): PHPStan\Rules\Arrays\IterableInForeachRule { return new PHPStan\Rules\Arrays\IterableInForeachRule($this->getService('098')); } public function createService0472(): PHPStan\Rules\Arrays\InvalidKeyInArrayDimFetchRule { return new PHPStan\Rules\Arrays\InvalidKeyInArrayDimFetchRule($this->getService('098'), true); } public function createService0473(): PHPStan\Rules\Arrays\OffsetAccessValueAssignmentRule { return new PHPStan\Rules\Arrays\OffsetAccessValueAssignmentRule($this->getService('098')); } public function createService0474(): PHPStan\Rules\Arrays\ArrayUnpackingRule { return new PHPStan\Rules\Arrays\ArrayUnpackingRule($this->getService('043'), $this->getService('098')); } public function createService0475(): PHPStan\Rules\Arrays\NonexistentOffsetInArrayDimFetchRule { return new PHPStan\Rules\Arrays\NonexistentOffsetInArrayDimFetchRule($this->getService('098'), $this->getService('085'), true); } public function createService0476(): PHPStan\Rules\Arrays\OffsetAccessAssignOpRule { return new PHPStan\Rules\Arrays\OffsetAccessAssignOpRule($this->getService('098')); } public function createService0477(): PHPStan\Rules\Ignore\IgnoreParseErrorRule { return new PHPStan\Rules\Ignore\IgnoreParseErrorRule; } public function createService0478(): PHPStan\Rules\Cast\InvalidPartOfEncapsedStringRule { return new PHPStan\Rules\Cast\InvalidPartOfEncapsedStringRule($this->getService('058'), $this->getService('098')); } public function createService0479(): PHPStan\Rules\Cast\UnsetCastRule { return new PHPStan\Rules\Cast\UnsetCastRule($this->getService('043')); } public function createService0480(): PHPStan\Rules\Cast\EchoRule { return new PHPStan\Rules\Cast\EchoRule($this->getService('098')); } public function createService0481(): PHPStan\Rules\Cast\InvalidCastRule { return new PHPStan\Rules\Cast\InvalidCastRule($this->getService('reflectionProvider'), $this->getService('098')); } public function createService0482(): PHPStan\Rules\Cast\PrintRule { return new PHPStan\Rules\Cast\PrintRule($this->getService('098')); } public function createService0483(): PHPStan\Rules\Whitespace\FileWhitespaceRule { return new PHPStan\Rules\Whitespace\FileWhitespaceRule; } public function createService0484(): PHPStan\Rules\Variables\EmptyRule { return new PHPStan\Rules\Variables\EmptyRule($this->getService('089')); } public function createService0485(): PHPStan\Rules\Variables\IssetRule { return new PHPStan\Rules\Variables\IssetRule($this->getService('089')); } public function createService0486(): PHPStan\Rules\Variables\UnsetRule { return new PHPStan\Rules\Variables\UnsetRule($this->getService('071'), $this->getService('043')); } public function createService0487(): PHPStan\Rules\Variables\NullCoalesceRule { return new PHPStan\Rules\Variables\NullCoalesceRule($this->getService('089')); } public function createService0488(): PHPStan\Rules\Variables\ParameterOutExecutionEndTypeRule { return new PHPStan\Rules\Variables\ParameterOutExecutionEndTypeRule($this->getService('098')); } public function createService0489(): PHPStan\Rules\Variables\DefinedVariableRule { return new PHPStan\Rules\Variables\DefinedVariableRule(true, true); } public function createService0490(): PHPStan\Rules\Variables\ParameterOutAssignedTypeRule { return new PHPStan\Rules\Variables\ParameterOutAssignedTypeRule($this->getService('098')); } public function createService0491(): PHPStan\Rules\Variables\VariableCloningRule { return new PHPStan\Rules\Variables\VariableCloningRule($this->getService('098')); } public function createService0492(): PHPStan\Rules\Variables\CompactVariablesRule { return new PHPStan\Rules\Variables\CompactVariablesRule(true); } public function createService0493(): PHPStan\Rules\Namespaces\ExistingNamesInGroupUseRule { return new PHPStan\Rules\Namespaces\ExistingNamesInGroupUseRule( $this->getService('reflectionProvider'), $this->getService('088'), false, true ); } public function createService0494(): PHPStan\Rules\Namespaces\ExistingNamesInUseRule { return new PHPStan\Rules\Namespaces\ExistingNamesInUseRule( $this->getService('reflectionProvider'), $this->getService('088'), false, true ); } public function createService0495(): PHPStan\Rules\Api\PhpStanNamespaceIn3rdPartyPackageRule { return new PHPStan\Rules\Api\PhpStanNamespaceIn3rdPartyPackageRule($this->getService('090')); } public function createService0496(): PHPStan\Rules\Api\RuntimeReflectionFunctionRule { return new PHPStan\Rules\Api\RuntimeReflectionFunctionRule($this->getService('reflectionProvider')); } public function createService0497(): PHPStan\Rules\Api\ApiInstanceofTypeRule { return new PHPStan\Rules\Api\ApiInstanceofTypeRule($this->getService('reflectionProvider')); } public function createService0498(): PHPStan\Rules\Api\ApiClassConstFetchRule { return new PHPStan\Rules\Api\ApiClassConstFetchRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0499(): PHPStan\Rules\Api\ApiInterfaceExtendsRule { return new PHPStan\Rules\Api\ApiInterfaceExtendsRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0500(): PHPStan\Rules\Api\ApiInstanceofRule { return new PHPStan\Rules\Api\ApiInstanceofRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0501(): PHPStan\Rules\Api\ApiClassImplementsRule { return new PHPStan\Rules\Api\ApiClassImplementsRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0502(): PHPStan\Rules\Api\OldPhpParser4ClassRule { return new PHPStan\Rules\Api\OldPhpParser4ClassRule; } public function createService0503(): PHPStan\Rules\Api\ApiMethodCallRule { return new PHPStan\Rules\Api\ApiMethodCallRule($this->getService('090')); } public function createService0504(): PHPStan\Rules\Api\ApiInstantiationRule { return new PHPStan\Rules\Api\ApiInstantiationRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0505(): PHPStan\Rules\Api\NodeConnectingVisitorAttributesRule { return new PHPStan\Rules\Api\NodeConnectingVisitorAttributesRule; } public function createService0506(): PHPStan\Rules\Api\ApiClassExtendsRule { return new PHPStan\Rules\Api\ApiClassExtendsRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0507(): PHPStan\Rules\Api\ApiStaticCallRule { return new PHPStan\Rules\Api\ApiStaticCallRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0508(): PHPStan\Rules\Api\RuntimeReflectionInstantiationRule { return new PHPStan\Rules\Api\RuntimeReflectionInstantiationRule($this->getService('reflectionProvider')); } public function createService0509(): PHPStan\Rules\Api\ApiTraitUseRule { return new PHPStan\Rules\Api\ApiTraitUseRule($this->getService('090'), $this->getService('reflectionProvider')); } public function createService0510(): PHPStan\Rules\Api\GetTemplateTypeRule { return new PHPStan\Rules\Api\GetTemplateTypeRule($this->getService('reflectionProvider')); } public function createService0511(): PHPStan\Rules\Exceptions\ThrowExpressionRule { return new PHPStan\Rules\Exceptions\ThrowExpressionRule($this->getService('043')); } public function createService0512(): PHPStan\Rules\Exceptions\NoncapturingCatchRule { return new PHPStan\Rules\Exceptions\NoncapturingCatchRule; } public function createService0513(): PHPStan\Rules\Exceptions\ThrowsVoidMethodWithExplicitThrowPointRule { return new PHPStan\Rules\Exceptions\ThrowsVoidMethodWithExplicitThrowPointRule( $this->getService('exceptionTypeResolver'), false ); } public function createService0514(): PHPStan\Rules\Exceptions\CatchWithUnthrownExceptionRule { return new PHPStan\Rules\Exceptions\CatchWithUnthrownExceptionRule($this->getService('exceptionTypeResolver'), true); } public function createService0515(): PHPStan\Rules\Exceptions\ThrowsVoidFunctionWithExplicitThrowPointRule { return new PHPStan\Rules\Exceptions\ThrowsVoidFunctionWithExplicitThrowPointRule( $this->getService('exceptionTypeResolver'), false ); } public function createService0516(): PHPStan\Rules\Exceptions\ThrowExprTypeRule { return new PHPStan\Rules\Exceptions\ThrowExprTypeRule($this->getService('098')); } public function createService0517(): PHPStan\Rules\Exceptions\CaughtExceptionExistenceRule { return new PHPStan\Rules\Exceptions\CaughtExceptionExistenceRule( $this->getService('reflectionProvider'), $this->getService('088'), true, true ); } public function createService0518(): PHPStan\Rules\Exceptions\OverwrittenExitPointByFinallyRule { return new PHPStan\Rules\Exceptions\OverwrittenExitPointByFinallyRule; } public function createService0519(): PHPStan\Rules\Exceptions\ThrowsVoidPropertyHookWithExplicitThrowPointRule { return new PHPStan\Rules\Exceptions\ThrowsVoidPropertyHookWithExplicitThrowPointRule( $this->getService('exceptionTypeResolver'), false ); } public function createService0520(): PHPStan\Rules\Generators\YieldInGeneratorRule { return new PHPStan\Rules\Generators\YieldInGeneratorRule(true); } public function createService0521(): PHPStan\Rules\Generators\YieldTypeRule { return new PHPStan\Rules\Generators\YieldTypeRule($this->getService('098')); } public function createService0522(): PHPStan\Rules\Generators\YieldFromTypeRule { return new PHPStan\Rules\Generators\YieldFromTypeRule($this->getService('098'), true); } public function createService0523(): PHPStan\Rules\Constants\ValueAssignedToClassConstantRule { return new PHPStan\Rules\Constants\ValueAssignedToClassConstantRule; } public function createService0524(): PHPStan\Rules\Constants\MagicConstantContextRule { return new PHPStan\Rules\Constants\MagicConstantContextRule; } public function createService0525(): PHPStan\Rules\Constants\MissingClassConstantTypehintRule { return new PHPStan\Rules\Constants\MissingClassConstantTypehintRule($this->getService('094')); } public function createService0526(): PHPStan\Rules\Constants\FinalConstantRule { return new PHPStan\Rules\Constants\FinalConstantRule($this->getService('043')); } public function createService0527(): PHPStan\Rules\Constants\ConstantRule { return new PHPStan\Rules\Constants\ConstantRule(true); } public function createService0528(): PHPStan\Rules\Constants\OverridingConstantRule { return new PHPStan\Rules\Constants\OverridingConstantRule(true); } public function createService0529(): PHPStan\Rules\Constants\DynamicClassConstantFetchRule { return new PHPStan\Rules\Constants\DynamicClassConstantFetchRule($this->getService('043'), $this->getService('098')); } public function createService0530(): PHPStan\Rules\Constants\FinalPrivateConstantRule { return new PHPStan\Rules\Constants\FinalPrivateConstantRule; } public function createService0531(): PHPStan\Rules\Constants\NativeTypedClassConstantRule { return new PHPStan\Rules\Constants\NativeTypedClassConstantRule($this->getService('043')); } public function createService0532(): PHPStan\Rules\Constants\ClassAsClassConstantRule { return new PHPStan\Rules\Constants\ClassAsClassConstantRule; } public function createService0533(): PHPStan\Rules\TooWideTypehints\TooWideClosureReturnTypehintRule { return new PHPStan\Rules\TooWideTypehints\TooWideClosureReturnTypehintRule; } public function createService0534(): PHPStan\Rules\TooWideTypehints\TooWideArrowFunctionReturnTypehintRule { return new PHPStan\Rules\TooWideTypehints\TooWideArrowFunctionReturnTypehintRule; } public function createService0535(): PHPStan\Rules\TooWideTypehints\TooWideMethodReturnTypehintRule { return new PHPStan\Rules\TooWideTypehints\TooWideMethodReturnTypehintRule(false); } public function createService0536(): PHPStan\Rules\TooWideTypehints\TooWideFunctionParameterOutTypeRule { return new PHPStan\Rules\TooWideTypehints\TooWideFunctionParameterOutTypeRule($this->getService('096')); } public function createService0537(): PHPStan\Rules\TooWideTypehints\TooWideMethodParameterOutTypeRule { return new PHPStan\Rules\TooWideTypehints\TooWideMethodParameterOutTypeRule($this->getService('096')); } public function createService0538(): PHPStan\Rules\TooWideTypehints\TooWidePropertyTypeRule { return new PHPStan\Rules\TooWideTypehints\TooWidePropertyTypeRule($this->getService('072'), $this->getService('071')); } public function createService0539(): PHPStan\Rules\TooWideTypehints\TooWideFunctionReturnTypehintRule { return new PHPStan\Rules\TooWideTypehints\TooWideFunctionReturnTypehintRule; } public function createService0540(): PHPStan\Rules\Functions\InnerFunctionRule { return new PHPStan\Rules\Functions\InnerFunctionRule; } public function createService0541(): PHPStan\Rules\Functions\ImplodeParameterCastableToStringRule { return new PHPStan\Rules\Functions\ImplodeParameterCastableToStringRule( $this->getService('reflectionProvider'), $this->getService('084') ); } public function createService0542(): PHPStan\Rules\Functions\IncompatibleClosureDefaultParameterTypeRule { return new PHPStan\Rules\Functions\IncompatibleClosureDefaultParameterTypeRule; } public function createService0543(): PHPStan\Rules\Functions\ArrayFilterRule { return new PHPStan\Rules\Functions\ArrayFilterRule($this->getService('reflectionProvider'), true, true); } public function createService0544(): PHPStan\Rules\Functions\ClosureReturnTypeRule { return new PHPStan\Rules\Functions\ClosureReturnTypeRule($this->getService('075')); } public function createService0545(): PHPStan\Rules\Functions\RedefinedParametersRule { return new PHPStan\Rules\Functions\RedefinedParametersRule; } public function createService0546(): PHPStan\Rules\Functions\SortParameterCastableToStringRule { return new PHPStan\Rules\Functions\SortParameterCastableToStringRule( $this->getService('reflectionProvider'), $this->getService('084') ); } public function createService0547(): PHPStan\Rules\Functions\ArrowFunctionAttributesRule { return new PHPStan\Rules\Functions\ArrowFunctionAttributesRule($this->getService('067')); } public function createService0548(): PHPStan\Rules\Functions\ReturnTypeRule { return new PHPStan\Rules\Functions\ReturnTypeRule($this->getService('075')); } public function createService0549(): PHPStan\Rules\Functions\PrintfParametersRule { return new PHPStan\Rules\Functions\PrintfParametersRule($this->getService('097'), $this->getService('reflectionProvider')); } public function createService0550(): PHPStan\Rules\Functions\CallToNonExistentFunctionRule { return new PHPStan\Rules\Functions\CallToNonExistentFunctionRule($this->getService('reflectionProvider'), false, true); } public function createService0551(): PHPStan\Rules\Functions\ArrowFunctionReturnNullsafeByRefRule { return new PHPStan\Rules\Functions\ArrowFunctionReturnNullsafeByRefRule($this->getService('087')); } public function createService0552(): PHPStan\Rules\Functions\UselessFunctionReturnValueRule { return new PHPStan\Rules\Functions\UselessFunctionReturnValueRule($this->getService('reflectionProvider')); } public function createService0553(): PHPStan\Rules\Functions\DefineParametersRule { return new PHPStan\Rules\Functions\DefineParametersRule($this->getService('043')); } public function createService0554(): PHPStan\Rules\Functions\ExistingClassesInArrowFunctionTypehintsRule { return new PHPStan\Rules\Functions\ExistingClassesInArrowFunctionTypehintsRule( $this->getService('069'), $this->getService('043') ); } public function createService0555(): PHPStan\Rules\Functions\ArrayValuesRule { return new PHPStan\Rules\Functions\ArrayValuesRule($this->getService('reflectionProvider'), true, true); } public function createService0556(): PHPStan\Rules\Functions\ExistingClassesInTypehintsRule { return new PHPStan\Rules\Functions\ExistingClassesInTypehintsRule($this->getService('069')); } public function createService0557(): PHPStan\Rules\Functions\InvalidLexicalVariablesInClosureUseRule { return new PHPStan\Rules\Functions\InvalidLexicalVariablesInClosureUseRule; } public function createService0558(): PHPStan\Rules\Functions\CallCallablesRule { return new PHPStan\Rules\Functions\CallCallablesRule($this->getService('074'), $this->getService('098'), true); } public function createService0559(): PHPStan\Rules\Functions\VariadicParametersDeclarationRule { return new PHPStan\Rules\Functions\VariadicParametersDeclarationRule; } public function createService0560(): PHPStan\Rules\Functions\ArrowFunctionReturnTypeRule { return new PHPStan\Rules\Functions\ArrowFunctionReturnTypeRule($this->getService('075')); } public function createService0561(): PHPStan\Rules\Functions\FunctionAttributesRule { return new PHPStan\Rules\Functions\FunctionAttributesRule($this->getService('067')); } public function createService0562(): PHPStan\Rules\Functions\CallToFunctionStatementWithoutSideEffectsRule { return new PHPStan\Rules\Functions\CallToFunctionStatementWithoutSideEffectsRule($this->getService('reflectionProvider')); } public function createService0563(): PHPStan\Rules\Functions\RandomIntParametersRule { return new PHPStan\Rules\Functions\RandomIntParametersRule( $this->getService('reflectionProvider'), $this->getService('043'), true ); } public function createService0564(): PHPStan\Rules\Functions\UnusedClosureUsesRule { return new PHPStan\Rules\Functions\UnusedClosureUsesRule($this->getService('068')); } public function createService0565(): PHPStan\Rules\Functions\ParamAttributesRule { return new PHPStan\Rules\Functions\ParamAttributesRule($this->getService('067')); } public function createService0566(): PHPStan\Rules\Functions\CallToFunctionParametersRule { return new PHPStan\Rules\Functions\CallToFunctionParametersRule( $this->getService('reflectionProvider'), $this->getService('074') ); } public function createService0567(): PHPStan\Rules\Functions\PrintfArrayParametersRule { return new PHPStan\Rules\Functions\PrintfArrayParametersRule($this->getService('097'), $this->getService('reflectionProvider')); } public function createService0568(): PHPStan\Rules\Functions\MissingFunctionParameterTypehintRule { return new PHPStan\Rules\Functions\MissingFunctionParameterTypehintRule($this->getService('094')); } public function createService0569(): PHPStan\Rules\Functions\IncompatibleDefaultParameterTypeRule { return new PHPStan\Rules\Functions\IncompatibleDefaultParameterTypeRule; } public function createService0570(): PHPStan\Rules\Functions\IncompatibleArrowFunctionDefaultParameterTypeRule { return new PHPStan\Rules\Functions\IncompatibleArrowFunctionDefaultParameterTypeRule; } public function createService0571(): PHPStan\Rules\Functions\CallUserFuncRule { return new PHPStan\Rules\Functions\CallUserFuncRule($this->getService('reflectionProvider'), $this->getService('074')); } public function createService0572(): PHPStan\Rules\Functions\MissingFunctionReturnTypehintRule { return new PHPStan\Rules\Functions\MissingFunctionReturnTypehintRule($this->getService('094')); } public function createService0573(): PHPStan\Rules\Functions\ClosureAttributesRule { return new PHPStan\Rules\Functions\ClosureAttributesRule($this->getService('067')); } public function createService0574(): PHPStan\Rules\Functions\ParameterCastableToStringRule { return new PHPStan\Rules\Functions\ParameterCastableToStringRule( $this->getService('reflectionProvider'), $this->getService('084') ); } public function createService0575(): PHPStan\Rules\Functions\ExistingClassesInClosureTypehintsRule { return new PHPStan\Rules\Functions\ExistingClassesInClosureTypehintsRule($this->getService('069')); } public function createService0576(): PHPStan\Rules\Functions\ReturnNullsafeByRefRule { return new PHPStan\Rules\Functions\ReturnNullsafeByRefRule($this->getService('087')); } public function createService0577(): PHPStan\Rules\Functions\FunctionCallableRule { return new PHPStan\Rules\Functions\FunctionCallableRule( $this->getService('reflectionProvider'), $this->getService('098'), $this->getService('043'), false, true ); } public function createService0578(): PHPStan\Rules\Methods\MethodAttributesRule { return new PHPStan\Rules\Methods\MethodAttributesRule($this->getService('067')); } public function createService0579(): PHPStan\Rules\Methods\AbstractPrivateMethodRule { return new PHPStan\Rules\Methods\AbstractPrivateMethodRule; } public function createService0580(): PHPStan\Rules\Methods\FinalPrivateMethodRule { return new PHPStan\Rules\Methods\FinalPrivateMethodRule; } public function createService0581(): PHPStan\Rules\Methods\ReturnTypeRule { return new PHPStan\Rules\Methods\ReturnTypeRule($this->getService('075')); } public function createService0582(): PHPStan\Rules\Methods\MissingMethodSelfOutTypeRule { return new PHPStan\Rules\Methods\MissingMethodSelfOutTypeRule($this->getService('094')); } public function createService0583(): PHPStan\Rules\Methods\CallStaticMethodsRule { return new PHPStan\Rules\Methods\CallStaticMethodsRule($this->getService('0104'), $this->getService('074')); } public function createService0584(): PHPStan\Rules\Methods\CallToMethodStatementWithoutSideEffectsRule { return new PHPStan\Rules\Methods\CallToMethodStatementWithoutSideEffectsRule($this->getService('098')); } public function createService0585(): PHPStan\Rules\Methods\MethodVisibilityInInterfaceRule { return new PHPStan\Rules\Methods\MethodVisibilityInInterfaceRule; } public function createService0586(): PHPStan\Rules\Methods\CallMethodsRule { return new PHPStan\Rules\Methods\CallMethodsRule($this->getService('099'), $this->getService('074')); } public function createService0587(): PHPStan\Rules\Methods\ExistingClassesInTypehintsRule { return new PHPStan\Rules\Methods\ExistingClassesInTypehintsRule($this->getService('069')); } public function createService0588(): PHPStan\Rules\Methods\MissingMethodImplementationRule { return new PHPStan\Rules\Methods\MissingMethodImplementationRule; } public function createService0589(): PHPStan\Rules\Methods\MissingMagicSerializationMethodsRule { return new PHPStan\Rules\Methods\MissingMagicSerializationMethodsRule($this->getService('043')); } public function createService0590(): PHPStan\Rules\Methods\MissingMethodParameterTypehintRule { return new PHPStan\Rules\Methods\MissingMethodParameterTypehintRule($this->getService('094')); } public function createService0591(): PHPStan\Rules\Methods\CallPrivateMethodThroughStaticRule { return new PHPStan\Rules\Methods\CallPrivateMethodThroughStaticRule; } public function createService0592(): PHPStan\Rules\Methods\MissingMethodReturnTypehintRule { return new PHPStan\Rules\Methods\MissingMethodReturnTypehintRule($this->getService('094')); } public function createService0593(): PHPStan\Rules\Methods\OverridingMethodRule { return new PHPStan\Rules\Methods\OverridingMethodRule( $this->getService('043'), $this->getService('0674'), true, $this->getService('0103'), $this->getService('0101'), $this->getService('0102'), false ); } public function createService0594(): PHPStan\Rules\Methods\StaticMethodCallableRule { return new PHPStan\Rules\Methods\StaticMethodCallableRule($this->getService('0104'), $this->getService('043')); } public function createService0595(): PHPStan\Rules\Methods\ConstructorReturnTypeRule { return new PHPStan\Rules\Methods\ConstructorReturnTypeRule; } public function createService0596(): PHPStan\Rules\Methods\AbstractMethodInNonAbstractClassRule { return new PHPStan\Rules\Methods\AbstractMethodInNonAbstractClassRule; } public function createService0597(): PHPStan\Rules\Methods\IncompatibleDefaultParameterTypeRule { return new PHPStan\Rules\Methods\IncompatibleDefaultParameterTypeRule; } public function createService0598(): PHPStan\Rules\Methods\ConsistentConstructorRule { return new PHPStan\Rules\Methods\ConsistentConstructorRule($this->getService('0103'), $this->getService('0101')); } public function createService0599(): PHPStan\Rules\Methods\CallToConstructorStatementWithoutSideEffectsRule { return new PHPStan\Rules\Methods\CallToConstructorStatementWithoutSideEffectsRule($this->getService('reflectionProvider')); } public function createService0600(): PHPStan\Rules\Methods\NullsafeMethodCallRule { return new PHPStan\Rules\Methods\NullsafeMethodCallRule; } public function createService0601(): PHPStan\Rules\Methods\CallToStaticMethodStatementWithoutSideEffectsRule { return new PHPStan\Rules\Methods\CallToStaticMethodStatementWithoutSideEffectsRule( $this->getService('098'), $this->getService('reflectionProvider') ); } public function createService0602(): PHPStan\Rules\Methods\MethodCallableRule { return new PHPStan\Rules\Methods\MethodCallableRule($this->getService('099'), $this->getService('043')); } public function createService0603(): PHPStan\Rules\Comparison\ImpossibleCheckTypeMethodCallRule { return new PHPStan\Rules\Comparison\ImpossibleCheckTypeMethodCallRule($this->getService('0107'), true, false, true); } public function createService0604(): PHPStan\Rules\Comparison\UsageOfVoidMatchExpressionRule { return new PHPStan\Rules\Comparison\UsageOfVoidMatchExpressionRule; } public function createService0605(): PHPStan\Rules\Comparison\ConstantLooseComparisonRule { return new PHPStan\Rules\Comparison\ConstantLooseComparisonRule(true, false, true); } public function createService0606(): PHPStan\Rules\Comparison\DoWhileLoopConstantConditionRule { return new PHPStan\Rules\Comparison\DoWhileLoopConstantConditionRule($this->getService('0106'), true, true); } public function createService0607(): PHPStan\Rules\Comparison\BooleanAndConstantConditionRule { return new PHPStan\Rules\Comparison\BooleanAndConstantConditionRule($this->getService('0106'), true, false, true); } public function createService0608(): PHPStan\Rules\Comparison\ImpossibleCheckTypeStaticMethodCallRule { return new PHPStan\Rules\Comparison\ImpossibleCheckTypeStaticMethodCallRule($this->getService('0107'), true, false, true); } public function createService0609(): PHPStan\Rules\Comparison\WhileLoopAlwaysTrueConditionRule { return new PHPStan\Rules\Comparison\WhileLoopAlwaysTrueConditionRule($this->getService('0106'), true, true); } public function createService0610(): PHPStan\Rules\Comparison\ImpossibleCheckTypeFunctionCallRule { return new PHPStan\Rules\Comparison\ImpossibleCheckTypeFunctionCallRule($this->getService('0107'), true, false, true); } public function createService0611(): PHPStan\Rules\Comparison\BooleanNotConstantConditionRule { return new PHPStan\Rules\Comparison\BooleanNotConstantConditionRule($this->getService('0106'), true, false, true); } public function createService0612(): PHPStan\Rules\Comparison\LogicalXorConstantConditionRule { return new PHPStan\Rules\Comparison\LogicalXorConstantConditionRule($this->getService('0106'), true, false, true); } public function createService0613(): PHPStan\Rules\Comparison\BooleanOrConstantConditionRule { return new PHPStan\Rules\Comparison\BooleanOrConstantConditionRule($this->getService('0106'), true, false, true); } public function createService0614(): PHPStan\Rules\Comparison\MatchExpressionRule { return new PHPStan\Rules\Comparison\MatchExpressionRule($this->getService('0106'), false, true); } public function createService0615(): PHPStan\Rules\Comparison\IfConstantConditionRule { return new PHPStan\Rules\Comparison\IfConstantConditionRule($this->getService('0106'), true, true); } public function createService0616(): PHPStan\Rules\Comparison\TernaryOperatorConstantConditionRule { return new PHPStan\Rules\Comparison\TernaryOperatorConstantConditionRule($this->getService('0106'), true, true); } public function createService0617(): PHPStan\Rules\Comparison\NumberComparisonOperatorsConstantConditionRule { return new PHPStan\Rules\Comparison\NumberComparisonOperatorsConstantConditionRule(true, true); } public function createService0618(): PHPStan\Rules\Comparison\StrictComparisonOfDifferentTypesRule { return new PHPStan\Rules\Comparison\StrictComparisonOfDifferentTypesRule($this->getService('011'), true, false, true); } public function createService0619(): PHPStan\Rules\Comparison\ElseIfConstantConditionRule { return new PHPStan\Rules\Comparison\ElseIfConstantConditionRule($this->getService('0106'), true, false, true); } public function createService0620(): PHPStan\Rules\Comparison\WhileLoopAlwaysFalseConditionRule { return new PHPStan\Rules\Comparison\WhileLoopAlwaysFalseConditionRule($this->getService('0106'), true, true); } public function createService0621(): PHPStan\Rules\Traits\ConflictingTraitConstantsRule { return new PHPStan\Rules\Traits\ConflictingTraitConstantsRule( $this->getService('0301'), $this->getService('reflectionProvider') ); } public function createService0622(): PHPStan\Rules\Traits\ConstantsInTraitsRule { return new PHPStan\Rules\Traits\ConstantsInTraitsRule($this->getService('043')); } public function createService0623(): PHPStan\Rules\Traits\TraitAttributesRule { return new PHPStan\Rules\Traits\TraitAttributesRule($this->getService('067')); } public function createService0624(): PHPStan\Rules\Traits\NotAnalysedTraitRule { return new PHPStan\Rules\Traits\NotAnalysedTraitRule; } public function createService0625(): PHPStan\Rules\Regexp\RegularExpressionQuotingRule { return new PHPStan\Rules\Regexp\RegularExpressionQuotingRule($this->getService('reflectionProvider'), $this->getService('0295')); } public function createService0626(): PHPStan\Rules\Regexp\RegularExpressionPatternRule { return new PHPStan\Rules\Regexp\RegularExpressionPatternRule($this->getService('0295')); } public function createService0627(): PHPStan\Rules\EnumCases\EnumCaseAttributesRule { return new PHPStan\Rules\EnumCases\EnumCaseAttributesRule($this->getService('067')); } public function createService0628(): PHPStan\Rules\Generics\ClassTemplateTypeRule { return new PHPStan\Rules\Generics\ClassTemplateTypeRule($this->getService('0123')); } public function createService0629(): PHPStan\Rules\Generics\EnumAncestorsRule { return new PHPStan\Rules\Generics\EnumAncestorsRule($this->getService('0118'), $this->getService('0119')); } public function createService0630(): PHPStan\Rules\Generics\FunctionSignatureVarianceRule { return new PHPStan\Rules\Generics\FunctionSignatureVarianceRule($this->getService('0120')); } public function createService0631(): PHPStan\Rules\Generics\MethodTagTemplateTypeRule { return new PHPStan\Rules\Generics\MethodTagTemplateTypeRule($this->getService('0122')); } public function createService0632(): PHPStan\Rules\Generics\MethodTemplateTypeRule { return new PHPStan\Rules\Generics\MethodTemplateTypeRule($this->getService('0300'), $this->getService('0123')); } public function createService0633(): PHPStan\Rules\Generics\PropertyVarianceRule { return new PHPStan\Rules\Generics\PropertyVarianceRule($this->getService('0120')); } public function createService0634(): PHPStan\Rules\Generics\TraitTemplateTypeRule { return new PHPStan\Rules\Generics\TraitTemplateTypeRule($this->getService('0300'), $this->getService('0123')); } public function createService0635(): PHPStan\Rules\Generics\MethodTagTemplateTypeTraitRule { return new PHPStan\Rules\Generics\MethodTagTemplateTypeTraitRule( $this->getService('0122'), $this->getService('reflectionProvider') ); } public function createService0636(): PHPStan\Rules\Generics\EnumTemplateTypeRule { return new PHPStan\Rules\Generics\EnumTemplateTypeRule; } public function createService0637(): PHPStan\Rules\Generics\UsedTraitsRule { return new PHPStan\Rules\Generics\UsedTraitsRule($this->getService('0300'), $this->getService('0118')); } public function createService0638(): PHPStan\Rules\Generics\InterfaceTemplateTypeRule { return new PHPStan\Rules\Generics\InterfaceTemplateTypeRule($this->getService('0123')); } public function createService0639(): PHPStan\Rules\Generics\MethodSignatureVarianceRule { return new PHPStan\Rules\Generics\MethodSignatureVarianceRule($this->getService('0120')); } public function createService0640(): PHPStan\Rules\Generics\InterfaceAncestorsRule { return new PHPStan\Rules\Generics\InterfaceAncestorsRule($this->getService('0118'), $this->getService('0119')); } public function createService0641(): PHPStan\Rules\Generics\FunctionTemplateTypeRule { return new PHPStan\Rules\Generics\FunctionTemplateTypeRule($this->getService('0300'), $this->getService('0123')); } public function createService0642(): PHPStan\Rules\Generics\ClassAncestorsRule { return new PHPStan\Rules\Generics\ClassAncestorsRule($this->getService('0118'), $this->getService('0119')); } public function createService0643(): PHPStan\Rules\Types\InvalidTypesInUnionRule { return new PHPStan\Rules\Types\InvalidTypesInUnionRule; } public function createService0644(): PHPStan\Rules\DateTimeInstantiationRule { return new PHPStan\Rules\DateTimeInstantiationRule; } public function createService0645(): PHPStan\Rules\DeadCode\PossiblyPureNewCollector { return new PHPStan\Rules\DeadCode\PossiblyPureNewCollector($this->getService('reflectionProvider')); } public function createService0646(): PHPStan\Rules\DeadCode\FunctionWithoutImpurePointsCollector { return new PHPStan\Rules\DeadCode\FunctionWithoutImpurePointsCollector; } public function createService0647(): PHPStan\Rules\DeadCode\PossiblyPureMethodCallCollector { return new PHPStan\Rules\DeadCode\PossiblyPureMethodCallCollector; } public function createService0648(): PHPStan\Rules\DeadCode\ConstructorWithoutImpurePointsCollector { return new PHPStan\Rules\DeadCode\ConstructorWithoutImpurePointsCollector; } public function createService0649(): PHPStan\Rules\DeadCode\PossiblyPureFuncCallCollector { return new PHPStan\Rules\DeadCode\PossiblyPureFuncCallCollector($this->getService('reflectionProvider')); } public function createService0650(): PHPStan\Rules\DeadCode\MethodWithoutImpurePointsCollector { return new PHPStan\Rules\DeadCode\MethodWithoutImpurePointsCollector; } public function createService0651(): PHPStan\Rules\DeadCode\PossiblyPureStaticCallCollector { return new PHPStan\Rules\DeadCode\PossiblyPureStaticCallCollector; } public function createService0652(): PHPStan\Rules\Traits\TraitUseCollector { return new PHPStan\Rules\Traits\TraitUseCollector; } public function createService0653(): PHPStan\Rules\Traits\TraitDeclarationCollector { return new PHPStan\Rules\Traits\TraitDeclarationCollector; } public function createService0654(): PhpParser\BuilderFactory { return new PhpParser\BuilderFactory; } public function createService0655(): PhpParser\NodeVisitor\NameResolver { return new PhpParser\NodeVisitor\NameResolver(options: ['preserveOriginalNames' => true]); } public function createService0656(): PHPStan\PhpDocParser\ParserConfig { return new PHPStan\PhpDocParser\ParserConfig(['lines' => true]); } public function createService0657(): PHPStan\PhpDocParser\Lexer\Lexer { return new PHPStan\PhpDocParser\Lexer\Lexer($this->getService('0656')); } public function createService0658(): PHPStan\PhpDocParser\Parser\TypeParser { return new PHPStan\PhpDocParser\Parser\TypeParser($this->getService('0656'), $this->getService('0659')); } public function createService0659(): PHPStan\PhpDocParser\Parser\ConstExprParser { return new PHPStan\PhpDocParser\Parser\ConstExprParser($this->getService('0656')); } public function createService0660(): PHPStan\PhpDocParser\Parser\PhpDocParser { return new PHPStan\PhpDocParser\Parser\PhpDocParser( $this->getService('0656'), $this->getService('0658'), $this->getService('0659') ); } public function createService0661(): PHPStan\PhpDocParser\Printer\Printer { return new PHPStan\PhpDocParser\Printer\Printer; } public function createService0662(): PHPStan\BetterReflection\SourceLocator\SourceStubber\PhpStormStubsSourceStubber { return $this->getService('0315')->create(); } public function createService0663(): PHPStan\BetterReflection\SourceLocator\SourceStubber\ReflectionSourceStubber { return $this->getService('0316')->create(); } public function createService0664(): PHPStan\Dependency\ExportedNodeVisitor { return new PHPStan\Dependency\ExportedNodeVisitor($this->getService('0326')); } public function createService0665(): PHPStan\Reflection\BetterReflection\SourceLocator\CachingVisitor { return new PHPStan\Reflection\BetterReflection\SourceLocator\CachingVisitor; } public function createService0666(): 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('0667'), $this->getService('0668'), $this->getService('0313'), $this->getService('defaultAnalysisParser'), $this->getService('stubPhpDocProvider'), $this->getService('0306'), $this->getService('0300'), $this->getService('0307'), false ); } public function createService0667(): PHPStan\Reflection\Annotations\AnnotationsMethodsClassReflectionExtension { return new PHPStan\Reflection\Annotations\AnnotationsMethodsClassReflectionExtension; } public function createService0668(): PHPStan\Reflection\Annotations\AnnotationsPropertiesClassReflectionExtension { return new PHPStan\Reflection\Annotations\AnnotationsPropertiesClassReflectionExtension; } public function createService0669(): PHPStan\Reflection\Mixin\MixinMethodsClassReflectionExtension { return new PHPStan\Reflection\Mixin\MixinMethodsClassReflectionExtension([]); } public function createService0670(): PHPStan\Reflection\Mixin\MixinPropertiesClassReflectionExtension { return new PHPStan\Reflection\Mixin\MixinPropertiesClassReflectionExtension([]); } public function createService0671(): PHPStan\Reflection\Php\Soap\SoapClientMethodsClassReflectionExtension { return new PHPStan\Reflection\Php\Soap\SoapClientMethodsClassReflectionExtension; } public function createService0672(): PHPStan\Reflection\RequireExtension\RequireExtendsMethodsClassReflectionExtension { return new PHPStan\Reflection\RequireExtension\RequireExtendsMethodsClassReflectionExtension; } public function createService0673(): PHPStan\Reflection\RequireExtension\RequireExtendsPropertiesClassReflectionExtension { return new PHPStan\Reflection\RequireExtension\RequireExtendsPropertiesClassReflectionExtension; } public function createService0674(): PHPStan\Rules\Methods\MethodSignatureRule { return new PHPStan\Rules\Methods\MethodSignatureRule($this->getService('0666'), false, false); } public function createService0675(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionClass'); } public function createService0676(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionClassConstant'); } public function createService0677(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionFunctionAbstract'); } public function createService0678(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionParameter'); } public function createService0679(): PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension { return new PHPStan\Type\Php\ReflectionGetAttributesMethodReturnTypeExtension('ReflectionProperty'); } public function createService0680(): PHPStan\Type\Php\DateTimeModifyReturnTypeExtension { return new PHPStan\Type\Php\DateTimeModifyReturnTypeExtension($this->getService('043'), 'DateTime'); } public function createService0681(): PHPStan\Type\Php\DateTimeModifyReturnTypeExtension { return new PHPStan\Type\Php\DateTimeModifyReturnTypeExtension($this->getService('043'), 'DateTimeImmutable'); } public function createService0682(): PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension { return new PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension( $this->getService('043'), 'PHPStan\Reflection\ClassReflection', 'getNativeReflection' ); } public function createService0683(): PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension { return new PHPStan\Reflection\PHPStan\NativeReflectionEnumReturnDynamicReturnTypeExtension( $this->getService('043'), 'PHPStan\Reflection\Php\BuiltinMethodReflection', 'getDeclaringClass' ); } public function createService0684(): PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension { return new PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension( $this->getService('043'), 'PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnumBackedCase' ); } public function createService0685(): PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension { return new PHPStan\Reflection\BetterReflection\Type\AdapterReflectionEnumCaseDynamicReturnTypeExtension( $this->getService('043'), 'PHPStan\BetterReflection\Reflection\Adapter\ReflectionEnumUnitCase' ); } public function createService0686(): PHPStan\Rules\Exceptions\MissingCheckedExceptionInFunctionThrowsRule { return new PHPStan\Rules\Exceptions\MissingCheckedExceptionInFunctionThrowsRule($this->getService('091')); } public function createService0687(): PHPStan\Rules\Exceptions\MissingCheckedExceptionInMethodThrowsRule { return new PHPStan\Rules\Exceptions\MissingCheckedExceptionInMethodThrowsRule($this->getService('091')); } public function createService0688(): PHPStan\Rules\Exceptions\MissingCheckedExceptionInPropertyHookThrowsRule { return new PHPStan\Rules\Exceptions\MissingCheckedExceptionInPropertyHookThrowsRule($this->getService('091')); } public function createService0689(): PHPStan\Rules\Properties\UninitializedPropertyRule { return new PHPStan\Rules\Properties\UninitializedPropertyRule($this->getService('0308')); } public function createService0690(): PHPStan\Rules\Classes\NewStaticInAbstractClassStaticMethodRule { return new PHPStan\Rules\Classes\NewStaticInAbstractClassStaticMethodRule; } public function createService0691(): PHPStan\Rules\InternalTag\RestrictedInternalClassConstantUsageExtension { return new PHPStan\Rules\InternalTag\RestrictedInternalClassConstantUsageExtension($this->getService('093')); } public function createService0692(): PHPStan\Rules\InternalTag\RestrictedInternalClassNameUsageExtension { return new PHPStan\Rules\InternalTag\RestrictedInternalClassNameUsageExtension($this->getService('093')); } public function createService0693(): PHPStan\Rules\InternalTag\RestrictedInternalFunctionUsageExtension { return new PHPStan\Rules\InternalTag\RestrictedInternalFunctionUsageExtension($this->getService('093')); } public function createService0694(): PHPStan\Rules\InternalTag\RestrictedInternalPropertyUsageExtension { return new PHPStan\Rules\InternalTag\RestrictedInternalPropertyUsageExtension($this->getService('093')); } public function createService0695(): PHPStan\Rules\InternalTag\RestrictedInternalMethodUsageExtension { return new PHPStan\Rules\InternalTag\RestrictedInternalMethodUsageExtension($this->getService('093')); } public function createService0696(): PHPStan\Rules\Exceptions\TooWideFunctionThrowTypeRule { return new PHPStan\Rules\Exceptions\TooWideFunctionThrowTypeRule($this->getService('092')); } public function createService0697(): PHPStan\Rules\Exceptions\TooWideMethodThrowTypeRule { return new PHPStan\Rules\Exceptions\TooWideMethodThrowTypeRule($this->getService('0300'), $this->getService('092')); } public function createService0698(): PHPStan\Rules\Exceptions\TooWidePropertyHookThrowTypeRule { return new PHPStan\Rules\Exceptions\TooWidePropertyHookThrowTypeRule($this->getService('0300'), $this->getService('092')); } public function createService0699(): PHPStan\Rules\Functions\ParameterCastableToNumberRule { return new PHPStan\Rules\Functions\ParameterCastableToNumberRule( $this->getService('reflectionProvider'), $this->getService('084') ); } 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('0662'), $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_c666e7553b { 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('0655'), $this->getService('0345'), $this->getService('05') ); } public function createServiceCurrentPhpVersionSimpleDirectParser(): PHPStan\Parser\SimpleParser { return new PHPStan\Parser\SimpleParser( $this->getService('currentPhpVersionPhpParser'), $this->getService('0655'), $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('0655')); } 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('0655'), $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.level8.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level7.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level6.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level5.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level4.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level3.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level2.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' => true, 'reportAlwaysTrueInLastCondition' => false, 'checkClassCaseSensitivity' => true, 'checkExplicitMixed' => false, 'checkImplicitMixed' => false, 'checkFunctionArgumentTypes' => true, 'checkFunctionNameCase' => false, 'checkInternalClassCaseSensitivity' => false, 'checkMissingCallableSignature' => false, 'checkMissingVarTagTypehint' => true, 'checkArgumentsPassedByReference' => true, 'checkMaybeUndefinedVariables' => true, 'checkNullables' => true, 'checkThisOnly' => false, 'checkUnionTypes' => true, 'checkBenevolentUnionTypes' => false, 'checkExplicitMixedMissingReturn' => false, 'checkPhpDocMissingReturn' => true, 'checkPhpDocMethodSignatures' => true, 'checkExtraArguments' => true, 'checkMissingTypehints' => true, 'checkTooWideReturnTypesInProtectedAndPublicMethods' => false, 'checkUninitializedProperties' => false, 'checkDynamicProperties' => false, 'strictRulesInstalled' => false, 'deprecationRulesInstalled' => false, 'inferPrivatePropertyTypeFromConstructor' => false, 'reportMaybes' => true, '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' => '#^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 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\:\: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\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', '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\:\:buildDetectionMetadata\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/OWASPSecurityEventFactory.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\OWASPSecurityEventFactory\:\:buildDetectionMetadata\(\) 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' => '#^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' => '#^Cannot instantiate class App\\\Application\\\Security\\\ValueObjects\\\RequestContext via private constructor App\\\Application\\\Security\\\ValueObjects\\\RequestContext\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Cannot instantiate class App\\\Application\\\Security\\\ValueObjects\\\SecurityContext via private constructor App\\\Application\\\Security\\\ValueObjects\\\SecurityContext\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Direct instantiation of DateTimeImmutable is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.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/WafEventProcessor.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Waf\\\LayerResult and App\\\Framework\\\Waf\\\LayerResult will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\WafEventProcessor\:\:createRequestContext\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\WafEventProcessor\:\:createSecurityContext\(\) has parameter \$securityData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\WafEventProcessor\:\:getProcessingStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Method App\\\Application\\\Security\\\WafEventProcessor\:\:getProcessingStats\(\) 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/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$geo \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$hostIp \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$hostname \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$port \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$protocol \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$region \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$requestId \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$sessionId \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$sourceIp \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$timestamp \(DateTimeImmutable\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Missing parameter \$userAgent \(string\|null\) in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$authenticationStatus in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$clientIp in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$securityLevel in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$sessionId in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$sessionMetadata in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$timestamp in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$userAgent in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$userEmail in call to App\\\Application\\\Security\\\ValueObjects\\\RequestContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Unknown parameter \$userRole in call to App\\\Application\\\Security\\\ValueObjects\\\SecurityContext constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafEventProcessor.php', ], [ 'message' => '#^Call to an undefined method App\\\Application\\\Security\\\OWASPSecurityEventLogger\:\:log\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Call to an undefined method App\\\Application\\\Security\\\ValueObjects\\\RequestContext\:\:getClientIp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Call to an undefined method App\\\Application\\\Security\\\ValueObjects\\\RequestContext\:\:getUserEmail\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$attackPattern \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$fieldName \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$fieldName \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$invalidValue \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$sanitizedValue \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Missing parameter \$validationRule \(string\) in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$attemptedValue in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$detectionMethod in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$field in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$inputPayload in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$inputType in call to App\\\Application\\\Security\\\Events\\\Input\\\MaliciousInputDetectedEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.php', ], [ 'message' => '#^Unknown parameter \$reason in call to App\\\Application\\\Security\\\Events\\\Input\\\InputValidationFailureEvent constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Security/WafOWASPEventBridge.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' => '#^Call to static method default\(\) on an unknown class App\\\Framework\\\Waf\\\WafConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Test/WafTestController.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector constructor invoked with 0 parameters, 1\-13 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Application/Test/WafTestController.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' => '#^Method App\\\Framework\\\Async\\\AsyncBarrier\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncBarrier.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncBarrier\:\:\$waitingFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncBarrier.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncChannel\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncChannel.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncChannel\:\:\$waitingReceivers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncChannel.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncChannel\:\:\$waitingSenders with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncChannel.php', ], [ 'message' => '#^Anonymous function has an unused use \$id\.$#', 'identifier' => 'closure.unusedUse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncEventLoop.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncEventLoop\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncEventLoop.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncEventLoop\:\:nextTick\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncEventLoop.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncMutex\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Parameter \#1 \$object of function spl_object_id expects object, Fiber\|null given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncMutex\:\:\$owner \(string\|null\) does not accept int\.$#', 'identifier' => 'assign.propertyType', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncMutex\:\:\$owner \(string\|null\) is never assigned string so it can be removed from the property type\.$#', 'identifier' => 'property.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncMutex\:\:\$waitingFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Strict comparison using \!\=\= between string\|null and int will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncMutex.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:databaseQuery\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:databaseQuery\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:httpRequest\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:httpRequest\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:listDirectory\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:measureExecution\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:readFile\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:sleep\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:sleepDuration\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:withTimeout\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncOperationFactory\:\:writeFile\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncOperationFactory.php', ], [ 'message' => '#^Cannot access offset \'id\' on callable\(\)\: mixed\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Cannot access offset \'operation\' on callable\(\)\: mixed\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPool\:\:execute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPool\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Parameter \#1 \$value of method SplQueue\\:\:enqueue\(\) expects callable\(\)\: mixed, array\{id\: string, operation\: callable\(\)\: mixed\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncPool\:\:\$activeFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPool.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPromise\:\:all\(\) has parameter \$promises with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPromise\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncPromise\:\:race\(\) has parameter \$promises with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Negated boolean expression is always true\.$#', 'identifier' => 'booleanNot.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncPromise\:\:\$finallyCallbacks \(array\\) does not accept non\-empty\-array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncPromise\:\:\$thenCallbacks \(array\\) does not accept non\-empty\-array\\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncPromise.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncQueue\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncQueue.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncQueue\:\:\$waitingConsumers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncQueue.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Direct instantiation of DateTime is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead for consistent timezone handling$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Function sleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncScheduler\:\:executeJob\(\) has parameter \$job with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncScheduler\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncScheduler\:\:shouldRun\(\) has parameter \$job with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncScheduler\:\:start\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncScheduler\:\:\$jobs type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncScheduler.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncSemaphore\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncSemaphore.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncSemaphore\:\:\$waitingFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncSemaphore.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:async\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:batch\(\) has parameter \$operations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:batch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:delay\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:parallel\(\) has parameter \$operations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncService\:\:waitFor\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\AsyncService\:\:\$timer is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncService.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncStream\:\:collect\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncStream\:\:fromArray\(\) has parameter \$items with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncStream\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncStream\:\:reduce\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Parameter \#1 \$microseconds of function usleep expects int, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncStream.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:sleep\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:sleepDuration\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:start\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:waitFor\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\AsyncTimer\:\:waitForDuration\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/AsyncTimer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:__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/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:__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/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:create\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:create\(\) has parameter \$payload with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJob.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJob\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJob.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJobProcessor\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\BackgroundJobProcessor\:\:start\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/BackgroundJobProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\Contracts\\\AsyncOperation\:\:executeAsync\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/Contracts/AsyncOperation.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:async\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:asyncGenerator\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:combine\(\) has parameter \$fibers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:combine\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:sequence\(\) has parameter \$operations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:sequence\(\) return type with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Async\\\FiberManager\:\:waitForAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.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/Async/FiberManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Async\\\FiberManager\:\:\$runningFibers with generic class Fiber does not specify its types\: TStart, TResume, TReturn, TSuspend$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Async/FiberManager.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Function sleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:__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/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:bundleCss\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:bundleJs\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:findFiles\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:generateImageSizes\(\) has parameter \$sizes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:generateImageSizes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processCss\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processImages\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processJs\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:processSassVariables\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Parameter \#1 \$string of function trim expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.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/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Parameter \#3 \$subject of function str_replace expects array\\|string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\AsyncExamples\\\Assets\\\AsyncAssetProcessor\:\:\$config is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^While loop condition is always true\.$#', 'identifier' => 'while.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Assets/AsyncAssetProcessor.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\: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/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\: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/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:getMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:rememberMultiple\(\) has parameter \$callbacks with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:rememberMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\: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/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Parameter \#1 \$operations of method App\\\Framework\\\Async\\\FiberManager\:\:batch\(\) expects array\, non\-empty\-list\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Property App\\\Framework\\\AsyncExamples\\\Cache\\\AsyncCache\:\:\$memoryCache type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Cache/AsyncCache.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:__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/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:delete\(\) has parameter \$where with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:insert\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:insertMultiple\(\) has parameter \$records with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:insertMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:query\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:queryBatch\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:queryBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:queryMultiple\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:select\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:select\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:update\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\AsyncDatabase\:\:update\(\) has parameter \$where with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/AsyncDatabase.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\DatabaseResult\:\:fetch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/DatabaseResult.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Database\\\DatabaseResult\:\:fetchAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Database/DatabaseResult.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:__construct\(\) has parameter \$defaultOptions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:createContext\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:createContext\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\: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/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:delete\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:extractStatusCode\(\) has parameter \$httpResponseHeader with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\: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/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:get\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:parseHeaders\(\) has parameter \$httpResponseHeader with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:parseHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\: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/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:post\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\: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/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:put\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:request\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:request\(\) has parameter \$options with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:requestBatch\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:requestBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:requestMultiple\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Property App\\\Framework\\\AsyncExamples\\\Http\\\AsyncHttpClient\:\:\$defaultOptions type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Variable \$http_response_header on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.variable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/AsyncHttpClient.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\HttpResponse\:\:__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/AsyncExamples/Http/HttpResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\HttpResponse\:\:json\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/HttpResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Http\\\HttpResponse\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Http/HttpResponse.php', ], [ 'message' => '#^Class App\\\Framework\\\Async\\\FiberManager constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Function mail\(\) is forbidden\: Use Mailer abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:__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/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:personalizeContent\(\) has parameter \$recipient with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:queueMultiple\(\) has parameter \$emails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:sendMultiple\(\) has parameter \$emails with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:sendMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:sendNewsletter\(\) has parameter \$recipients with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:sendNewsletter\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Property App\\\Framework\\\AsyncExamples\\\Mail\\\AsyncMailer\:\:\$config type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/AsyncMailer.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:__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/AsyncExamples/Mail/Email.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:__construct\(\) has parameter \$bcc with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/Email.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:__construct\(\) has parameter \$cc with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/Email.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:withBcc\(\) has parameter \$bcc with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/Email.php', ], [ 'message' => '#^Method App\\\Framework\\\AsyncExamples\\\Mail\\\Email\:\:withCc\(\) has parameter \$cc with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/AsyncExamples/Mail/Email.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' => '#^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' => '#^Class App\\\Framework\\\Cache\\\CacheIdentifierCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheIdentifierCollection.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' => '#^Parameter \#1 \$seconds of static method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:fromSeconds\(\) expects float, int\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheItem.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheKey\:\: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/Cache/CacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheKey\:\: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/Cache/CacheKey.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\CacheKey\:\:normalizeString\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheKey.php', ], [ 'message' => '#^Class App\\\Framework\\\Cache\\\CacheKeyCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheKeyCollection.php', ], [ 'message' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\Cache\\\CacheKeyCollection\:\:\$keys\.$#', 'identifier' => 'argument.byRef', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheKeyCollection.php', ], [ 'message' => '#^Cannot call method toString\(\) on string\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheResult.php', ], [ 'message' => '#^Class App\\\Framework\\\Cache\\\CacheResult implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheResult.php', ], [ 'message' => '#^Parameter \#1 \$key of static method App\\\Framework\\\Cache\\\CacheItem\:\:hit\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheResult.php', ], [ 'message' => '#^Parameter \#1 \$key of static method App\\\Framework\\\Cache\\\CacheItem\:\:miss\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/CacheResult.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' => '#^Strict comparison using \=\=\= between string and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', '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' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CachePrefix\:\:cases\(\)\.$#', 'identifier' => 'staticMethod.notFound', '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' => 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' => '#^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' => '#^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' => '#^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' => '#^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' => '#^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' => '#^Method App\\\Framework\\\Cache\\\GeneralCache\:\:getCompressionStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/GeneralCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\GeneralCache\:\:getDriver\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/GeneralCache.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' => 7, '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' => '#^Instanceof between App\\\Framework\\\Cache\\\CacheKey and App\\\Framework\\\Cache\\\CacheKey will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MultiLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\MultiLevelCache\:\:remember\(\) should return App\\\Framework\\\Cache\\\CacheItem but returns App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MultiLevelCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\MultiLevelCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MultiLevelCache.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\MultiLevelCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/MultiLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\ServiceCacheDecorator\:\:__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/ServiceCacheDecorator.php', ], [ 'message' => '#^Parameter \#1 \$key of method App\\\Framework\\\Cache\\\Cache\:\:remember\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/ServiceCacheDecorator.php', ], [ 'message' => '#^Parameter \#3 \$ttl of method App\\\Framework\\\Cache\\\Cache\:\:remember\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Duration\|null, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/ServiceCacheDecorator.php', ], [ 'message' => '#^Access to private property App\\\Framework\\\Cache\\\CachePattern\:\:\$pattern\.$#', 'identifier' => 'property.private', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CacheKey\:\:from\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Cannot call method toString\(\) on string\.$#', 'identifier' => 'method.nonObject', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:computeAsync\(\) has parameter \$toCompute with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:computeAsync\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:computeSync\(\) has parameter \$toCompute with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:computeSync\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:forgetAsync\(\) 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/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:forgetByPattern\(\) should return int but returns false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:getAsync\(\) 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/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasAsync\(\) 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/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasAsync\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasByPattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasByPrefix\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:hasByTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\SmartCache\:\:setAsync\(\) 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/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$key of method App\\\Framework\\\Cache\\\CacheResult\:\:getItem\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$pattern of method App\\\Framework\\\Cache\\\SmartCache\:\:forgetByPattern\(\) expects App\\\Framework\\\Cache\\\CachePattern, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$pattern of method App\\\Framework\\\Cache\\\SmartCache\:\:getByPattern\(\) expects App\\\Framework\\\Cache\\\CachePattern, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$pattern of method App\\\Framework\\\Cache\\\SmartCache\:\:hasByPattern\(\) expects App\\\Framework\\\Cache\\\CachePattern, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$prefix of method App\\\Framework\\\Cache\\\SmartCache\:\:forgetByPrefix\(\) expects App\\\Framework\\\Cache\\\CachePrefix, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$prefix of method App\\\Framework\\\Cache\\\SmartCache\:\:getByPrefix\(\) expects App\\\Framework\\\Cache\\\CachePrefix, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$prefix of method App\\\Framework\\\Cache\\\SmartCache\:\:hasByPrefix\(\) expects App\\\Framework\\\Cache\\\CachePrefix, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$tag of method App\\\Framework\\\Cache\\\SmartCache\:\:forgetByTag\(\) expects App\\\Framework\\\Cache\\\CacheTag, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$tag of method App\\\Framework\\\Cache\\\SmartCache\:\:getByTag\(\) expects App\\\Framework\\\Cache\\\CacheTag, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \$tag of method App\\\Framework\\\Cache\\\SmartCache\:\:hasByTag\(\) expects App\\\Framework\\\Cache\\\CacheTag, App\\\Framework\\\Cache\\\CacheIdentifier given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/SmartCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:getAllTags\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:getKeysForTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:getTagsForKey\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:untagKey\(\) should return bool but returns int\|true\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TagIndex\:\:updateKeyTags\(\) has parameter \$tags with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TagIndex.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CacheKey\:\:from\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CacheTag\:\:from\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TaggedCache\:\:__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/Cache/TaggedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TaggedCache\:\:flush\(\) should return bool but returns int\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TaggedCache\:\:getTagStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Cache\\\TaggedCache\:\:getTags\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/TaggedCache.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' => '#^Method App\\\Framework\\\Cache\\\ValidationCacheDecorator\:\:validateKey\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Cache/ValidationCacheDecorator.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\:\: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' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\:\: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/CircuitBreaker/CircuitBreakerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/CircuitBreakerMetrics.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' => '#^Cannot access offset \'failure_count\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'last_failure_time\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'state\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'success_count\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/DatabaseCircuitBreaker.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' => '#^Method App\\\Framework\\\CircuitBreaker\\\Events\\\CircuitBreakerClosed\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Events/CircuitBreakerClosed.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Events\\\CircuitBreakerEvent\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Events/CircuitBreakerEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Events\\\CircuitBreakerHalfOpened\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Events/CircuitBreakerHalfOpened.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Events\\\CircuitBreakerOpened\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Events/CircuitBreakerOpened.php', ], [ 'message' => '#^Call to function is_callable\(\) with callable\(Throwable, string\)\: bool will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/FailurePredicate/CallbackFailurePredicate.php', ], [ 'message' => '#^Function class_basename not found\.$#', 'identifier' => 'function.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/FailurePredicate/ExceptionTypeFailurePredicate.php', ], [ 'message' => '#^Class App\\\Framework\\\Database\\\Exceptions\\\DatabaseException not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/FailurePredicate/FailurePredicateFactory.php', ], [ 'message' => '#^Parameter \#1 \$exceptionTypes of static method App\\\Framework\\\CircuitBreaker\\\FailurePredicate\\\ExceptionTypeFailurePredicate\:\:only\(\) expects array\\>, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/FailurePredicate/FailurePredicateFactory.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' => '#^Cannot access offset \'failure_count\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'last_failure_time\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'state\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/HttpClientCircuitBreaker.php', ], [ 'message' => '#^Cannot access offset \'success_count\' on App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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\\\CircuitBreaker\\\Registry\\\CacheBasedServiceRegistry\:\:discoverServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\CacheBasedServiceRegistry\:\:getAllServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\CacheBasedServiceRegistry\:\:getNamespaces\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, list given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/CacheBasedServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\ServiceRegistry\:\:discoverServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/ServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\ServiceRegistry\:\:getAllServices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/ServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\Registry\\\ServiceRegistry\:\:getNamespaces\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/Registry/ServiceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\SlidingWindow\\\CircuitBreakerSlidingWindow\:\:__construct\(\) has parameter \$slidingWindow with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/SlidingWindow/CircuitBreakerSlidingWindow.php', ], [ 'message' => '#^Method App\\\Framework\\\CircuitBreaker\\\SlidingWindow\\\CircuitBreakerSlidingWindow\:\:getSlidingWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/CircuitBreaker/SlidingWindow/CircuitBreakerSlidingWindow.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' => '#^Call to an undefined method App\\\Framework\\\Reflection\\\Collections\\\ParameterCollection\:\:getFirst\(\)\.$#', 'identifier' => 'method.notFound', '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' => '#^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' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, '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\:\: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' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toDateTimeString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/ValueObjects/SecurityContext.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/ValueObjects/SecurityContext.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Config/ValueObjects/SecurityContext.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' => '#^Function var_dump\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Console/ConsoleApplication.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 \$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/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' => '#^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' => '#^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\:\:hasRelevantAttributes\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:hasRelevantAttributesWrappedMethod\(\) has parameter \$method with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:hasRelevantAttributesWrappedProperty\(\) has parameter \$property with no type specified\.$#', 'identifier' => 'missingType.parameter', '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\:\:processAttributes\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrapped\(\) has parameter \$attributes with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrappedMethod\(\) has parameter \$attributes with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrappedMethod\(\) has parameter \$method with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrappedProperty\(\) has parameter \$attributes with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\AttributeMappingVisitor\:\:processAttributesWrappedProperty\(\) has parameter \$property with no type specified\.$#', 'identifier' => 'missingType.parameter', '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' => '#^Parameter \#1 \$key of static method App\\\Framework\\\Cache\\\CacheKey\:\:fromString\(\) expects string, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/AttributeMappingVisitor.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/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' => '#^Parameter \#1 \$reflectionTarget of method App\\\Framework\\\Core\\\AttributeMapper\:\:map\(\) expects App\\\Framework\\\Reflection\\\WrappedReflectionClass\|App\\\Framework\\\Reflection\\\WrappedReflectionMethod, ReflectionClass\|ReflectionMethod given\.$#', 'identifier' => 'argument.type', '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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Commands/ClearDiscoveryCache.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/Core/ContainerBootstrapper.php', ], [ 'message' => '#^If condition is always false\.$#', 'identifier' => 'if.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ContainerBootstrapper.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ContainerBootstrapper\:\:tryLoadCompiledContainer\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ContainerBootstrapper.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 App\\\Framework\\\Core\\\ValueObjects\\\ClassName\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/Events/EventHandlerMapper.php', ], [ 'message' => '#^Cannot access offset 0 on App\\\Framework\\\Reflection\\\Collections\\\ParameterCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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 \#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/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' => '#^Parameter \#1 \$key of static method App\\\Framework\\\Cache\\\CacheKey\:\:fromString\(\) expects string, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', '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' => '#^Method App\\\Framework\\\Core\\\RouteCompiler\:\:createParameterCollection\(\) 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/RouteCompiler.php', ], [ 'message' => '#^Offset \'attributes\' on \*NEVER\* on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, '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 \'mapped_data\' on array\{method\: string, path\: string, controller\: class\-string, handler\: string\} on left side of \?\? does not exist\.$#', 'identifier' => 'nullCoalesce.offset', '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' => 4, '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' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Coordinates\:\:getHemisphere\(\) 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/Coordinates.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Coordinates\:\:toArray\(\) 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/Coordinates.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' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\FilePattern\:\:forExtensions\(\) has parameter \$extensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/FilePattern.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\FilePattern\:\:getExtensions\(\) 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/FilePattern.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\: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/Core/ValueObjects/Score.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:toArray\(\) 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/Score.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:weightedAverage\(\) has parameter \$scores with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Score.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:weightedAverage\(\) has parameter \$weights with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Score.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\\\Services\\\VersionParser\:\:buildParseResult\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Services/VersionParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\VersionParser\:\:buildParseResult\(\) 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/VersionParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Services\\\VersionParser\:\:parse\(\) 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/VersionParser.php', ], [ 'message' => '#^Call to function is_int\(\) with int will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Statistics.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/Core/ValueObjects/Statistics.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Timestamp.php', ], [ 'message' => '#^Direct instantiation of DateTime is forbidden\: Use App\\\Framework\\\DateTime\\\DateTime instead for consistent timezone handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Timezone.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Timezone\:\:getContinent\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Core/ValueObjects/Timezone.php', ], [ 'message' => '#^Method App\\\Framework\\\Core\\\ValueObjects\\\Timezone\:\:toArray\(\) 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/Timezone.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/Core/ValueObjects/Timezone.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 App\\\Infrastructure\\\GeoIp\\\CountryInfo\:\:getCountryCode\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'country_frequency\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'request_intervals\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'timestamp\' on App\\\Framework\\\Cache\\\CacheItem\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'timestamps\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access offset \'total_requests\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Constant App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:BASELINE_PERIOD_HOURS is unused\.$#', 'identifier' => 'classConstant.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeAttackPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeCountryReputation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeCountryRisk\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeCountryVelocity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:analyzeGeographicDistribution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateAnalysisConfidence\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateCombinedAnomalyScore\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateRequestIntervals\(\) has parameter \$timestamps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateRequestIntervals\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateShannonEntropy\(\) has parameter \$frequency with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:calculateTimingRegularity\(\) has parameter \$intervals with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:createSafeResult\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:detectAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:identifyRiskFactors\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:identifyRiskFactors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Offset \'attack_count\' does not exist on array\{reputation_score\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Offset \'baseline\' does not exist on array\{timestamps\: \(array\|null\)\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Offset \'country_frequency\' does not exist on array\{total_requests\: \(float\|int\<10001, max\>\), last_updated\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Offset \'total_requests\' does not exist on array\{reputation_score\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#1 \$array of function array_filter expects array, App\\\Framework\\\Cache\\\CacheResult given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function max expects non\-empty\-array, array\\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\)\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/GeoAnomalyDetector.php', ], [ 'message' => '#^Cannot access an offset on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Cannot access offset \'avg\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Cannot access offset \'count\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Cannot access offset \'max\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Cannot access offset \'normal\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeBurstPattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeGlobalTraffic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeIpTraffic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzePathTraffic\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeTemporalPattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeTrafficPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateAnalysisConfidence\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateAverage\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateCombinedThreatScore\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\: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/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:identifyAnomalyIndicators\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:identifyAnomalyIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Offset \'count\' does not exist on array\{sum\: float, avg\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Offset \'count\' does not exist on array\{sum\: float\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.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/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \$values of method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateAverage\(\) expects array, App\\\Framework\\\Cache\\\CacheResult given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \$values of method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:calculateStandardDeviation\(\) expects array, App\\\Framework\\\Cache\\\CacheResult given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, \(array\|null\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/TrafficPatternAnalyzer.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/ValueObjects/CountryRisk.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/ValueObjects/CountryVelocity.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Analysis/ValueObjects/GeographicDistribution.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\ServerEnvironment\:\:getRemoteAddress\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:analyzePatternEvolution\(\) has parameter \$historicalData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:analyzePatternEvolution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:assessPatternSeverity\(\) has parameter \$patterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:calculatePatternConfidence\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:generatePatternFingerprint\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:getPatternAnalysisDetails\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:getPatternAnalysisDetails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:identifyAttackPatterns\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isAmplificationAttack\(\) has parameter \$trafficAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isApplicationLayerAttack\(\) has parameter \$wafAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isBotnetAttack\(\) has parameter \$signatureAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isDistributedAttack\(\) has parameter \$geoAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isProtocolAttack\(\) has parameter \$wafAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isSlowAttack\(\) has parameter \$trafficAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\AttackPatternDetector\:\:isVolumetricAttack\(\) has parameter \$trafficAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/AttackPatternDetector.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzeHttpMethodAppropriateness\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzePayloadCharacteristics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzeRequestFrequency\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzeRequestFrequency\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:analyzeRequestSignature\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:calculateBotScore\(\) has parameter \$signature with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:createBehavioralProfile\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:createBehavioralProfile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:detectAutomationIndicators\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:detectAutomationIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:detectSessionHijackingIndicators\(\) has parameter \$sessionData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:detectSessionHijackingIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:identifyAccessPatterns\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\RequestAnalyzer\:\:identifyAccessPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function max expects non\-empty\-array, list given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, list given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.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/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Ternary operator condition is always true\.$#', 'identifier' => 'ternary.alwaysTrue', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Variable \$userAgent on left side of \?\? always exists and is always null\.$#', 'identifier' => 'nullCoalesce.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/RequestAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ServiceHealthAnalyzer\:\:__construct\(\) has parameter \$services with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ServiceHealthAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ServiceHealthAnalyzer\:\:analyzeServiceHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ServiceHealthAnalyzer.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Components\\\ServiceHealthAnalyzer\:\:\$monitoredServices type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ServiceHealthAnalyzer.php', ], [ 'message' => '#^Cannot call method getThreatAssessment\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ThreatLevelCalculator\:\:__construct\(\) has parameter \$weights with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ThreatLevelCalculator\:\:calculateConfidence\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\ThreatLevelCalculator\:\:calculateThreatLevel\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Components\\\ThreatLevelCalculator\:\:\$defaultWeights type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/ThreatLevelCalculator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafLayer\:\:process\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\WafDecision\:\:getThreatAssessment\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Cannot call method debug\(\) on App\\\Framework\\\Logging\\\Logger\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Cannot call method warning\(\) on App\\\Framework\\\Logging\\\Logger\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Components\\\WafAnalysisAdapter\:\:analyzeRequest\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Components/WafAnalysisAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:__construct\(\) has parameter \$allowedCountries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:__construct\(\) has parameter \$blockedCountries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:__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/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:__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/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:getCircuitBreakerConfig\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:getRateLimitForIp\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSConfig.php', ], [ 'message' => '#^Cannot call method toHumanReadable\(\) on App\\\Framework\\\Core\\\ValueObjects\\\Duration\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\DDoSProtectionEngine\:\:performMultiLayerAnalysis\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Missing parameter \$windowSeconds \(int\) in call to method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeTrafficPatterns\(\)\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Parameter \$cache of method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:detectAnomalies\(\) expects App\\\Framework\\\Cache\\\Cache, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Parameter \$geoIpService of method App\\\Framework\\\DDoS\\\Analysis\\\GeoAnomalyDetector\:\:detectAnomalies\(\) expects App\\\Infrastructure\\\GeoIp\\\GeoIp, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Parameter \$rateLimiter of method App\\\Framework\\\DDoS\\\Analysis\\\TrafficPatternAnalyzer\:\:analyzeTrafficPatterns\(\) expects App\\\Framework\\\RateLimit\\\RateLimiter, null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\DDoSProtectionEngine\:\:\$securityLogger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/DDoSProtectionEngine.php', ], [ 'message' => '#^Call to method executeAggressive\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeAggressive\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeChallenge\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\CaptchaStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeConnection\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeDistributed\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeImmediate\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeIntelligent\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeModerate\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeStandard\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to method executeTarPit\(\) on an unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\TarPitStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Cannot access offset \'action_history\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Cannot access offset \'count\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Cannot access offset \'duration\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Cannot access offset \'timestamp\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:getResponseStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:getResponseStatistics\(\) should return array but returns App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:logSecurityEvent\(\) invoked with 1 parameter, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Negated boolean expression is always false\.$#', 'identifier' => 'booleanNot.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Offset \'action_history\' does not exist on array\{effectiveness\: array\{float\}\}\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \$confidence of method App\\\Framework\\\DDoS\\\DDoSConfig\:\:shouldLogAssessment\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Score, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \$exception of method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:logSecurityEvent\(\) expects App\\\Framework\\\Exception\\\SecurityException, array\\|float\|string\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \$exception of method App\\\Framework\\\ErrorHandling\\\SecurityEventLogger\:\:logSecurityEvent\(\) expects App\\\Framework\\\Exception\\\SecurityException, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \$blockingStrategy of method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:__construct\(\) has invalid type App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \$captchaStrategy of method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:__construct\(\) has invalid type App\\\Framework\\\DDoS\\\Response\\\Strategies\\\CaptchaStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \$rateLimitingStrategy of method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:__construct\(\) has invalid type App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Parameter \$tarPitStrategy of method App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:__construct\(\) has invalid type App\\\Framework\\\DDoS\\\Response\\\Strategies\\\TarPitStrategy\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$blockingStrategy has unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\BlockingStrategy as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$captchaStrategy has unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\CaptchaStrategy as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$circuitBreaker is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$rateLimitingStrategy has unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\RateLimitingStrategy as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Property App\\\Framework\\\DDoS\\\Response\\\AdaptiveResponseSystem\:\:\$tarPitStrategy has unknown class App\\\Framework\\\DDoS\\\Response\\\Strategies\\\TarPitStrategy as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/AdaptiveResponseSystem.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Headers\:\:merge\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\ValueObjects\\\DDoSResponse\:\:__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/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\ValueObjects\\\DDoSResponse\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Response\\\ValueObjects\\\DDoSResponse\:\:withMetadata\(\) has parameter \$additionalMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\DDoS\\\Response\\\ValueObjects\\\DDoSResponse constructor expects string\|null, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Response/ValueObjects/DDoSResponse.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\AttackPattern\:\:getRecommendedMitigation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/AttackPattern.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\DDoSAssessment\:\:getThreatIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/DDoSAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\DDoSAssessment\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/DDoSAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:__construct\(\) has parameter \$indicators with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:__construct\(\) has parameter \$sources with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:fromAnalyses\(\) has parameter \$analyses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:fromAnalyses\(\) has parameter \$weights with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\: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/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:getIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:getSources\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\ValueObjects\\\ThreatScore\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/ValueObjects/ThreatScore.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafConfig.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:APPLICATION_ABUSE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:BOT_DETECTION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:PROTOCOL_VIOLATION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Binary operation "\+" between App\\\Framework\\\Cache\\\CacheResult and 1 results in an error\.$#', 'identifier' => 'binaryOp.invalid', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\HttpRequest\:\:getBody\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:getAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\LayerResult\:\:block\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\LayerResult\:\:pass\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'attack_count\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'counts\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'intervals\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'request_patterns\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Cannot access offset \'total_requests\' on App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection constructor invoked with 0 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafLayer\:\:calculateAverageInterval\(\) has parameter \$timestamps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\DDoS\\\Waf\\\DDoSWafLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Negated boolean expression is always false\.$#', 'identifier' => 'booleanNot.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^PHPDoc tag @var with type array\\|int\> is not subtype of native type App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'varTag.nativeType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^PHPDoc tag @var with type array\\|float\|int\> is not subtype of native type App\\\Framework\\\Cache\\\CacheResult\.$#', 'identifier' => 'varTag.nativeType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \$detection of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:add\(\) expects App\\\Framework\\\Waf\\\Detection, App\\\Framework\\\Waf\\\ValueObjects\\\Detection given\.$#', 'identifier' => 'argument.type', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function stripos expects string, array\\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 9, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\|int\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\|float\|int\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int\<1, max\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#3 \$detections of static method App\\\Framework\\\Waf\\\LayerResult\:\:suspicious\(\) expects array, App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 9, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, \(float\|int\\) given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.php', ], [ 'message' => '#^Unknown parameter \$evidence in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DDoS/Waf/DDoSWafLayer.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' => '#^Method App\\\Framework\\\DI\\\BindingRegistry\:\:getAllKeys\(\) 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' => '#^Call to an undefined method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:getClassName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:getType\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:getValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.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' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:compile\(\) has parameter \$options 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\:\:compileAsync\(\) has parameter \$options 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\:\:compileDependencyInjection\(\) has parameter \$dependencies with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\ContainerCompiler\:\:generateContainerCode\(\) has parameter \$options 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 \#2 \$subject of function preg_match expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/ContainerCompiler.php', ], [ 'message' => '#^Property App\\\Framework\\\DI\\\ContainerCompiler\:\:\$reflectionProvider is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, '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' => 3, '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' => 1, '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' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ConstructorCache\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ConstructorCache.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:fromCacheInfo\(\) has parameter \$cacheInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/Dependency.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\Dependency\:\:getCacheInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/Dependency.php', ], [ 'message' => '#^Class App\\\Framework\\\DI\\\Dependency\\\DependencyCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/DependencyCollection.php', ], [ 'message' => '#^Class App\\\Framework\\\DI\\\Dependency\\\ParameterCacheCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ParameterCacheCollection\:\:getClassDependencies\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheCollection.php', ], [ 'message' => '#^Cannot call method getFullyQualified\(\) on App\\\Framework\\\Core\\\ValueObjects\\\ClassName\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ParameterCacheInfo\:\:fromArray\(\) has parameter \$cacheInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ParameterCacheInfo\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ParameterCacheInfo.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/DI/Dependency/ParameterCacheInfo.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/DI/Dependency/ParameterCacheInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\Dependency\\\ResolvedParameter\:\:getCacheInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/Dependency/ResolvedParameter.php', ], [ 'message' => '#^Method App\\\Framework\\\DI\\\DependencyResolver\:\:getCacheStats\(\) 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' => '#^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/DI/DependencyResolver.php', ], [ 'message' => '#^Parameter \#1 \$className of method App\\\Framework\\\DI\\\DependencyResolver\:\:resolveFromContainer\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\ClassName, App\\\Framework\\\Core\\\ValueObjects\\\ClassName\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/DependencyResolver.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/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\:\:hasCycle\(\) is unused\.$#', 'identifier' => 'method.unused', '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' => '#^Cannot call method getFullyQualified\(\) on string\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/DI/InitializerMapper.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Reflection\\\WrappedReflectionClass and App\\\Framework\\\Reflection\\\WrappedReflectionClass will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', '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' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', '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' => '#^Method App\\\Framework\\\DI\\\InstanceRegistry\:\:getSingletons\(\) 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' => '#^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\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncAwareConnection\:\: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/AsyncAwareConnection.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:aggregate\(\) has parameter \$namedQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:aggregate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchInsert\(\) 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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchInsert\(\) has parameter \$rows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchInsert\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchUpdate\(\) has parameter \$updates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:batchUpdate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:getTableStats\(\) 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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:getTableStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:queryMultiple\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:queryMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:queryReplicas\(\) 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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:queryReplicas\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\: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/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:readAhead\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseAdapter\:\:readAhead\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseAdapter.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/Database/AsyncDatabaseAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:addQuery\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:avg\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:count\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\: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/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:executeAsReadAhead\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:executeInTransaction\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:max\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:min\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:select\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:selectColumn\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:selectOne\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:selectScalar\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:sum\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Database\\\AsyncDatabaseBuilder\:\:\$queries type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:aggregate\(\) has parameter \$namedQueries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:aggregate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchInsert\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchInsert\(\) has parameter \$rows with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchInsert\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchUpdate\(\) has parameter \$updates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:batchUpdate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:buildWhereClause\(\) has parameter \$conditions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:executeAsync\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:getTableStats\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:getTableStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:optimisticUpdate\(\) has parameter \$conditions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:optimisticUpdate\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryAsync\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryMultiple\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryReplicas\(\) 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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:queryReplicas\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\: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/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:readAhead\(\) has parameter \$queries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\AsyncDatabaseDecorator\:\:readAhead\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/AsyncDatabaseDecorator.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/Database/AsyncDatabaseDecorator.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\:\:has\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', '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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:has\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/CacheAdapterStrategy.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, '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\\\CacheResult 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\\\CacheResult\:\: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\\\Cache\\\CacheResult\:\:getValue\(\) invoked with 0 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 3, '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\:\:hasCollection\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:hasEntity\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Cache\\\RedisSecondLevelCache\:\:hasQueryResult\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', '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 \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$keys of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$keys of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$keys of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:has\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Cache/RedisSecondLevelCache.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Driver\\\RedisCache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 3, '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' => '#^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' => '#^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' => '#^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' => '#^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' => '#^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' => '#^Call to an undefined method Traversable\\:\:current\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseDemo.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseDemo.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 13, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseDemo.php', ], [ 'message' => '#^Ternary operator condition is always true\.$#', 'identifier' => 'ternary.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseDemo.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:collectAnalyticsData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:generateSalesReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:getUserActivityTimeline\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:importUsers\(\) has parameter \$userData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:importUsers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:loadDashboardData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:loadProductPageData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:monitorDatabaseHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:preloadRelatedData\(\) has parameter \$productIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:preloadRelatedData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:updateOrderStatuses\(\) has parameter \$orderUpdates with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Database\\\Examples\\\AsyncDatabaseExample\:\:updateOrderStatuses\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Examples/AsyncDatabaseExample.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/Examples/AsyncDatabaseExample.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' => '#^Call to an undefined method App\\\Framework\\\Database\\\ConnectionInterface\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker\:\:isHealthy\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Class App\\\Framework\\\Database\\\HealthCheck\\\ConnectionHealthChecker constructor invoked with 0 parameters, 1\-3 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Database\\\Middleware\\\UnifiedRetryMiddleware\:\:\$retryManager is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Database/Middleware/UnifiedRetryMiddleware.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 \#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/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' => '#^Variable \$className in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, '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' => '#^Variable \$fullClassName in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 2, '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' => '#^Comparison operation "\>" between array and 0 results in an error\.$#', 'identifier' => 'greater.invalid', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:extractValue\(\) has parameter \$cacheItem with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:extractValue\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:getCachedAttributes\(\) should return App\\\Framework\\\Discovery\\\Results\\\AttributeRegistry\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:getCachedInterfaces\(\) should return App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:getCachedRoutes\(\) should return App\\\Framework\\\Discovery\\\Results\\\RouteRegistry\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Cache\\\RegistryCacheManager\:\:getCachedTemplates\(\) should return App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\|null but returns object\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Parameter \$templates of class App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry constructor expects App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry, App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Right side of && is always true\.$#', 'identifier' => 'booleanAnd.rightAlwaysTrue', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Cache/RegistryCacheManager.php', ], [ 'message' => '#^Constant App\\\Framework\\\Discovery\\\DiscoveryCache\:\:CACHE_TTL is unused\.$#', 'identifier' => 'classConstant.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryCache\:\:getDebugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryCache\:\:getWarmingMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\|bool\|float\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:addAttributes\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:addInterfaceImplementations\(\) 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/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:addRoutes\(\) 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/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:addTemplates\(\) 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/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\DiscoveryDataCollector\:\:getMemoryStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\:\:add\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\:\:add\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Parameter \#1 \$mapping of method App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\:\:add\(\) expects App\\\Framework\\\Discovery\\\ValueObjects\\\InterfaceMapping, \(int\|string\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.php', ], [ 'message' => '#^Parameter \#1 \$template of method App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\:\:add\(\) expects App\\\Framework\\\Discovery\\\ValueObjects\\\TemplateMapping, \(int\|string\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryDataCollector.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' => 1, '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' => '#^Using nullsafe property access "\?\-\>scanStrategy" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>showProgress" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/DiscoveryServiceBootstrapper.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:humanReadable\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/CacheHitEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\CacheHitEvent\:\: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/Events/CacheHitEvent.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:humanReadable\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryCompletedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\DiscoveryCompletedEvent\:\: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/Events/DiscoveryCompletedEvent.php', ], [ 'message' => '#^Call to method toArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\DiscoveryFailedEvent\:\: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/Events/DiscoveryFailedEvent.php', ], [ 'message' => '#^Parameter \$partialResults of method App\\\Framework\\\Discovery\\\Events\\\DiscoveryFailedEvent\:\:__construct\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryFailedEvent.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\Events\\\DiscoveryFailedEvent\:\:\$partialResults has unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\DiscoveryStartedEvent\:\:__construct\(\) has parameter \$directories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/DiscoveryStartedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\DiscoveryStartedEvent\:\: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/Events/DiscoveryStartedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\FileProcessedEvent\:\:__construct\(\) has parameter \$discoveredItems with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Events/FileProcessedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Events\\\FileProcessedEvent\:\: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/Events/FileProcessedEvent.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/MemoryGuard.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\MemoryGuard\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/MemoryGuard.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/Discovery/MemoryGuard.php', ], [ 'message' => '#^Call to method getAllAttributeResults\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method getAllInterfaceImplementations\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method getRoutes\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method getTemplates\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method setAttributeResults\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method setInterfaceImplementations\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method setRoutes\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method setTemplates\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to method toArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Call to static method fromArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:extractResultsForDirectory\(\) has invalid return type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:getCachedDirectories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:getPartialCache\(\) has invalid return type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:mergePartialCaches\(\) has invalid return type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:mergePartialCaches\(\) has parameter \$directories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:smartUpdate\(\) has parameter \$changedDirectories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \#2 \$results of method App\\\Framework\\\Discovery\\\DiscoveryCache\:\:set\(\) expects App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry, App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \$fullResults of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:extractResultsForDirectory\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \$fullResults of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:smartUpdate\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:countFilesInResults\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:updatePartialCache\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/PartialDiscoveryCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\AttributeRegistry\:\:getAllTypes\(\) 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/AttributeRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\AttributeRegistry\:\:getMemoryStats\(\) 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/AttributeRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry\:\:getMemoryStats\(\) 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/DiscoveryRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\:\:getAllInterfaces\(\) 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/InterfaceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\InterfaceRegistry\:\:getMemoryStats\(\) 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/InterfaceRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\RouteRegistry\:\:getMemoryStats\(\) 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/RouteRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Results\\\TemplateRegistry\:\:getMemoryStats\(\) 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/TemplateRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\DiscoveryStorage\:\:findChangedFiles\(\) has parameter \$fileMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/DiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\DiscoveryStorage\:\:incrementalScan\(\) has parameter \$fileMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/DiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\DiscoveryStorage\:\:incrementalScan\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/DiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\FileSystemDiscoveryStorage\:\:findChangedFiles\(\) has parameter \$fileMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/FileSystemDiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\FileSystemDiscoveryStorage\:\:findFilesRecursive\(\) has parameter \$result with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/FileSystemDiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\FileSystemDiscoveryStorage\:\:incrementalScan\(\) has parameter \$fileMetadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/FileSystemDiscoveryStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Storage\\\FileSystemDiscoveryStorage\:\:incrementalScan\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Storage/FileSystemDiscoveryStorage.php', ], [ 'message' => '#^Call to function method_exists\(\) with App\\\Framework\\\Core\\\InterfaceImplementationVisitor\|App\\\Framework\\\Core\\\RouteDiscoveryVisitor\|App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\|App\\\Framework\\\View\\\TemplateDiscoveryVisitor and \'onScanComplete\' will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Call to function method_exists\(\) with App\\\Framework\\\Core\\\InterfaceImplementationVisitor\|App\\\Framework\\\Core\\\RouteDiscoveryVisitor\|App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\|App\\\Framework\\\View\\\TemplateDiscoveryVisitor and \'onScanStart\' will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Call to function method_exists\(\) with App\\\Framework\\\View\\\TemplateDiscoveryVisitor and \'visitFile\' will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Constructor of class App\\\Framework\\\Discovery\\\UnifiedDiscoveryService has an unused parameter \$strategy\.$#', 'identifier' => 'constructor.unusedParameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Left side of && is always true\.$#', 'identifier' => 'booleanAnd.leftAlwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.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' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:applyMapperDirectly\(\) has parameter \$attribute with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:applyMapperDirectly\(\) has parameter \$mapper with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:applyMapperDirectly\(\) has parameter \$method with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:applyMapperDirectly\(\) return type has 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\:\:emitStartEvent\(\) has parameter \$directories 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\:\:estimateFiles\(\) has parameter \$directories 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\:\:extractAttributeArguments\(\) has parameter \$attribute with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:extractAttributeArguments\(\) return type has 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\:\:getHealthStatus\(\) return type has 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\:\:performDiscovery\(\) has parameter \$directories 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' => '#^Parameter \#2 \$results of method App\\\Framework\\\Discovery\\\PartialDiscoveryCache\:\:updatePartialCache\(\) expects App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults, App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:\$cache is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:\$circuitBreaker is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:\$circuitBreakerConfig is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\UnifiedDiscoveryService\:\:\$showProgress is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/UnifiedDiscoveryService.php', ], [ 'message' => '#^Class App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeCollection\:\:getIterator\(\) should return ArrayIterator\ but returns ArrayIterator\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:__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/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:__construct\(\) has parameter \$mappedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:forClass\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:forClass\(\) has parameter \$mappedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:forMethod\(\) has parameter \$arguments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\AttributeMapping\:\:forMethod\(\) has parameter \$mappedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/AttributeMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveredAttribute\:\: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/ValueObjects/DiscoveredAttribute.php', ], [ 'message' => '#^Call to method get\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method getAllAttributeResults\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method getAllInterfaceImplementations\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method getRoutes\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method getTemplates\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to method toArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Call to static method fromArray\(\) on an unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\: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/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:getDebugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\: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/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \#1 \$microtime of static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:fromFloat\(\) expects float, float\|int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.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/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:__construct\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:calculateChecksum\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:create\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Parameter \$results of method App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:withResults\(\) has invalid type App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Property App\\\Framework\\\Discovery\\\ValueObjects\\\DiscoveryCacheData\:\:\$results has unknown class App\\\Framework\\\Discovery\\\Results\\\DiscoveryResults as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/DiscoveryCacheData.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\MemoryLeakInfo\:\: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/ValueObjects/MemoryLeakInfo.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:__construct\(\) has parameter \$constraints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:__construct\(\) has parameter \$defaults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:__construct\(\) has parameter \$middleware with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:create\(\) has parameter \$constraints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:create\(\) has parameter \$defaults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\RouteMapping\:\:create\(\) has parameter \$middleware with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/RouteMapping.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\ValueObjects\\\ScanStrategy\:\:getPriorityDirectories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/ValueObjects/ScanStrategy.php', ], [ 'message' => '#^Call to method getParameters\(\) on an unknown class App\\\Framework\\\Discovery\\\Visitors\\\ReflectionMethod\.$#', 'identifier' => 'class.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\:\:extractAttributeArguments\(\) 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\(\) is unused\.$#', 'identifier' => 'method.unused', '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\:\:extractMethodParametersFromWrapped\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Discovery/Visitors/AttributeDiscoveryVisitor.php', ], [ 'message' => '#^Method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:extractMethodParametersFromWrapped\(\) 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\:\:getCacheableData\(\) 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' => '#^Parameter \$method of method App\\\Framework\\\Discovery\\\Visitors\\\AttributeDiscoveryVisitor\:\:extractMethodParameters\(\) has invalid type App\\\Framework\\\Discovery\\\Visitors\\\ReflectionMethod\.$#', 'identifier' => 'class.notFound', '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\\\CacheResult 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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/Alerting/AlertManager.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', '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\\\CacheResult 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\\\CacheResult 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\\\CacheResult 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 \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey 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' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorAggregation/ErrorAggregator.php', ], [ 'message' => '#^Strict comparison using \!\=\= between App\\\Framework\\\Cache\\\CacheResult 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' => '#^Parameter \$userAgent of class App\\\Framework\\\ErrorAggregation\\\ErrorEvent constructor expects string\|null, App\\\Framework\\\UserAgent\\\UserAgent\|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\\\Async\\\AsyncBoundaryFailedException\:\:getErrorDetails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBoundaryFailedException.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/ErrorBoundaries/Async/AsyncBoundaryFailedException.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/ErrorBoundaries/Async/AsyncBoundaryFailedException.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\:__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/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\:__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/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\:getErrors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\:getSuccessfulResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\: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/Async/AsyncBulkResult.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncBulkResult\:\: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/Async/AsyncBulkResult.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/ErrorBoundaries/Async/AsyncCircuitBreakerOpenException.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/ErrorBoundaries/Async/AsyncCircuitBreakerOpenException.php', ], [ 'message' => '#^Invalid type Throwable\|null to throw\.$#', 'identifier' => 'throw.notThrowable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncErrorBoundary\:\:executeConcurrent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncErrorBoundary\:\: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/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Async\\\AsyncErrorBoundary\:\:publishEvent\(\) has parameter \$event with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^PHPDoc tag @return contains generic type App\\\Framework\\\Async\\\AsyncPromise\ but class App\\\Framework\\\Async\\\AsyncPromise is not generic\.$#', 'identifier' => 'generics.notGeneric', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^PHPDoc tag @return contains generic type App\\\Framework\\\Async\\\AsyncPromise\ but class App\\\Framework\\\Async\\\AsyncPromise is not generic\.$#', 'identifier' => 'generics.notGeneric', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.php', ], [ 'message' => '#^PHPDoc tag @return contains generic type App\\\Framework\\\Async\\\AsyncPromise\ but class App\\\Framework\\\Async\\\AsyncPromise is not generic\.$#', 'identifier' => 'generics.notGeneric', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Async/AsyncErrorBoundary.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' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerManager\:\:getAllCircuitStates\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerManager\:\:getCircuitHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerManager\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerManager\:\: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/CircuitBreaker/BoundaryCircuitBreakerManager.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerState\:\: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/ErrorBoundaries/CircuitBreaker/BoundaryCircuitBreakerState.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\CircuitBreaker\\\BoundaryCircuitBreakerState\:\: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/CircuitBreaker/BoundaryCircuitBreakerState.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' => '#^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\:\:getCircuitHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', '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' => '#^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' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryCircuitBreakerRecovered\:\:__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/ErrorBoundaries/Events/BoundaryCircuitBreakerRecovered.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryCircuitBreakerRecovered\:\: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/Events/BoundaryCircuitBreakerRecovered.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryCircuitBreakerTripped\:\:__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/ErrorBoundaries/Events/BoundaryCircuitBreakerTripped.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryCircuitBreakerTripped\:\: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/Events/BoundaryCircuitBreakerTripped.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryEventInterface\:\: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/Events/BoundaryEventInterface.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryEventInterface\:\:\$context type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Events/BoundaryEventInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryEventPublisher\:\:publishBatch\(\) has parameter \$events with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Events/BoundaryEventPublisher.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryExecutionFailed\:\:__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/ErrorBoundaries/Events/BoundaryExecutionFailed.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryExecutionFailed\:\: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/Events/BoundaryExecutionFailed.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryExecutionSucceeded\:\:__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/ErrorBoundaries/Events/BoundaryExecutionSucceeded.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryExecutionSucceeded\:\: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/Events/BoundaryExecutionSucceeded.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryFallbackExecuted\:\:__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/ErrorBoundaries/Events/BoundaryFallbackExecuted.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryFallbackExecuted\:\: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/Events/BoundaryFallbackExecuted.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:diff\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Events/BoundaryTimeoutOccurred.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryTimeoutOccurred\:\:__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/ErrorBoundaries/Events/BoundaryTimeoutOccurred.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Events\\\BoundaryTimeoutOccurred\:\: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/Events/BoundaryTimeoutOccurred.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/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isLessThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 8, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Metrics\\\BoundaryMetrics\:\: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/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Parameter \#1 \$nanoseconds of class App\\\Framework\\\Core\\\ValueObjects\\\Duration constructor expects int, float given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Metrics/BoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Responses\\\JsonResponse\:\:withHeader\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Callable App\\\Framework\\\Http\\\Next invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ApiErrorBoundaryMiddleware\:\:createApiErrorResponse\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ApiErrorBoundaryMiddleware\:\:extractEndpoint\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ApiErrorBoundaryMiddleware\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ApiErrorBoundaryMiddleware.php', ], [ 'message' => '#^Callable App\\\Framework\\\Http\\\Next invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Comparison operation "\>" between int\<1, max\> and 0 is always true\.$#', 'identifier' => 'greater.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Match arm comparison between \'critical\' and \'critical\' is always true\.$#', 'identifier' => 'match.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:__construct\(\) has parameter \$monitoredBoundaries with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:calculateHealthScore\(\) has parameter \$healthData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:generateRecommendations\(\) has parameter \$healthData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:generateRecommendations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:getMonitoredBoundaries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:getRecommendationForBoundary\(\) has parameter \$health with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:getRecommendationForBoundary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\CircuitBreakerHealthMiddleware\:\:isHealthCheckRequest\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/CircuitBreakerHealthMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\MiddlewareContext\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Callable App\\\Framework\\\Http\\\Next invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:acceptsJson\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createFallbackResponse\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createFallbackResponse\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createHtmlFallbackResponse\(\) has no return type specified\.$#', 'identifier' => 'missingType.return', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createHtmlFallbackResponse\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:createJsonFallbackResponse\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:extractRouteName\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:getFallbackHtmlContent\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$metaData of class App\\\Framework\\\Router\\\Result\\\ViewResult constructor expects App\\\Framework\\\Meta\\\MetaData, array\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$data of class App\\\Framework\\\Router\\\Result\\\ViewResult constructor expects array, App\\\Framework\\\Http\\\Status\:\:SERVICE_UNAVAILABLE given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddleware\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddleware.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Http\\\MiddlewarePriority\:\:HIGH\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\MiddlewareManager\:\:isRegistered\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\MiddlewareManager\:\:register\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\MiddlewareManager\:\:unregister\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:getMonitoredBoundaries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:registerCustom\(\) has parameter \$constructorArgs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:shouldApplyApiMiddleware\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:shouldApplyHealthMiddleware\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\ErrorBoundaryMiddlewareRegistry\:\:shouldApplyMainMiddleware\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/ErrorBoundaryMiddlewareRegistry.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$apiPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$enabledRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$excludedRoutes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$healthPaths with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:__construct\(\) has parameter \$routeConfigurations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareConfiguration\:\:getDefaultRouteConfigurations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareConfiguration.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DI\\\Container\:\:bindInstance\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareServiceProvider.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\DI\\\Container\:\:getOptional\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareServiceProvider.php', ], [ 'message' => '#^Method App\\\Framework\\\ErrorBoundaries\\\Middleware\\\MiddlewareServiceProvider\:\:getDefaultMonitoredBoundaries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorBoundaries/Middleware/MiddlewareServiceProvider.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' => 3, '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\:\: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\:\: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' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Score\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Analytics/ValueObjects/ErrorAnomaly.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' => '#^Cannot access offset \'count\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorAnomaly\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'count\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorVelocity\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'direction\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorVelocity\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'period\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorAnomaly\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'period\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorVelocity\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'type\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorAnomaly\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'velocity_percent\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorVelocity\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/ErrorReporting/Commands/ErrorReportingCommand.php', ], [ 'message' => '#^Cannot access offset \'z_score\' on App\\\Framework\\\ErrorReporting\\\Analytics\\\ValueObjects\\\ErrorAnomaly\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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' => 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' => '#^Cannot access offset 0 on App\\\Framework\\\Reflection\\\Collections\\\ParameterCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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' => '#^Method App\\\Framework\\\Filesystem\\\Directory\:\:buildTree\(\) return type has 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\:\:getContentsOptimized\(\) return type has 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\:\:getTree\(\) return type has 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 \$bytes of static method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:fromBytes\(\) expects int, App\\\Framework\\\Core\\\ValueObjects\\\Byte\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/File.php', ], [ 'message' => '#^Parameter \#1 \$microtime of static method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:fromFloat\(\) expects float, App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/File.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileMetadata\:\: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/Filesystem/FileMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileMetadata\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileMetadata.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:equals\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Byte, App\\\Framework\\\Core\\\ValueObjects\\\Byte\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileMetadata.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:equals\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Timestamp, App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileMetadata.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' => '#^Property App\\\Framework\\\Filesystem\\\FileScanner\:\:\$fileSystemService is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileScanner.php', ], [ 'message' => '#^Property App\\\Framework\\\Filesystem\\\FileScanner\:\:\$memoryMonitor is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileScanner.php', ], [ 'message' => '#^Class App\\\Framework\\\DateTime\\\SystemTimer does not have a constructor and must be instantiated without any parameters\.$#', 'identifier' => 'new.noConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileStorage.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' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\Storage\:\:read\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileSystemService\:\:streamFileChunks\(\) has invalid return type App\\\Framework\\\Filesystem\\\Generator\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\FileSystemService\:\:streamFileLines\(\) has invalid return type App\\\Framework\\\Filesystem\\\Generator\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.php', ], [ 'message' => '#^PHPDoc tag @return with type App\\\Framework\\\Filesystem\\\Generator\ is not subtype of native type Generator\.$#', 'identifier' => 'return.phpDocType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.php', ], [ 'message' => '#^Parameter \#2 \$length of function fread expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FileSystemService.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' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\File\:\:exists\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.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' => '#^Missing parameter \$metadata \(App\\\Framework\\\Filesystem\\\FileMetadata\) in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, '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\)\: mixed, size\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: mixed, lastModified\: Closure\(App\\\Framework\\\Filesystem\\\File\)\: mixed\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \#1 \$path of class App\\\Framework\\\Filesystem\\\File constructor expects App\\\Framework\\\Filesystem\\\FilePath, App\\\Framework\\\Filesystem\\\FilePath\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \#2 \$metadata of class App\\\Framework\\\Filesystem\\\File constructor expects App\\\Framework\\\Filesystem\\\FileMetadata, App\\\Framework\\\Filesystem\\\Storage given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Parameter \$path of class App\\\Framework\\\Filesystem\\\File constructor expects App\\\Framework\\\Filesystem\\\FilePath, App\\\Framework\\\Filesystem\\\FilePath\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Unknown parameter \$contents in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Unknown parameter \$lastModified in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Unknown parameter \$size in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/FilesystemFactory.php', ], [ 'message' => '#^Unknown parameter \$storage in call to App\\\Framework\\\Filesystem\\\File constructor\.$#', 'identifier' => 'argument.unknown', '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' => '#^Class App\\\Framework\\\DateTime\\\SystemTimer does not have a constructor and must be instantiated without any parameters\.$#', 'identifier' => 'new.noConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/InMemoryStorage.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' => 23, '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\\\Core\\\ValueObjects\\\Timestamp\:\:getValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/FileCollection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Filesystem\\\File\:\:getBasename\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/FileCollection.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Filesystem\\\File and App\\\Framework\\\Filesystem\\\File will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/FileCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\ValueObjects\\\FileCollection\:\:getTotalSize\(\) should return int but returns float\|int\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/FileCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\ValueObjects\\\ScannerMemoryUsage\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/ScannerMemoryUsage.php', ], [ 'message' => '#^Method App\\\Framework\\\Filesystem\\\ValueObjects\\\ScannerMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Filesystem/ValueObjects/ScannerMetrics.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' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Health/Checks/CacheHealthCheck.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', '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' => '#^Call to an undefined static method App\\\Framework\\\Exception\\\ExceptionContext\:\:create\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Exceptions/MiddlewareTimeoutException.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' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Metrics/MiddlewareMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Metrics\\\MiddlewareMetrics\:\:__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/Http/Metrics/MiddlewareMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Metrics\\\MiddlewareMetrics\:\: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/Metrics/MiddlewareMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Metrics\\\MiddlewareMetrics\:\: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/Metrics/MiddlewareMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:keys\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Metrics/MiddlewareMetricsCollector.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Metrics/MiddlewareMetricsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Metrics\\\MiddlewareMetricsCollector\:\:getAllMetricsAsArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Metrics/MiddlewareMetricsCollector.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareCircuitBreaker\:\:getMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareCircuitBreaker.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareCircuitBreaker\:\:getMetrics\(\) should return array but returns App\\\Framework\\\CircuitBreaker\\\CircuitBreakerMetrics\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareCircuitBreaker.php', ], [ 'message' => '#^Call to function is_object\(\) with object will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\MiddlewareInvoker\:\:__construct\(\) has parameter \$middlewareTimeouts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareInvoker.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' => '#^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 \$key of method App\\\Framework\\\Cache\\\Cache\:\:remember\(\) expects App\\\Framework\\\Cache\\\CacheKey, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Parameter \#1 \$middlewareClasses of method App\\\Framework\\\Http\\\MiddlewareDependencyResolver\:\:getDependencyInfo\(\) expects array\, array\ given\.$#', 'identifier' => 'argument.type', '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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:forget\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/MiddlewareManager.php', ], [ 'message' => '#^Parameter \#3 \$ttl of method App\\\Framework\\\Cache\\\Cache\:\:remember\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Duration\|null, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, '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' => '#^Call to an undefined method App\\\Framework\\\Http\\\Headers\:\:merge\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.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/DDoSProtectionMiddleware.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/DDoSProtectionMiddleware.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/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\DDoSProtectionMiddleware\:\:logThreatDetection\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$duration of method App\\\Framework\\\DateTime\\\Timer\:\:sleep\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Duration, int\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$request of method App\\\Framework\\\DDoS\\\DDoSProtectionEngine\:\:analyzeRequest\(\) expects App\\\Framework\\\Http\\\HttpRequest, App\\\Framework\\\Http\\\Request given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$status of class App\\\Framework\\\Http\\\HttpResponse constructor expects App\\\Framework\\\Http\\\Status, App\\\Framework\\\Http\\\Status\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$headers of class App\\\Framework\\\Http\\\HttpResponse constructor expects App\\\Framework\\\Http\\\Headers, App\\\Framework\\\Http\\\Headers\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$request of method App\\\Framework\\\DDoS\\\DDoSProtectionEngine\:\:executeResponse\(\) expects App\\\Framework\\\Http\\\HttpRequest, App\\\Framework\\\Http\\\Request given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/DDoSProtectionMiddleware.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/Http/Middlewares/DDoSProtectionMiddleware.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' => '#^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 \$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\-falsy\-string 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\:\: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\\\Response, 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' => '#^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' => '#^Parameter \#2 \$headers of method App\\\Framework\\\Http\\\ResponseManipulator\:\:withHeaders\(\) expects App\\\Framework\\\Http\\\Headers, App\\\Framework\\\Http\\\Headers\|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' => '#^Call to an undefined method App\\\Framework\\\Http\\\RequestId\:\:value\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\LayerResult\:\:getStatus\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:getAll\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.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/WafMiddleware.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/WafMiddleware.php', ], [ 'message' => '#^Cannot access property \$statusCode on App\\\Framework\\\Http\\\Response\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Headers\:\:get\(\) invoked with 2 parameters, 1 required\.$#', 'identifier' => 'arguments.count', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Middlewares\\\WafMiddleware\:\:formatDetections\(\) 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/WafMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$status of class App\\\Framework\\\Http\\\HttpResponse constructor expects App\\\Framework\\\Http\\\Status, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Parameter \#2 \$status of class App\\\Framework\\\Http\\\Responses\\\JsonResponse constructor expects App\\\Framework\\\Http\\\Status, int given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Parameter \#3 \$body of class App\\\Framework\\\Http\\\HttpResponse constructor expects string, App\\\Framework\\\Http\\\Headers given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.php', ], [ 'message' => '#^Property App\\\Framework\\\Http\\\Request\:\:\$path \(string\) on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.property', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Middlewares/WafMiddleware.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' => '#^Dead catch \- InvalidArgumentException is never thrown in the try block\.$#', 'identifier' => 'catch.neverThrown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/CookieParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\CookieParser\:\:parseSetCookieHeader\(\) should return array\{name\: string, value\: string, expires\?\: string, max\-age\?\: int, domain\?\: string, path\?\: string, secure\?\: bool, httponly\?\: bool, \.\.\.\} but returns array\{name\: string, value\: string, samesite\?\: string\|null, httponly\?\: true, secure\?\: true, path\?\: string\|null, domain\?\: string\|null, max\-age\?\: int, \.\.\.\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/CookieParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\CookieParser\:\:parseSetCookieHeaders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/CookieParser.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/Http/Parser/CookieParser.php', ], [ 'message' => '#^Function file_get_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\FileUploadParser\:\:decodeExtendedFilename\(\) should return string but returns string\|false\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\FileUploadParser\:\:detectMimeType\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Offset 0 on non\-empty\-list\ on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FileUploadParser.php', ], [ 'message' => '#^Class App\\\Framework\\\Http\\\Parser\\\QueryStringParser constructor invoked with 0 parameters, 2 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FormDataParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\FormDataParser\:\:assignNestedValue\(\) 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/Parser/FormDataParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\FormDataParser\:\:assignNestedValue\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/FormDataParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\HeaderParser\:\:parseContentType\(\) should return array\{type\: string, charset\?\: string, boundary\?\: string\} but returns non\-empty\-array\<\'boundary\'\|\'charset\'\|\'type\', string\>\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HeaderParser.php', ], [ 'message' => '#^Strict comparison using \!\=\= between array and false will always evaluate to true\.$#', 'identifier' => 'notIdentical.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HeaderParser.php', ], [ 'message' => '#^Parameter \#1 \$contentType of method App\\\Framework\\\Http\\\Parser\\\FormDataParser\:\:parse\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#1 \$contentType of method App\\\Framework\\\Http\\\Parser\\\HttpRequestParser\:\:extractBoundary\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#1 \$haystack of function str_contains expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.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/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#1 \$stream of function fwrite expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.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/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#1 \$stream of method App\\\Framework\\\Http\\\Parser\\\StreamingParser\:\:streamMultipart\(\) expects resource, resource\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/HttpRequestParser.php', ], [ 'message' => '#^Parameter \#2 \$callback of function array_any expects callable\(\'/auth/i\'\|\'/key/i\'\|\'/password/i\'\|\'/secret/i\'\|\'/session/i\'\|\'/token/i\', 0\|1\|2\|3\|4\|5\)\: bool, Closure\(mixed\)\: \(0\|1\|false\) given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/ParserCache.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Byte\:\:isLessThanOrEqual\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/ParserConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\ParserConfig\:\:__construct\(\) has parameter \$allowedFileExtensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/ParserConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\ParserConfig\:\:__construct\(\) has parameter \$blockedFileExtensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/ParserConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\QueryStringParser\:\:assignArrayValue\(\) has parameter \$params with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/QueryStringParser.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Parser\\\QueryStringParser\:\:assignArrayValue\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/QueryStringParser.php', ], [ 'message' => '#^Constant App\\\Framework\\\Http\\\Parser\\\StreamingParser\:\:DOUBLE_CRLF is unused\.$#', 'identifier' => 'classConstant.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/StreamingParser.php', ], [ 'message' => '#^Parameter \#2 \$length of function fread expects int\<1, max\>, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Parser/StreamingParser.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' => '#^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' => '#^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' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FlashBag.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' => '#^Method App\\\Framework\\\Http\\\Session\\\FlashBag\:\:getError\(\) 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\:\:getInfo\(\) 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\:\:getSuccess\(\) 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\:\:getWarning\(\) 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' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/FormDataStorage.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' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\Session\:\:getUserData\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\Session\:\:hasUserData\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\Session\:\:removeUserData\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\Session\\\Session\:\:setUserData\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:addValidationErrors\(\) 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/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:displaySessionInfo\(\) 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/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:handleComplexOperation\(\) 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/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:handleComplexOperation\(\) has parameter \$formData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionDataExample\:\:handleFormSubmission\(\) has parameter \$formFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionDataExample.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\SessionFingerprint\:\:normalizeUserAgent\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/SessionFingerprint.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' => '#^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' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\CsrfDataCollection\:\:__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/Http/Session/ValueObjects/CsrfDataCollection.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessage\:\:error\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessage\:\:info\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessage\:\: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/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessage\:\:warning\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessage.php', ], [ 'message' => '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.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/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessageCollection\:\:addError\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessageCollection\:\:addInfo\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessageCollection\:\:addSuccess\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\FlashMessageCollection\:\:addWarning\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FlashMessageCollection.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FormData.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FormData.php', ], [ 'message' => '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/FormDataCollection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/SecurityData.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/SecurityData.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/SecurityData.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\SecurityData\:\: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/Http/Session/ValueObjects/SecurityData.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\SecurityDataCollection\:\:withValue\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/SecurityDataCollection.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/Http/Session/ValueObjects/SecurityDataCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\SessionData\:\: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/Http/Session/ValueObjects/SessionData.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/ValidationError.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/ValidationError.php', ], [ 'message' => '#^Method App\\\Framework\\\Http\\\Session\\\ValueObjects\\\ValidationError\:\: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/Http/Session/ValueObjects/ValidationError.php', ], [ 'message' => '#^Call to function is_array\(\) with array\\> will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/ValidationErrorCollection.php', ], [ 'message' => '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Http/Session/ValueObjects/ValidationErrorCollection.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/Session/ValueObjects/ValidationErrorCollection.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\:\: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\(\) 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' => '#^Parameter \#1 \$array is passed by reference so it does not accept readonly property App\\\Framework\\\Http\\\UploadedFiles\:\:\$files\.$#', 'identifier' => 'argument.byRef', '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\\\AsyncAwareHttpClient\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncAwareHttpClient.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Invalid type Exception\|null to throw\.$#', 'identifier' => 'throw.notThrowable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:aggregate\(\) has parameter \$namedRequests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:aggregate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:collect\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:collect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:fanOut\(\) has parameter \$urls with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:fanOut\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:healthCheck\(\) has parameter \$urls with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:healthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:race\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:sendBatch\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:sendMultiple\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientAdapter\:\:sendMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:addRequest\(\) 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/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:collect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:execute\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:executeAsAggregation\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:executeAsHealthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:postJson\(\) 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/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:postJson\(\) 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/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\: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/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:putJson\(\) 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/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\HttpClient\\\AsyncHttpClientBuilder\:\:\$requests type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientBuilder.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Invalid type Exception\|null to throw\.$#', 'identifier' => 'throw.notThrowable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:aggregate\(\) has parameter \$namedRequests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:aggregate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:collect\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:collect\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:fanOut\(\) has parameter \$urls with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:fanOut\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:healthCheck\(\) has parameter \$urls with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:healthCheck\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:race\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:sendBatch\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:sendBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:sendMultiple\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\AsyncHttpClientDecorator\:\:sendMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.php', ], [ 'message' => '#^Undefined variable\: \$key$#', 'identifier' => 'variable.undefined', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/AsyncHttpClientDecorator.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' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:checkSystemHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:collectServerMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:loadProductPage\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:loadUserDashboard\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:processUsers\(\) has parameter \$userIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:processUsers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:runAbTestAnalysis\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:searchProducts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:sendNotifications\(\) has parameter \$message with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:sendNotifications\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:syncUserData\(\) has parameter \$userData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientBuilderExample\:\:syncUserData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientBuilderExample.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 14, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientDemo.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientDemo.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:checkSystemHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:collectMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:getExternalData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:getProductDetails\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:getSlowApiData\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:getSlowApiData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:loadDashboardData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:processUserUploads\(\) has parameter \$userIds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:processUserUploads\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:reliableApiCall\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:searchProducts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:sendNotificationToAllChannels\(\) has parameter \$message with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Examples\\\AsyncHttpClientExample\:\:sendNotificationToAllChannels\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.php', ], [ 'message' => '#^Parameter \$body of class App\\\Framework\\\HttpClient\\\ClientRequest constructor expects array\|string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Examples/AsyncHttpClientExample.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\\\CacheResult 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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/CachingMiddleware.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/CachingMiddleware.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', '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' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientRequest\:\:getMethod\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\ClientRequest\:\:getUri\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\HttpClient\\\Middleware\\\UnifiedRetryMiddleware\:\:__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/UnifiedRetryMiddleware.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\HttpClient\\\Middleware\\\UnifiedRetryMiddleware\:\:\$retryManager is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/HttpClient/Middleware/UnifiedRetryMiddleware.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' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Logging/LogConfig.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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/CacheTools.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheResult 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 method discover\(\) on an unknown class App\\\Framework\\\Core\\\AttributeDiscoveryService\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Class App\\\Framework\\\Core\\\AttributeDiscoveryService not found\.$#', 'identifier' => 'class.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' => '#^Parameter \$discoveryService of method App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:__construct\(\) has invalid type App\\\Framework\\\Core\\\AttributeDiscoveryService\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Mcp/Tools/FrameworkTools.php', ], [ 'message' => '#^Property App\\\Framework\\\Mcp\\\Tools\\\FrameworkTools\:\:\$discoveryService has unknown class App\\\Framework\\\Core\\\AttributeDiscoveryService as its type\.$#', 'identifier' => 'class.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' => 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' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Match expression does not handle remaining value\: mixed$#', 'identifier' => 'match.unhandled', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Match expression does not handle remaining value\: string$#', 'identifier' => 'match.unhandled', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:__construct\(\) has parameter \$stateManager with generic interface App\\\Framework\\\StateManagement\\\StateManagerInterface but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:aggregateBoundaryMetrics\(\) has parameter \$existing with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:aggregateBoundaryMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:aggregateCircuitMetrics\(\) has parameter \$existing with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:aggregateCircuitMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeBoundaryPerformance\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeBoundaryPerformance\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeCircuitPerformance\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeCircuitPerformance\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeTrends\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:analyzeTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:calculateBoundaryHealthStatus\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:calculateHealthStatus\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:generateAlerts\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getActiveBoundaries\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getActiveCircuits\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getAggregatedBoundaryMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getAggregatedCircuitMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getBoundaryHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getCircuitBreakerDashboard\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getCircuitBreakerTrends\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getCircuitHealth\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getErrorBoundaryDashboard\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getMetricsInTimeRange\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:getPerformanceAnalytics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Property App\\\Framework\\\Monitoring\\\AdvancedMonitoring\:\:\$logger is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/AdvancedMonitoring.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\CircuitBreakerMetrics\:\: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/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\CircuitBreakerMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/CircuitBreakerMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 11, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\:__construct\(\) has parameter \$errorTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\: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/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\:getErrorTypeDistribution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\:getMostCommonErrorType\(\) should return string\|null but returns int\|string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\ErrorBoundaryMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/ErrorBoundaryMetrics.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\MonitoringAlert\:\:__construct\(\) has parameter \$metrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\MonitoringAlert\:\: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/Monitoring/MonitoringAlert.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\MonitoringAlert\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringAlert.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\MonitoringConfig\:\:__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/Monitoring/MonitoringConfig.php', ], [ 'message' => '#^Parameter \#1 \$nanoseconds of class App\\\Framework\\\Core\\\ValueObjects\\\Duration constructor expects int, float given\.$#', 'identifier' => 'argument.type', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/MonitoringConfig.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 7, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Function strtotime\(\) is forbidden\: Use Clock\:\:fromString\(\) instead for better error handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\SystemHealthSummary\:\: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/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\SystemHealthSummary\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.php', ], [ 'message' => '#^Method App\\\Framework\\\Monitoring\\\SystemHealthSummary\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Monitoring/SystemHealthSummary.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' => '#^Match expression does not handle remaining value\: App\\\Framework\\\Performance\\\PerformanceCategory\:\:SECURITY$#', 'identifier' => 'match.unhandled', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Performance/PerformanceConfig.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 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\:\: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\:\: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\\\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' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\:__construct\(\) 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/ValueObjects/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\:compareWith\(\) 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/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\: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/Performance/ValueObjects/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\:getMetrics\(\) 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/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\:getRecommendations\(\) 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/PerformanceScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Performance\\\ValueObjects\\\PerformanceScore\:\: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/PerformanceScore.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' => '#^Cannot access offset 0 on App\\\Framework\\\Reflection\\\Collections\\\ParameterCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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' => '#^Call to method serialize\(\) on an unknown class App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Call to method unserialize\(\) on an unknown class App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Default value of the parameter \#2 \$serializer \(App\\\Framework\\\Cache\\\Serializer\\\PhpSerializer\) of method App\\\Framework\\\Queue\\\FileQueue\:\:__construct\(\) is incompatible with type App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'parameter.defaultValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.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 \$serializer of method App\\\Framework\\\Queue\\\FileQueue\:\:__construct\(\) has invalid type App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Property App\\\Framework\\\Queue\\\FileQueue\:\:\$serializer has unknown class App\\\Framework\\\Cache\\\Serializer as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/FileQueue.php', ], [ 'message' => '#^Call to method serialize\(\) on an unknown class App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Call to method unserialize\(\) on an unknown class App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Default value of the parameter \#3 \$serializer \(App\\\Framework\\\Cache\\\Serializer\\\PhpSerializer\) of method App\\\Framework\\\Queue\\\RedisQueue\:\:__construct\(\) is incompatible with type App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'parameter.defaultValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Parameter \$serializer of method App\\\Framework\\\Queue\\\RedisQueue\:\:__construct\(\) has invalid type App\\\Framework\\\Cache\\\Serializer\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Property App\\\Framework\\\Queue\\\RedisQueue\:\:\$serializer has unknown class App\\\Framework\\\Cache\\\Serializer as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Queue/RedisQueue.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Examples/SlidingWindowRateLimitExample.php', ], [ 'message' => '#^Function print_r\(\) is forbidden\: Use logger or debug\(\) function instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Examples/SlidingWindowRateLimitExample.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitConfig\:\:__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/RateLimit/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitConfig\:\:__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/RateLimit/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$anomalyIndicators with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$attackPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$burstAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$geoAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$performanceMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$responseStrategies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:__construct\(\) has parameter \$trafficAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:getRecommendedStrategy\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:suspicious\(\) has parameter \$suspicionData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:toAnalysisArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimitResult\:\:withThreatAnalysis\(\) has parameter \$analysisData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:analyzeTrafficPatterns\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:analyzeTrafficPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:calculateThreatScore\(\) has parameter \$burstAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:calculateThreatScore\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:checkLimitWithAnalysis\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:detectBurstPattern\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAnomalyIndicators\(\) has parameter \$burstAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAnomalyIndicators\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAttackPatterns\(\) has parameter \$burstAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAttackPatterns\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\RateLimiter\:\:identifyAttackPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/RateLimiter.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 \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, list\<\(float\|int\)\> 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' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:analyzeUserAgent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:checkLimitWithAnalysis\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:enhanceAnalysisWithContext\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:enhanceAnalysisWithContext\(\) has parameter \$threatAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:enhanceAnalysisWithContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowRateLimiter\:\:getAdvancedAnalytics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowRateLimiter.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/SlidingWindowRateLimiter.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:SECOND\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Cannot access property \$threatAnalysis on class\-string\|object\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Cannot call method getBurstAnalysis\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Cannot call method getSum\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowTokenBucket\:\:consumeWithAnalysis\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\SlidingWindowTokenBucket\:\:getAnalytics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Property App\\\Framework\\\RateLimit\\\SlidingWindowTokenBucket\:\:\$analyticsWindow with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Property App\\\Framework\\\RateLimit\\\SlidingWindowTokenBucket\:\:\$tokenWindow with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/SlidingWindowTokenBucket.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\Storage\\\CacheStorage\:\:getBaseline\(\) 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' => '#^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' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Cache\\\CacheResult and null will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', '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' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/RateLimit/Storage/CacheStorage.php', ], [ 'message' => '#^Method App\\\Framework\\\RateLimit\\\Storage\\\StorageInterface\:\:getBaseline\(\) 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' => '#^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' => '#^Call to an undefined method App\\\Framework\\\Reflection\\\WrappedReflectionClass\:\:getNativeClass\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/BatchOperations/ReflectionBatchProcessor.php', ], [ 'message' => '#^Parameter \#2 \$methodName of method App\\\Framework\\\Reflection\\\Contracts\\\MethodReflector\:\:getMethod\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Builder/ReflectionBuilder.php', ], [ 'message' => '#^Parameter \#2 \$methodName of method App\\\Framework\\\Reflection\\\Contracts\\\MethodReflector\:\:getMethodAttributes\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Builder/ReflectionBuilder.php', ], [ 'message' => '#^Parameter \#2 \$methodName of method App\\\Framework\\\Reflection\\\Contracts\\\MethodReflector\:\:getMethodParameters\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Builder/ReflectionBuilder.php', ], [ 'message' => '#^Property App\\\Framework\\\Reflection\\\Builder\\\ReflectionBuilder\:\:\$attributeFlags is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Builder/ReflectionBuilder.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:extractMetadata\(\) has parameter \$class with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:getMetadata\(\) has parameter \$reflectionClass with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:getMetadataMultiple\(\) has parameter \$reflectionClasses with generic class ReflectionClass but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:getMetadataMultiple\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MetadataCacheManager.php', ], [ 'message' => '#^Call to an undefined method ReflectionType\:\:getName\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MethodCache.php', ], [ 'message' => '#^PHPDoc tag @return with type array\ is incompatible with native type App\\\Framework\\\Core\\\ValueObjects\\\Statistics\.$#', 'identifier' => 'return.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/MethodCache.php', ], [ 'message' => '#^PHPDoc tag @return with type array\ is incompatible with native type App\\\Framework\\\Core\\\ValueObjects\\\Statistics\.$#', 'identifier' => 'return.phpDocType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Cache/ParameterCache.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\CachedReflectionProvider\:\:getAttributeInstances\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/CachedReflectionProvider.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\CachedReflectionProvider\:\:getMethodAttributeInstances\(\) should return array\ but returns list\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/CachedReflectionProvider.php', ], [ 'message' => '#^Parameter \#1 \$objectOrClass of class ReflectionEnum constructor expects class\-string\\|UnitEnum, class\-string given\.$#', 'identifier' => 'argument.type', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/CachedReflectionProvider.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Reflection\\\Cache\\\MetadataCacheManager\:\:storeMetadata\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Call to an undefined method ReflectionClass\\:\:getCases\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Method App\\\Framework\\\Reflection\\\LazyReflectionProxy\:\:getReflectionClass\(\) should return ReflectionClass\ but returns ReflectionClass\\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Parameter \#1 \$object_or_class of function is_a expects object\|string, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Property App\\\Framework\\\Reflection\\\LazyReflectionProxy\:\:\$metadata \(array\\|null\) is never assigned array\ so it can be removed from the property type\.$#', 'identifier' => 'property.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Property App\\\Framework\\\Reflection\\\LazyReflectionProxy\:\:\$metadata is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/LazyReflectionProxy.php', ], [ 'message' => '#^Variable \$hitRatio on left side of \?\? always exists and is always null\.$#', 'identifier' => 'nullCoalesce.variable', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/ReflectionCache.php', ], [ 'message' => '#^Variable \$className in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Reflection/Strategies/CacheWarmupStrategy.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\\\Retry\\\Events\\\RetryAttemptEvent\:\:__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/Retry/Events/RetryAttemptEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Events\\\RetryFailedEvent\:\:__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/Retry/Events/RetryFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Events\\\RetryFailedEvent\:\:getAttemptHistory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Events/RetryFailedEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Events\\\RetrySucceededEvent\:\:__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/Retry/Events/RetrySucceededEvent.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Metrics\\\RetryMetrics\:\:getMostCommonExceptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Metrics/RetryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Metrics\\\RetryMetrics\:\:getMostRetriedOperations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Metrics/RetryMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Metrics\\\RetryMetrics\:\:getStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Metrics/RetryMetrics.php', ], [ 'message' => '#^Property App\\\Framework\\\Retry\\\Metrics\\\RetryMetrics\:\:\$stats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Metrics/RetryMetrics.php', ], [ 'message' => '#^Attribute class App\\\Framework\\\DI\\\Initializer does not have the class target\.$#', 'identifier' => 'attribute.target', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryInitializer.php', ], [ 'message' => '#^Function usleep\(\) is forbidden\: Use Timer\:\:sleep\(Duration\) instead for testable sleep operations$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\RetryManager\:\: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/Retry/RetryManager.php', ], [ 'message' => '#^Property App\\\Framework\\\Retry\\\RetryManager\:\:\$context type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\RetryResult\:\:__construct\(\) has parameter \$attemptHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\RetryResult\:\:failure\(\) has parameter \$history with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\RetryResult\:\:success\(\) has parameter \$history with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/RetryResult.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Strategies/ExponentialBackoffStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Strategies\\\ExponentialBackoffStrategy\:\:__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/Retry/Strategies/ExponentialBackoffStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Strategies\\\FixedRetryStrategy\:\:__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/Retry/Strategies/FixedRetryStrategy.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Retry/Strategies/LinearDelayStrategy.php', ], [ 'message' => '#^Method App\\\Framework\\\Retry\\\Strategies\\\LinearDelayStrategy\:\:__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/Retry/Strategies/LinearDelayStrategy.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' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:prepareParametersFromCollection\(\) 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\:\:prepareParametersFromCollection\(\) 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' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:resolveParameter\(\) has parameter \$param 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\:\:resolveParameter\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ParameterProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ParameterProcessor\:\:resolveTypedParameter\(\) 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' => '#^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/Router/ParameterProcessor.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\DI\\\DefaultContainer\:\:get\(\)$#', 'identifier' => 'argument.templateType', 'count' => 3, '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' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\MethodParameter\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/MethodParameter.php', ], [ 'message' => '#^Class App\\\Framework\\\Router\\\ValueObjects\\\ParameterCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterCollection\:\:getIterator\(\) should return ArrayIterator\ but returns ArrayIterator\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:custom\(\) has parameter \$constraint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:enum\(\) has parameter \$allowedValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:get\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:getDebugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:getOptionalParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:getParameterNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:getRequiredParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:sort\(\) has parameter \$allowedFields with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\ParameterConstraints\:\:with\(\) has parameter \$constraint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/ParameterConstraints.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:all\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:except\(\) has parameter \$keys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:fromArray\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:getArray\(\) has parameter \$default with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:getArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:getDebugInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:keys\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:merge\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:only\(\) has parameter \$keys with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:validateAndNormalize\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:validateAndNormalize\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Method App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:values\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.php', ], [ 'message' => '#^Property App\\\Framework\\\Router\\\ValueObjects\\\RouteParameters\:\:\$parameters type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Router/ValueObjects/RouteParameters.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\\\CacheResult 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' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, object given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Security/RequestSigning/EntityManagerSigningKeyRepository.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', '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' => '#^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/Serializer/Json/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/Serializer/Json/JsonSerializer.php', ], [ 'message' => '#^Strict comparison using \=\=\= between non\-empty\-string and false will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/Json/JsonSerializer.php', ], [ 'message' => '#^Parameter \#1 \$callback of function set_error_handler expects \(callable\(int, string, string, int\)\: bool\)\|null, Closure\(\)\: void given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/Php/PhpSerializer.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\Php\\\PhpSerializerConfig\:\:__construct\(\) has parameter \$allowedClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/Php/PhpSerializerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\Php\\\PhpSerializerConfig\:\:getOptions\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/Php/PhpSerializerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\Php\\\PhpSerializerConfig\:\: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/Serializer/Php/PhpSerializerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\SerializerFactory\:\:createCustomPhpSerializer\(\) has parameter \$allowedClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/SerializerFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\Serializer\\\SerializerFactory\:\:createSafePhpSerializer\(\) has parameter \$allowedClasses with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Serializer/SerializerFactory.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\\\SlidingWindow\\\Aggregator\\\BooleanResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/BooleanResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\CountingResult\:\:__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/SlidingWindow/Aggregator/CountingResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\CountingResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/CountingResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\NumericResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/NumericResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:analyzeThreatPatterns\(\) has parameter \$intervals with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:analyzeThreatPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:calculateConfidence\(\) has parameter \$patterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:calculateThreatScore\(\) has parameter \$patterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:calculateVariance\(\) has parameter \$intervals with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitAggregator\:\:detectRampUpPattern\(\) has parameter \$intervals with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function min expects non\-empty\-array, list\ given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Variable \$intervalVariance on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitAggregator.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:__construct\(\) has parameter \$threatAnalysis with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:__construct\(\) has parameter \$timestamps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:getBurstAnalysis\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:getTimestampsAsFloats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\Aggregator\\\RateLimitResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/Aggregator/RateLimitResult.php', ], [ 'message' => '#^Cannot call method toArray\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Class App\\\Framework\\\SlidingWindow\\\CacheBasedSlidingWindow implements generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\CacheBasedSlidingWindow\:\:__construct\(\) has parameter \$aggregator with generic interface App\\\Framework\\\SlidingWindow\\\Aggregator\\\SlidingWindowAggregator but does not specify its types\: TResult$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:diff\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Timestamp, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array\\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\SlidingWindow\\\CacheBasedSlidingWindow\:\:\$cacheTtl is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/CacheBasedSlidingWindow.php', ], [ 'message' => '#^Cannot call method toArray\(\) on class\-string\|object\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/InMemorySlidingWindow.php', ], [ 'message' => '#^Class App\\\Framework\\\SlidingWindow\\\InMemorySlidingWindow implements generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow but does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/InMemorySlidingWindow.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\InMemorySlidingWindow\:\:__construct\(\) has parameter \$aggregator with generic interface App\\\Framework\\\SlidingWindow\\\Aggregator\\\SlidingWindowAggregator but does not specify its types\: TResult$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/InMemorySlidingWindow.php', ], [ 'message' => '#^Parameter \#1 \$other of method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:diff\(\) expects App\\\Framework\\\Core\\\ValueObjects\\\Timestamp, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/InMemorySlidingWindow.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createBooleanWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createCountingWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createCustomWindow\(\) has parameter \$aggregator with generic interface App\\\Framework\\\SlidingWindow\\\Aggregator\\\SlidingWindowAggregator but does not specify its types\: TResult$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createCustomWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createNumericWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowFactory\:\:createRateLimitWindow\(\) return type with generic interface App\\\Framework\\\SlidingWindow\\\SlidingWindow does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowStats\:\:__construct\(\) has parameter \$aggregatedData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowStats.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\SlidingWindowStats\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/SlidingWindowStats.php', ], [ 'message' => '#^Method App\\\Framework\\\SlidingWindow\\\WindowEntry\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SlidingWindow/WindowEntry.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\:\:exists\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', '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' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Smartlinks/Services/CacheSmartLinkService.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 2, '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' => '#^Call to an undefined static method App\\\Framework\\\Cache\\\CacheKey\:\:from\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Instanceof between T of App\\\Framework\\\StateManagement\\\SerializableState and App\\\Framework\\\StateManagement\\\SerializableState will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\CacheBasedStateManager\:\:for\(\) should return App\\\Framework\\\StateManagement\\\CacheBasedStateManager\ but returns App\\\Framework\\\StateManagement\\\CacheBasedStateManager\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\CacheBasedStateManager\:\: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/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Parameter \#1 \$callback of function call_user_func expects callable\(\)\: mixed, array\{string, \'fromArray\'\} given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/CacheBasedStateManager.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:add\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Instanceof between T of App\\\Framework\\\StateManagement\\\SerializableState and App\\\Framework\\\StateManagement\\\SerializableState will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\InMemoryStateManager\:\:for\(\) should return App\\\Framework\\\StateManagement\\\InMemoryStateManager\ but returns App\\\Framework\\\StateManagement\\\InMemoryStateManager\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Parameter \#1 \$callback of function call_user_func expects callable\(\)\: mixed, array\{string, \'fromArray\'\} given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Property App\\\Framework\\\StateManagement\\\InMemoryStateManager\:\:\$expirationTimes type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Property App\\\Framework\\\StateManagement\\\InMemoryStateManager\:\:\$states type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/InMemoryStateManager.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\SerializableState\:\: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/StateManagement/SerializableState.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\SerializableState\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/SerializableState.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createForCircuitBreaker\(\) return type with generic class App\\\Framework\\\StateManagement\\\CacheBasedStateManager does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createForErrorBoundary\(\) return type with generic class App\\\Framework\\\StateManagement\\\CacheBasedStateManager does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createForRateLimiter\(\) return type with generic class App\\\Framework\\\StateManagement\\\CacheBasedStateManager does not specify its types\: T$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Parameter \$stateClass of method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createCacheBased\(\) expects class\-string\, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Unable to resolve the template type T in call to method App\\\Framework\\\StateManagement\\\StateManagerFactory\:\:createCacheBased\(\)$#', 'identifier' => 'argument.templateType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerFactory.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toFloat\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Core\\\ValueObjects\\\Percentage\:\:fromFloat\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Cannot instantiate class App\\\Framework\\\Core\\\ValueObjects\\\Duration via private constructor App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Method App\\\Framework\\\StateManagement\\\StateManagerStatistics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.php', ], [ 'message' => '#^Parameter \#1 \$nanoseconds of class App\\\Framework\\\Core\\\ValueObjects\\\Duration constructor expects int, float given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/StateManagement/StateManagerStatistics.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' => '#^Cannot access offset 0 on App\\\Framework\\\Reflection\\\Collections\\\AttributeCollection\.$#', 'identifier' => 'offsetAccess.nonOffsetAccessible', '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' => '#^Offset 2 on array\{int, string, int\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/SyntaxHighlighter/Tokenizer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Performance\\\PerformanceMetric\:\:getValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Performance\\\PerformanceMetric\:\:withValue\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Adapters\\\PerformanceCollectorAdapter\:\: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/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Adapters\\\PerformanceCollectorAdapter\:\: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/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Adapters\\\PerformanceCollectorAdapter\:\: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/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Adapters\\\PerformanceCollectorAdapter\:\: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/Telemetry/Adapters/PerformanceCollectorAdapter.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Config\\\TelemetryConfig\:\: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/Telemetry/Config/TelemetryConfig.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/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Function mkdir\(\) is forbidden\: Use Directory abstraction instead$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\Exporters\\\FileExporter\:\:\$eventsHandle \(resource\|null\) does not accept resource\|false\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\Exporters\\\FileExporter\:\:\$metricsHandle \(resource\|null\) does not accept resource\|false\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\Exporters\\\FileExporter\:\:\$operationsHandle \(resource\|null\) does not accept resource\|false\.$#', 'identifier' => 'assign.propertyType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/FileExporter.php', ], [ 'message' => '#^Parameter \#3 \$labels of method App\\\Framework\\\Telemetry\\\Exporters\\\PrometheusExporter\:\:recordCounter\(\) expects array\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/PrometheusExporter.php', ], [ 'message' => '#^Parameter \#3 \$labels of method App\\\Framework\\\Telemetry\\\Exporters\\\PrometheusExporter\:\:recordGauge\(\) expects array\, string given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/PrometheusExporter.php', ], [ 'message' => '#^Parameter \#3 \$labels of method App\\\Framework\\\Telemetry\\\Exporters\\\PrometheusExporter\:\:recordHistogram\(\) expects array\, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/PrometheusExporter.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\Exporters\\\PrometheusExporter\:\:\$endpoint is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Exporters/PrometheusExporter.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Database\\\ConnectionInterface\:\:getConfig\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryDatabaseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryDatabaseMiddleware\:\:sanitizeQuery\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryDatabaseMiddleware.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/Telemetry/Middleware/TelemetryDatabaseMiddleware.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/Telemetry/Middleware/TelemetryDatabaseMiddleware.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/Telemetry/Middleware/TelemetryDatabaseMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:addResponseAttributes\(\) has parameter \$response with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:createRequestAttributes\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:getClientIp\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:getSpanName\(\) has parameter \$request with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:setSpanStatus\(\) has parameter \$response with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Parameter \#1 \$paramName of method App\\\Framework\\\Telemetry\\\Middleware\\\TelemetryHttpMiddleware\:\:isSensitiveParameter\(\) expects string, int\|string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/Middleware/TelemetryHttpMiddleware.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\OperationHandle\:\:recordEvent\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/OperationHandle.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\OperationHandle\:\:recordMetric\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/OperationHandle.php', ], [ 'message' => '#^Property App\\\Framework\\\Telemetry\\\UnifiedTelemetryService\:\:\$circuitBreaker is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/UnifiedTelemetryService.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/Telemetry/ValueObjects/Event.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Event\:\:error\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Event.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Event\:\:info\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Event.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Event\:\:warning\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Event.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/Telemetry/ValueObjects/Metric.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Metric\:\:counter\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Metric.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Metric\:\:gauge\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Metric.php', ], [ 'message' => '#^Method App\\\Framework\\\Telemetry\\\ValueObjects\\\Metric\:\:histogram\(\) has parameter \$attributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Telemetry/ValueObjects/Metric.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/Telemetry/ValueObjects/Operation.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' => '#^Cannot instantiate class App\\\Framework\\\UserAgent\\\UserAgent via private constructor App\\\Framework\\\UserAgent\\\UserAgent\:\:__construct\(\)\.$#', 'identifier' => 'new.privateConstructor', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/ParsedUserAgent.php', ], [ 'message' => '#^Left side of && is always true\.$#', 'identifier' => 'booleanAnd.leftAlwaysTrue', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/ParsedUserAgent.php', ], [ 'message' => '#^Method App\\\Framework\\\UserAgent\\\Patterns\\\EnginePatterns\:\:getGeckoVersionMap\(\) should return array\ but returns array\\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/Patterns/EnginePatterns.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Cache\\\CacheResult and App\\\Framework\\\UserAgent\\\ParsedUserAgent will always evaluate to false\.$#', 'identifier' => 'instanceof.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$identifiers of method App\\\Framework\\\Cache\\\Cache\:\:get\(\) expects App\\\Framework\\\Cache\\\CacheIdentifier, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\UserAgent\\\ParsedUserAgent given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/UserAgent/UserAgentParser.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' => '#^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\:\:hasFragment\(\) should return bool but returns array\\.$#', 'identifier' => 'return.type', '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 templates\(\) on App\\\Framework\\\Discovery\\\Results\\\DiscoveryRegistry\|null\.$#', 'identifier' => 'method.nonObject', 'count' => 3, '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\\\Template\\\Processing\\\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\:\:replaceErrorsForForm\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:replaceOldInputForForm\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:replaceTokenForFormId\(\) is unused\.$#', 'identifier' => 'method.unused', '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\\\FormDataStorage 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 \#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' => '#^Property App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:\$container is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Property App\\\Framework\\\View\\\Processors\\\CsrfReplaceProcessor\:\:\$formIdGenerator is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfReplaceProcessor.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, '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\:\:replacePlaceholdersWithTokens\(\) is unused\.$#', 'identifier' => 'method.unused', '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' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:replaceTokensWithPlaceholders\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/View/Processors/CsrfTokenProcessor.php', ], [ 'message' => '#^Method App\\\Framework\\\View\\\Processors\\\CsrfTokenProcessor\:\:shouldProcessCsrf\(\) is unused\.$#', 'identifier' => 'method.unused', '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\:\:\$cacheMode is never read, only written\.$#', 'identifier' => 'property.onlyWritten', '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' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', '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 App\\\Framework\\\Reflection\\\WrappedReflectionClass\:\:getFullyQualified\(\)\.$#', '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' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:__construct\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:__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/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:failure\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\: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/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:getFindingsByType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\: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/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:warning\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:warning\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:withConfidence\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\:withConfidence\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisResult\:\: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/Waf/Analysis/AnalysisResult.php', ], [ 'message' => '#^Match arm comparison between \$this\(App\\\Framework\\\Waf\\\Analysis\\\AnalysisType\)&App\\\Framework\\\Waf\\\Analysis\\\AnalysisType\:\:BODY and App\\\Framework\\\Waf\\\Analysis\\\AnalysisType\:\:BODY is always true\.$#', 'identifier' => 'match.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\AnalysisType\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/AnalysisType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\AnalyzerInterface\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/AnalyzerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\AnalyzerInterface\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/AnalyzerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:__construct\(\) has parameter \$suspiciousPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:analyzeEncoding\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\BodyAnalyzer\:\:performDeepScan\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/BodyAnalyzer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:__construct\(\) has parameter \$injectionPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:__construct\(\) has parameter \$requiredSecurityAttributes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:__construct\(\) has parameter \$suspiciousCookieNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:analyzeCookieTampering\(\) has parameter \$cookies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:analyzeCookieTampering\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:analyzeSecurityCompliance\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:checkForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\CookieAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/CookieAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:__construct\(\) has parameter \$allowedMimeTypes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:__construct\(\) has parameter \$dangerousExtensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:__construct\(\) has parameter \$suspiciousPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:analyzeFileContent\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:analyzeIndividualFile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\FileAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Regex pattern is invalid\: Unknown modifier \'\]\' in pattern\: /\(\?\:\\\\\.\\\\\.\[\\\\\\\/\]\)\|\(\?\:\[\\\\\\\/\]\\\\\.\\\\\.\)\|\(\?\:\\\\\.\\\\\.\\\\\\\\\\\\\\\\\)\|\(\?\:\\\\\\\\\\\\\\\\\\\\\.\\\\\.\)\|\(\?\:%2e%2e%2f\)\|\(\?\:%2e%2e\\\\\\\\\\\\\\\\\)\|\(\?\:\\\\\.\\\\\.%2f\)\|\(\?\:\\\\\.\\\\\.%5c\)\|\(\?\:%2e%2e%5c\)/$#', 'identifier' => 'regexp.pattern', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/FileAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:__construct\(\) has parameter \$forbiddenHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:__construct\(\) has parameter \$requiredHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:__construct\(\) has parameter \$suspiciousHeaders with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\HeaderAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Strict comparison using \=\=\= between \*NEVER\* and 1 will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Variable \$findings in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/HeaderAnalyzer.php', ], [ 'message' => '#^Call to function is_array\(\) with mixed will always evaluate to false\.$#', 'identifier' => 'function.impossibleType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Call to function is_object\(\) with object will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:__construct\(\) has parameter \$injectionPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:__construct\(\) has parameter \$suspiciousPropertyNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonElement\(\) has parameter \$element with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonElement\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonEncoding\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonStructure\(\) has parameter \$jsonData with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeJsonStructure\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeSuspiciousProperties\(\) has parameter \$jsonData with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:analyzeSuspiciousProperties\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkForInjections\(\) has parameter \$jsonData with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkJsonBombing\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkPrototypePollution\(\) has parameter \$jsonData with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:checkPrototypePollution\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\: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/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\JsonAnalyzer\:\:traverseJsonForProperties\(\) has parameter \$data with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.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/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.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/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Result of && is always false\.$#', 'identifier' => 'booleanAnd.alwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/JsonAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:__construct\(\) has parameter \$injectionPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:__construct\(\) has parameter \$suspiciousParameterNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:analyzeParameterPatterns\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:analyzeParameterPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:checkForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\ParameterAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/ParameterAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:__construct\(\) has parameter \$adminPathIndicators with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:__construct\(\) has parameter \$debugPathIndicators with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:__construct\(\) has parameter \$suspiciousFileExtensions with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:__construct\(\) has parameter \$suspiciousPathPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:analyzeEncoding\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:analyzeFileExtension\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:analyzePathStructure\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:analyzeUnicodeThreats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:checkSuspiciousPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\UrlAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Strict comparison using \=\=\= between App\\\Framework\\\Waf\\\DetectionSeverity\:\:MEDIUM and App\\\Framework\\\Waf\\\DetectionSeverity\:\:LOW will always evaluate to false\.$#', 'identifier' => 'identical.alwaysFalse', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Variable \$segment in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/UrlAnalyzer.php', ], [ 'message' => '#^Argument of an invalid type DOMNodeList\\|false supplied for foreach, only iterables are supported\.$#', 'identifier' => 'foreach.nonIterable', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Cannot access property \$nodeName on DOMNode\|null\.$#', 'identifier' => 'property.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:__construct\(\) has parameter \$dangerousEntityPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:__construct\(\) has parameter \$injectionPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:__construct\(\) has parameter \$suspiciousElementNames with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeSuspiciousElements\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeXmlEncoding\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeXmlNode\(\) has parameter \$node with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeXmlNode\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:analyzeXmlStructure\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkContentForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkDangerousEntities\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkForInjections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkXmlBombing\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:getMaxSeverityFromFindings\(\) has parameter \$findings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:parseXmlSecurely\(\) never returns null so it can be removed from the return type\.$#', 'identifier' => 'return.unusedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Parameter \#1 \$content of method App\\\Framework\\\Waf\\\Analysis\\\Analyzers\\\XmlAnalyzer\:\:checkContentForInjections\(\) expects string, string\|null given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/Analyzers/XmlAnalyzer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Http\\\IpAddress\:\:fromString\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__construct\(\) has parameter \$cookies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__construct\(\) has parameter \$files with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__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/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__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/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__construct\(\) has parameter \$postParameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:__construct\(\) has parameter \$queryParameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:fromArray\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:getAllParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:getFile\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:getFileNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:minimal\(\) has parameter \$headers with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:toAnalysisArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Analysis/ValueObjects/RequestAnalysisData.php', ], [ 'message' => '#^Access to constant HIGH on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Access to constant LOW on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Access to constant MEDIUM on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotDetectionType\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotDetectionType\:\:getBySeverity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotDetectionType\:\:getDefaultSeverity\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Parameter \$severity of method App\\\Framework\\\Waf\\\BotProtection\\\BotDetectionType\:\:getBySeverity\(\) has invalid type App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotDetectionType.php', ], [ 'message' => '#^Access to constant HIGH on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Access to constant MEDIUM on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Access to property \$confidence on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\BotDetection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to method getDetections\(\) on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to method getRiskScore\(\) on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to method isSuspicious\(\) on an unknown class App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\BotProtection\\\BotDetection not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:__construct\(\) has parameter \$detectionHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:__construct\(\) has parameter \$performanceMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeBehavior\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeBehavior\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeBehavior\(\) should return App\\\Framework\\\Waf\\\BotProtection\\\BehavioralAnalysisResult but returns App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeDevice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:analyzeRequest\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateBotRiskScore\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateBotRiskScore\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateConfidence\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateConfidence\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateRiskConfidence\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:calculateRiskScoreVariance\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:createCaptchaFailureDetection\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\BotDetection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:createDeviceDetection\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\BotDetection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:createFingerprintDetection\(\) has invalid return type App\\\Framework\\\Waf\\\BotProtection\\\BotDetection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:detectFingerprint\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:getClientIdentifier\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:getPerformanceStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:getRecentDetections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:recordDetection\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:shouldRequireCaptcha\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:validateCaptcha\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\BotProtectionEngine\:\:validateCaptcha\(\) should return bool but returns App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaResult\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:validateResponse\(\) invoked with 2 parameters, 3 required\.$#', 'identifier' => 'arguments.count', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Parameter \#1 \$challengeId of method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:validateResponse\(\) expects string, App\\\Framework\\\Waf\\\Analysis\\\ValueObjects\\\RequestAnalysisData given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Parameter \#2 \$response of method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:validateResponse\(\) expects string, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/BotProtectionEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Cache\\\Cache\:\:delete\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:addSeconds\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\HttpClient\\\HttpClient\:\:post\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^If condition is always true\.$#', 'identifier' => 'if.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:__construct\(\) has parameter \$activeChallenges with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:generateChallenge\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:getSupportedProviders\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:normalizeProviderResponse\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:normalizeProviderResponse\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\CaptchaValidator\:\:validateWithProvider\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Parameter \#1 \$data of static method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaChallenge\:\:fromArray\(\) expects array, App\\\Framework\\\Cache\\\CacheResult given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Cache\\\CacheKey given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Parameter \#2 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, array given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Parameter \#3 \.\.\.\$items of method App\\\Framework\\\Cache\\\Cache\:\:set\(\) expects App\\\Framework\\\Cache\\\CacheItem, App\\\Framework\\\Core\\\ValueObjects\\\Duration given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/CaptchaValidator.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Comparison operation "\>" between int\<3, max\> and 0 is always true\.$#', 'identifier' => 'greater.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:__construct\(\) has parameter \$behaviorPatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:__construct\(\) has parameter \$sessionData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:__construct\(\) has parameter \$timingThresholds with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeBehavior\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeKeystrokePatterns\(\) has parameter \$keystrokes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeKeystrokePatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeMouseMovement\(\) has parameter \$movements with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeMouseMovement\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeNavigationPatterns\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeRequestTiming\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:analyzeRequestTiming\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateAnalysisConfidence\(\) has parameter \$behaviorMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateAnalysisConfidence\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateBehavioralRiskScore\(\) has parameter \$behaviorMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateBehavioralRiskScore\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:calculateVariance\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:getSessionId\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:isPerfectLine\(\) has parameter \$point1 with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:isPerfectLine\(\) has parameter \$point2 with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\BehavioralDetector\:\:updateSessionData\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/BehavioralDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:__construct\(\) has parameter \$devicePatterns with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:__construct\(\) has parameter \$deviceProfileCache with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:__construct\(\) has parameter \$suspiciousDevices with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:analyzeDevice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:analyzeHardwareConsistency\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:analyzeUserAgentConsistency\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:checkAgainstKnownPatterns\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:detectHeadlessBrowser\(\) has parameter \$deviceInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:detectVirtualMachine\(\) has parameter \$deviceInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:detectWebDriver\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:detectWebDriver\(\) has parameter \$deviceInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:extractDeviceData\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:extractDeviceData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:generateProfileCacheKey\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:getSuspiciousDevices\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:matchesPattern\(\) has parameter \$deviceData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:matchesPattern\(\) has parameter \$pattern with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\DeviceIntelligenceDetector\:\:trackSuspiciousDevice\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.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/Waf/BotProtection/Detectors/DeviceIntelligenceDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:__construct\(\) has parameter \$fingerprintCache with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:__construct\(\) has parameter \$knownBotFingerprints with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:addKnownBotFingerprint\(\) has parameter \$metadata with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:analyzeFingerprint\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:extractFingerprintData\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:extractFingerprintData\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:generateCacheKey\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\Detectors\\\FingerprintDetector\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/Detectors/FingerprintDetector.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/Waf/BotProtection/Detectors/FingerprintDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\:\:__construct\(\) has parameter \$behaviorMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BehavioralAnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\:\:__construct\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BehavioralAnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\:\:getDetections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BehavioralAnalysisResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BehavioralAnalysisResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BehavioralAnalysisResult.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetection\:\:__construct\(\) has parameter \$evidence with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetection.php', ], [ 'message' => '#^Readonly property App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetection\:\:\$timestamp is already assigned\.$#', 'identifier' => 'assign.readOnlyProperty', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:__construct\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:__construct\(\) has parameter \$riskFactors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:getDetectionTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:getHighConfidenceDetections\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotDetectionResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotDetectionResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotRiskScore\:\:__construct\(\) has parameter \$factors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotRiskScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BotRiskScore\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BotRiskScore.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$anomalousFeatures with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$audioFingerprint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$canvasFingerprint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$fontList with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$pluginList with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$screenResolution with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$timezoneInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:__construct\(\) has parameter \$webglFingerprint with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:calculateAnomalyScore\(\) has parameter \$anomalies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:calculateAnomalyScore\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:detectAnomalies\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:detectAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:extractFeatures\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:extractFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:fromData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:generateHash\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:getAnomalousFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\BrowserFingerprint\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Parameter \#2 \$data of function hash expects string, string\|false given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/BrowserFingerprint.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 6, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaChallenge\:\:__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/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaChallenge\:\: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/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaChallenge\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaChallenge.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaResult\:\:__construct\(\) has parameter \$errorCodes with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaResult\:\:__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/Waf/BotProtection/ValueObjects/CaptchaResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\CaptchaResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/CaptchaResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$characteristics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$connectionType with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$hardwareSpecs with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$locationData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$networkInfo with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:__construct\(\) has parameter \$suspiciousFeatures with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:calculateSuspicionScore\(\) has parameter \$characteristics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:calculateSuspicionScore\(\) has parameter \$suspiciousFeatures with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:detectSuspiciousFeatures\(\) has parameter \$characteristics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:detectSuspiciousFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:extractCharacteristics\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:extractCharacteristics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:fromData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:generateDeviceId\(\) has parameter \$characteristics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:getSuspiciousFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\BotProtection\\\ValueObjects\\\DeviceProfile\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/BotProtection/ValueObjects/DeviceProfile.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\DetectionCategory\:\:getRelatedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/DetectionCategory.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\LayerStatus\:\:SUSPICIOUS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/LayerResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\LayerResult\:\:suspicious\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/LayerResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\LayerResult\:\:threat\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/LayerResult.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\CommandInjectionLayer\:\:analyzeRiskFactors\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\CommandInjectionLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\CommandInjectionLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Offset 0 on array\{0\: non\-empty\-string, 1\?\: non\-falsy\-string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Unknown parameter \$details in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Unknown parameter \$riskScore in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/CommandInjectionLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:ANOMALY\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:RATE_LIMITING\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:SUSPICIOUS_BEHAVIOR\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\LayerStatus\:\:SUSPICIOUS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:buildRequestContext\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:buildThreatMessage\(\) has parameter \$rateLimitResult with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createAnomalyDetection\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createAnomalyDetection\(\) has parameter \$rateLimitResult with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createRateLimitDetection\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createRateLimitDetection\(\) has parameter \$rateLimitResult with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createSuspiciousPatternDetection\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:createSuspiciousPatternDetection\(\) has parameter \$rateLimitResult with no type specified\.$#', 'identifier' => 'missingType.parameter', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:selectRateLimitTier\(\) has parameter \$requestContext with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\IntelligentRateLimitLayer\:\:selectRateLimitTier\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Unknown parameter \$clock in call to App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/IntelligentRateLimitLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\LayerInterface\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/LayerInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\LayerInterface\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/LayerInterface.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\PathTraversalLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\PathTraversalLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Offset 0 on array\{non\-falsy\-string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Unknown parameter \$details in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Unknown parameter \$riskScore in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/PathTraversalLayer.php', ], [ 'message' => '#^Function file_put_contents\(\) is forbidden\: Use FileSystem abstraction instead$#', 'count' => 11, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SqlInjectionLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SqlInjectionLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Offset 0 on array\{0\: non\-empty\-string, 1\: non\-empty\-string, 2\?\: non\-falsy\-string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SqlInjectionLayer.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/Waf/Layers/SqlInjectionLayer.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\LayerStatus\:\:SUSPICIOUS\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Expression on left side of \?\? is not nullable\.$#', 'identifier' => 'nullCoalesce.expr', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SuspiciousUserAgentLayer\:\:analyzeUserAgentStructure\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SuspiciousUserAgentLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\SuspiciousUserAgentLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Offset 0 on array\{string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Unknown parameter \$details in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Unknown parameter \$riskScore in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/SuspiciousUserAgentLayer.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:get\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\XssLayer\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Layers\\\XssLayer\:\:getSupportedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Offset 0 on array\{0\: non\-falsy\-string, 1\?\: non\-falsy\-string\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor expects App\\\Framework\\\Core\\\ValueObjects\\\Percentage\|null, float given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Unknown parameter \$details in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Unknown parameter \$riskScore in call to App\\\Framework\\\Waf\\\ValueObjects\\\Detection constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Layers/XssLayer.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\AnomalyDetectorInterface\:\:canAnalyze\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/AnomalyDetectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\AnomalyDetectorInterface\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/AnomalyDetectorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\AnomalyDetectorInterface\:\:getSupportedBehaviorTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/AnomalyDetectorInterface.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Cannot call method getValue\(\) on float\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:__construct\(\) has parameter \$baselines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:__construct\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:__construct\(\) has parameter \$performanceMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:__construct\(\) has parameter \$updateTimestamps with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:applySeasonalAdjustment\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:applySeasonalAdjustment\(\) has parameter \$stats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:applySeasonalAdjustment\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:calculatePercentile\(\) has parameter \$sortedValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:calculateStatistics\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:calculateStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:createInitialBaseline\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getBaselineBehaviorTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getBaselineStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getBaselinesForBehaviorType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BaselineManager\:\:updateExistingBaseline\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$createdAt \(App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$identifier \(string\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$maximum \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$median \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$minimum \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$percentiles \(array\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$sampleCount \(int\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Missing parameter \$windowSize \(App\\\Framework\\\Core\\\ValueObjects\\\Duration\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor expects float, App\\\Framework\\\Core\\\ValueObjects\\\Percentage given\.$#', 'identifier' => 'argument.type', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Unknown parameter \$p50 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Unknown parameter \$p95 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Unknown parameter \$p99 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Unknown parameter \$sampleSize in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BaselineManager.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BehaviorType\:\:getAll\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BehaviorType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BehaviorType\:\:getBatch\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BehaviorType.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\BehaviorType\:\:getRealTime\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/BehaviorType.php', ], [ 'message' => '#^Call to function is_numeric\(\) with float will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature and App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:__construct\(\) has parameter \$clusterAssignments with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:__construct\(\) has parameter \$clusterCenters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:__construct\(\) has parameter \$featureVectors with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:canAnalyze\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:performClustering\(\) should return array\{centers\: array\\>, assignments\: array\, cost\: float, iterations\: int\} but returns array\{\}\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Offset \'normalized_value\' on array\{value\: float, normalized_value\: float, z_score\: float, feature\: App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Offset \'value\' on array\{value\: float, normalized_value\: float, z_score\: float, feature\: App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Offset \'z_score\' on array\{value\: float, normalized_value\: float, z_score\: float, feature\: App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\} on left side of \?\? always exists and is not nullable\.$#', 'identifier' => 'nullCoalesce.offset', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:\$clusterAssignments is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\ClusteringAnomalyDetector\:\:\$clusterCenters is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Result of && is always true\.$#', 'identifier' => 'booleanAnd.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/ClusteringAnomalyDetector.php', ], [ 'message' => '#^Instanceof between App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature and App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature will always evaluate to true\.$#', 'identifier' => 'instanceof.alwaysTrue', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:__construct\(\) has parameter \$featureHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:calculateMovingAverage\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:canAnalyze\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectFrequencySpikes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectOutliers\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectPatternDeviations\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectTrendAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:detectZScoreAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:getFeatureHistory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:getSupportedBehaviorTypes\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Parameter \#2 \$window of method App\\\Framework\\\Waf\\\MachineLearning\\\Detectors\\\StatisticalAnomalyDetector\:\:calculateMovingAverage\(\) expects int, float\|int given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>mean" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Using nullsafe property access "\?\-\>standardDeviation" on left side of \?\? is unnecessary\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Detectors/StatisticalAnomalyDetector.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Function date\(\) is forbidden\: Use Clock\:\:now\(\)\-\>format\(\) or DateTimeFormatter instead$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Function time\(\) is forbidden\: Use Clock\:\:time\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:__construct\(\) has parameter \$requestHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:calculateAutocorrelation\(\) has parameter \$buckets with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractBurstRate\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractBurstiness\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractFeatures\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractFrequencyEntropy\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractInterArrivalVariance\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractPeriodicityScore\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractRequestRate\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractRequestSpacing\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractSustainedRate\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractTimeOfDayPattern\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:extractWeekdayPattern\(\) has parameter \$requests with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:getFeatureNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\FrequencyFeatureExtractor\:\:getRequestHistory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Parameter \#1 \$array \(array\{App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature, \.\.\.\}\) to function array_filter does not contain falsy values, the array will always stay the same\.$#', 'identifier' => 'arrayFilter.same', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.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/Waf/MachineLearning/Extractors/FrequencyFeatureExtractor.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Comparison operation "\>" between int\<2, max\> and 0 is always true\.$#', 'identifier' => 'greater.alwaysTrue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:__construct\(\) has parameter \$parameterHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:__construct\(\) has parameter \$pathHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractFeatures\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractInjectionPatternScore\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractNavigationPattern\(\) has parameter \$pathHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterComplexity\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterCount\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterEntropy\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractParameterValueEntropy\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractPathFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractPathSequenceEntropy\(\) has parameter \$pathHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractPathTransitionScore\(\) has parameter \$pathHistory with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractSequenceFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractStructureFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:extractSuspiciousParameterScore\(\) has parameter \$parameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\Extractors\\\PatternFeatureExtractor\:\:getFeatureNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Parameter \#1 \.\.\.\$arg1 of function max expects non\-empty\-array, array\\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/Extractors/PatternFeatureExtractor.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\FeatureExtractorInterface\:\:extractFeatures\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/FeatureExtractorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\FeatureExtractorInterface\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/FeatureExtractorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\FeatureExtractorInterface\:\:getDependencies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/FeatureExtractorInterface.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\FeatureExtractorInterface\:\:getFeatureNames\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/FeatureExtractorInterface.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toIso8601String\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\:\:toUnixTimestamp\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Http\\\IpAddress\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\UserAgent\\\UserAgent\:\:toString\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Call to function is_numeric\(\) with float will always evaluate to true\.$#', 'identifier' => 'function.alreadyNarrowedType', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Cannot call method getValue\(\) on float\.$#', 'identifier' => 'method.nonObject', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:__construct\(\) has parameter \$baselineCache with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:__construct\(\) has parameter \$featureCache with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:__construct\(\) has parameter \$performanceMetrics with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:analyzeRequest\(\) has parameter \$context with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:calculateOverallConfidence\(\) has parameter \$anomalies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:createBaselineFromFeatures\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:deduplicateAndRankAnomalies\(\) has parameter \$anomalies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:deduplicateAndRankAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:detectAnomalies\(\) has parameter \$baselines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:detectAnomalies\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:detectAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getBaselineStats\(\) has parameter \$baselines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getBaselineStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getBaselines\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getBaselines\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getConfiguration\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getDetectorResults\(\) has parameter \$anomalies with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getDetectorResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getExtractorResults\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getExtractorResults\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getPerformanceStats\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:getRelevantBaseline\(\) has parameter \$baselines with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:updateModels\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:validateFeatures\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningEngine\:\:validateFeatures\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$createdAt \(App\\\Framework\\\Core\\\ValueObjects\\\Timestamp\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$identifier \(string\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$maximum \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$median \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$minimum \(float\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$percentiles \(array\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$sampleCount \(int\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Missing parameter \$windowSize \(App\\\Framework\\\Core\\\ValueObjects\\\Duration\) in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.missing', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Parameter \$confidence of class App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor expects float, App\\\Framework\\\Core\\\ValueObjects\\\Percentage given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Unknown parameter \$p50 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Unknown parameter \$p95 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Unknown parameter \$p99 in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Unknown parameter \$sampleSize in call to App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline constructor\.$#', 'identifier' => 'argument.unknown', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Variable \$values in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:__construct\(\) has parameter \$baselineStats with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:__construct\(\) has parameter \$detectorResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:__construct\(\) has parameter \$extractorResults with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getAnomaliesByType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getCriticalAnomalies\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getDetailedReport\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getFeaturesByBehaviorType\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\MachineLearningResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/MachineLearningResult.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:__construct\(\) has parameter \$evidence with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:__construct\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:__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/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:create\(\) has parameter \$evidence with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:create\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:geographicAnomaly\(\) has parameter \$normalLocations with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:patternDeviation\(\) has parameter \$features with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\AnomalyDetection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Unreachable statement \- code above always terminates\.$#', 'identifier' => 'deadCode.unreachable', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/AnomalyDetection.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:__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/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:__construct\(\) has parameter \$percentiles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:calculateKurtosis\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:calculatePercentile\(\) has parameter \$sortedValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:calculateSkewness\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:calculateVariance\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:fromStatistics\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:getSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorBaseline\:\:updateWith\(\) has parameter \$newValues with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorBaseline.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:__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/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:calculateMedian\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\: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/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:calculateVariance\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:entropy\(\) has parameter \$distribution with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:statistical\(\) has parameter \$values with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\MachineLearning\\\ValueObjects\\\BehaviorFeature\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Offset float does not exist on list\.$#', 'identifier' => 'offsetAccess.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/MachineLearning/ValueObjects/BehaviorFeature.php', ], [ 'message' => '#^Access to property \$globalTimeout on an unknown class App\\\Framework\\\Waf\\\WafConfig\.$#', 'identifier' => 'class.notFound', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.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/Waf/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\PerformanceService\:\:getAllTimings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\PerformanceService\:\:getMetric\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\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/Waf/PerformanceService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\PerformanceService\:\:getWarnings\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Parameter \$config of method App\\\Framework\\\Waf\\\PerformanceService\:\:__construct\(\) has invalid type App\\\Framework\\\Waf\\\WafConfig\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\PerformanceService\:\:\$config has unknown class App\\\Framework\\\Waf\\\WafConfig as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\PerformanceService\:\:\$metrics type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\PerformanceService\:\:\$timings type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/PerformanceService.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/Waf/PerformanceService.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:BOT_DETECTION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:EVASION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:FILE_UPLOAD_ABUSE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:INJECTION_ATTACK\.$#', 'identifier' => 'classConstant.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:PROTOCOL_ATTACK\.$#', 'identifier' => 'classConstant.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:commandInjection\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:generic\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 10, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:pathTraversal\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:sql\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getAllRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getApplicationAttackRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getCommandInjectionRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getCriticalRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getFileUploadRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getGenericAttackRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getHighPriorityRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getHttpProtocolRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getOwaspTop10Rules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getPathTraversalRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getSqlInjectionRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getUserAgentRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\OWASPCoreRuleSet\:\:getXssRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Parameter \#1 \$number of static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:xss\(\) expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/OWASPCoreRuleSet.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:BOT_DETECTION\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Access to undefined constant App\\\Framework\\\Waf\\\DetectionCategory\:\:FILE_UPLOAD_ABUSE\.$#', 'identifier' => 'classConstant.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:commandInjection\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:generic\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:pathTraversal\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Call to an undefined static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:sql\(\)\.$#', 'identifier' => 'staticMethod.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:__construct\(\) has parameter \$actionParameters with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:__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/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:__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/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:evaluate\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\Rule\:\: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/Waf/Rules/Rule.php', ], [ 'message' => '#^Parameter \#1 \$number of static method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:xss\(\) expects int, string given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/Rule.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleAction\:\:getRequiredParameters\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleAction.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:addRules\(\) has parameter \$rules with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:evaluateAll\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:evaluateCategories\(\) has parameter \$categories with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:evaluateCategories\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getEnabledRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getRules\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getRulesByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getRulesByTag\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:getStatistics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:quickEvaluate\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:\$evaluationStats type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:\$rules type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:\$rulesByCategory type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\Rules\\\RuleEngine\:\:\$rulesByPriority type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEngine.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:__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/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:__construct\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getAlertingMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getBlockingMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getCriticalMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getHighSeverityMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getMatchedCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getMatchedRuleIds\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getMatchesByCategory\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getMatchesBySeverity\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getOwaspTop10Matches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:getPerformanceSummary\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\RuleEvaluationResult\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/RuleEvaluationResult.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:applyTransformation\(\) should return string but returns string\|null\.$#', 'identifier' => 'return.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:evaluate\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:extractValue\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:getMatches\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:getMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleCondition\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleCondition.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:__construct\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:__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/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:calculateConfidence\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:fromCondition\(\) has parameter \$requestData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:getMatchExcerpt\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:getOwaspInfo\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:highConfidence\(\) has parameter \$matches with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RuleMatch\:\: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/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Parameter \#2 \$offset of function substr expects int, float\|int\<0, max\> given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RuleMatch.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RulePattern\:\:getAllMatches\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RulePattern.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\Rules\\\ValueObjects\\\RulePattern\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/Rules/ValueObjects/RulePattern.php', ], [ 'message' => '#^Access to property \$category on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Access to property \$confidence on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Access to property \$severity on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filter\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Call to method getThreatScore\(\) on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Call to method isOwaspTop10\(\) on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ThreatAssessment\:\:getThreatCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ThreatAssessment\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Parameter \#1 \$category of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filterByCategory\(\) expects App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCategory, App\\\Framework\\\Waf\\\DetectionCategory given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Parameter \#1 \$severity of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filterBySeverity\(\) expects App\\\Framework\\\Waf\\\ValueObjects\\\DetectionSeverity, App\\\Framework\\\Waf\\\DetectionSeverity given\.$#', 'identifier' => 'argument.type', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessment.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ThreatAssessmentService\:\:getSeverityWeight\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessmentService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ThreatAssessmentService\:\:mapAnomalyScoreToSeverity\(\) is unused\.$#', 'identifier' => 'method.unused', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessmentService.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\ThreatAssessmentService\:\:\$clock is never read, only written\.$#', 'identifier' => 'property.onlyWritten', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ThreatAssessmentService.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\AdditionalContext\:\:__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/Waf/ValueObjects/AdditionalContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\AdditionalContext\:\:addCustomData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/AdditionalContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\AdditionalContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/AdditionalContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\AdditionalContext\:\:withCustomData\(\) has parameter \$data with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/AdditionalContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\BusinessContext\:\:__construct\(\) has parameter \$businessRules with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/BusinessContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\BusinessContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/BusinessContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\Detection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/Detection.php', ], [ 'message' => '#^Access to property \$category on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Access to property \$severity on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 3, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Call to method toArray\(\) on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\Detection not found\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Class App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection implements generic interface IteratorAggregate but does not specify its types\: TKey, TValue$#', 'identifier' => 'missingType.generics', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:fromArray\(\) has parameter \$detections with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:getCategories\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:getHighestSeverity\(\) has invalid return type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\: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/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$category of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filterByCategory\(\) has invalid type App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCategory\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$detection of anonymous function has invalid type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 4, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$detection of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:add\(\) has invalid type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$detection of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:single\(\) has invalid type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$detections of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:__construct\(\) has invalid type App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Parameter \$severity of method App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:filterBySeverity\(\) has invalid type App\\\Framework\\\Waf\\\ValueObjects\\\DetectionSeverity\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Property App\\\Framework\\\Waf\\\ValueObjects\\\DetectionCollection\:\:\$detections has unknown class App\\\Framework\\\Waf\\\Detection as its type\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/DetectionCollection.php', ], [ 'message' => '#^Left side of \|\| is always false\.$#', 'identifier' => 'booleanOr.leftAlwaysFalse', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/GeographicContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\GeographicContext\:\:fromGeoIp\(\) has parameter \$geoData with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/GeographicContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\GeographicContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/GeographicContext.php', ], [ 'message' => '#^Using nullsafe property access on non\-nullable type App\\\Framework\\\Core\\\ValueObjects\\\Coordinates\. Use \-\> instead\.$#', 'identifier' => 'nullsafe.neverNull', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/GeographicContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:__construct\(\) has parameter \$customSettings with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerConfig.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerConfig\:\:validate\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerConfig.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:divide\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isGreaterThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Call to an undefined method App\\\Framework\\\Core\\\ValueObjects\\\Duration\:\:isLessThan\(\)\.$#', 'identifier' => 'method.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerMetrics\:\:__construct\(\) has parameter \$categoryCounts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerMetrics\:\:__construct\(\) has parameter \$severityCounts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerMetrics\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\LayerMetrics\:\:updateCategoryCounts\(\) has parameter \$categoryCounts with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/LayerMetrics.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\PayloadSample\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/PayloadSample.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/Waf/ValueObjects/PayloadSample.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/Waf/ValueObjects/PayloadSample.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\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/Waf/ValueObjects/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\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/Waf/ValueObjects/RequestContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\ResultMetadata\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/ResultMetadata.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\RuleId\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/RuleId.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\SessionContext\:\:__construct\(\) has parameter \$roles with no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/SessionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\SessionContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/SessionContext.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\ValueObjects\\\TechnicalContext\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/ValueObjects/TechnicalContext.php', ], [ 'message' => '#^Function microtime\(\) is forbidden\: Use Clock\:\:microtime\(\) instead for testable time handling$#', 'count' => 5, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafDecision.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\WafDecision\:\:__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/Waf/WafDecision.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\WafDecision\:\:generateMetadata\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafDecision.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\WafDecision\:\:getPerformanceMetrics\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafDecision.php', ], [ 'message' => '#^Method App\\\Framework\\\Waf\\\WafDecision\:\:toArray\(\) return type has no value type specified in iterable type array\.$#', 'identifier' => 'missingType.iterableValue', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafDecision.php', ], [ 'message' => '#^Access to property \$severity on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 2, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafEngine.php', ], [ 'message' => '#^Call to method getThreatScore\(\) on an unknown class App\\\Framework\\\Waf\\\Detection\.$#', 'identifier' => 'class.notFound', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/Framework/Waf/WafEngine.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', ], [ 'message' => '#^Variable \$className in empty\(\) always exists and is not falsy\.$#', 'identifier' => 'empty.variable', 'count' => 1, 'path' => '/home/michael/dev/michaelschiemer/src/preload.php', ], [ 'message' => '#Access to an undefined property#', 'paths' => [ '/home/michael/dev/michaelschiemer/src/Framework/View/*', '/home/michael/dev/michaelschiemer/src/*/views/*', ], ], '#Instantiated class .* not found#', [ 'message' => '#Variable \$\w+ might not be defined#', 'paths' => ['/home/michael/dev/michaelschiemer/src/*/views/*'], ], '#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.level8.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.level8.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level7.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level6.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level5.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level4.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level3.neon', 'phar:///home/michael/dev/michaelschiemer/vendor/phpstan/phpstan/phpstan.phar/conf/config.level2.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' => '8', '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', 'TERMINAL_EMULATOR' => 'JetBrains-JediTerm', 'PROCESS_LAUNCHED_BY_Q' => '1', 'TERM_SESSION_ID' => 'b7dfad92-cfe5-4785-9e29-c13c1bd73dd1', 'NAME' => '_', 'PWD' => '/home/michael/dev/michaelschiemer', 'LOGNAME' => 'michael', 'PROCESS_LAUNCHED_BY_CW' => '1', 'ENABLE_IDE_INTEGRATION' => 'true', 'CLAUDECODE' => '1', 'CLAUDE_WORKSPACES' => '/home/michael/dev', 'HOME' => '/home/michael', 'LANG' => 'en_US.UTF-8', 'WSL_INTEROP' => '/run/WSL/92690_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', 'FIG_TERM' => '1', 'NVM_DIR' => '/home/michael/.nvm', 'CLAUDE_CODE_SSE_PORT' => '2220', 'TERM' => 'xterm-256color', 'USER' => 'michael', 'DISPLAY' => ':0', 'SHLVL' => '2', 'NVM_CD_FLAGS' => '', 'GIT_EDITOR' => 'true', 'INTELLIJ_TERMINAL_COMMAND_BLOCKS_REWORKED' => '1', 'OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE' => 'delta', 'XDG_RUNTIME_DIR' => '/run/user/1000/', 'CLAUDE_CODE_ENTRYPOINT' => 'cli', 'WSLENV' => '', 'BROWSER' => 'wslview', '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/PowerShell/7/:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/CMake/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/Program Files/nodejs/:/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:/mnt/c/Users/Mike/.dotnet/tools:/mnt/c/Users/Mike/AppData/Roaming/npm:/home/michael/.local/bin:/home/michael/.local/bin;\wsl.localhost\Debian\home\michael\dev\michaelschiemer\node_modules\.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', 'OLDPWD' => '/mnt/c/Users/Mike/AppData/Local/Programs/PhpStorm/bin', '_' => './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/ah1tjp7i5s7qc5MblXA', 'XDEBUG_HANDLER_SETTINGS' => '/tmp/ah1tjp7i5s7qc5MblXA|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.5', ], ]; } 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(); } }