<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="4.22.0@fc2c6ab4d5fa5d644d8617089f012f3bb84b8703">
  <file src="src/AbstractFactory/ConfigAbstractFactory.php">
    <InvalidStringClass occurrences="1">
      <code>new $requestedName(...$arguments)</code>
    </InvalidStringClass>
    <MixedArgument occurrences="2">
      <code>$serviceDependencies</code>
      <code>$serviceDependencies</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$config[self::class]</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="2">
      <code>$config</code>
      <code>$dependencies</code>
    </MixedAssignment>
  </file>
  <file src="src/AbstractFactory/ReflectionBasedAbstractFactory.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$requestedName</code>
    </ArgumentTypeCoercion>
    <LessSpecificReturnStatement occurrences="3">
      <code>new $requestedName()</code>
      <code>new $requestedName()</code>
      <code>new $requestedName(...$parameters)</code>
    </LessSpecificReturnStatement>
    <MissingClosureReturnType occurrences="1">
      <code>function (ReflectionParameter $parameter) use ($container, $requestedName) {</code>
      <code>function (ReflectionParameter $parameter) use ($container, $requestedName) {</code>
    </MissingClosureReturnType>
    <MissingParamType occurrences="1">
      <code>$requestedName</code>
    </MissingParamType>
    <MixedArgument occurrences="3">
      <code>$requestedName</code>
      <code>$requestedName</code>
      <code>$requestedName</code>
    </MixedArgument>
    <MixedMethodCall occurrences="3">
      <code>new $requestedName()</code>
      <code>new $requestedName()</code>
      <code>new $requestedName(...$parameters)</code>
    </MixedMethodCall>
    <MoreSpecificReturnType occurrences="1">
      <code>DispatchableInterface</code>
    </MoreSpecificReturnType>
    <RedundantCondition occurrences="1">
      <code>is_string($type)</code>
    </RedundantCondition>
    <UndefinedDocblockClass occurrences="1">
      <code>DispatchableInterface</code>
    </UndefinedDocblockClass>
  </file>
  <file src="src/AbstractPluginManager.php">
    <MissingReturnType occurrences="1">
      <code>setService</code>
    </MissingReturnType>
    <ParamNameMismatch occurrences="1">
      <code>$name</code>
    </ParamNameMismatch>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>is_object($configInstanceOrParentLocator)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="src/Exception/CyclicAliasException.php">
    <InvalidScalarArgument occurrences="1">
      <code>self::deDuplicateDetectedCycles($detectedCycles)</code>
    </InvalidScalarArgument>
    <MixedArgumentTypeCoercion occurrences="2">
      <code>$alias</code>
      <code>$detectedCycles</code>
    </MixedArgumentTypeCoercion>
    <PossiblyFalseOperand occurrences="1">
      <code>$cycle</code>
    </PossiblyFalseOperand>
  </file>
  <file src="src/Factory/InvokableFactory.php">
    <InvalidStringClass occurrences="2">
      <code>new $requestedName($options)</code>
      <code>new $requestedName()</code>
    </InvalidStringClass>
  </file>
  <file src="src/Proxy/LazyServiceFactory.php">
    <MissingClosureParamType occurrences="1">
      <code>$wrappedInstance</code>
    </MissingClosureParamType>
    <MissingClosureReturnType occurrences="1">
      <code>function (&amp;$wrappedInstance, LazyLoadingInterface $proxy) use ($callback) {</code>
    </MissingClosureReturnType>
    <MixedAssignment occurrences="1">
      <code>$wrappedInstance</code>
    </MixedAssignment>
  </file>
  <file src="src/ServiceManager.php">
    <MissingClosureReturnType occurrences="1">
      <code>function () use ($name, $options) {</code>
    </MissingClosureReturnType>
    <MissingReturnType occurrences="9">
      <code>addAbstractFactory</code>
      <code>addDelegator</code>
      <code>addInitializer</code>
      <code>mapLazyService</code>
      <code>setAlias</code>
      <code>setAllowOverride</code>
      <code>setInvokableClass</code>
      <code>setService</code>
      <code>setShared</code>
    </MissingReturnType>
    <MixedArgument occurrences="5">
      <code>$abstractFactory</code>
      <code>$config['delegators']</code>
      <code>$config['delegators']</code>
      <code>$config['initializers']</code>
      <code>$config['invokables']</code>
      <code>$config['invokables']</code>
      <code>$config['lazy_services']</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="2">
      <code>$alias</code>
      <code>$alias</code>
    </MixedArgumentTypeCoercion>
    <MixedAssignment occurrences="9">
      <code>$abstractFactories</code>
      <code>$abstractFactory</code>
      <code>$abstractFactory</code>
      <code>$config['aliases']</code>
      <code>$key</code>
      <code>$this-&gt;aliases</code>
      <code>$this-&gt;factories</code>
      <code>$this-&gt;services</code>
      <code>$this-&gt;shared</code>
    </MixedAssignment>
    <MixedOperand occurrences="5">
      <code>$config['aliases']</code>
      <code>$config['aliases'] ?? []</code>
      <code>$config['factories']</code>
      <code>$config['services']</code>
      <code>$config['shared']</code>
    </MixedOperand>
    <ParamNameMismatch occurrences="2">
      <code>$name</code>
      <code>$name</code>
    </ParamNameMismatch>
    <RedundantCastGivenDocblockType occurrences="2">
      <code>(bool) $flag</code>
      <code>(bool) $flag</code>
    </RedundantCastGivenDocblockType>
    <TypeDoesNotContainType occurrences="1">
      <code>$sharedAlias</code>
    </TypeDoesNotContainType>
    <UnusedForeachValue occurrences="3">
      <code>$delegatorFactory</code>
      <code>$service</code>
      <code>$target</code>
    </UnusedForeachValue>
    <UnusedVariable occurrences="1">
      <code>$key</code>
    </UnusedVariable>
  </file>
  <file src="src/Test/CommonPluginManagerTrait.php">
    <ArgumentTypeCoercion occurrences="3">
      <code>$expected</code>
      <code>$this-&gt;getServiceNotFoundException()</code>
      <code>$this-&gt;getServiceNotFoundException()</code>
    </ArgumentTypeCoercion>
    <MissingReturnType occurrences="5">
      <code>testInstanceOfMatches</code>
      <code>testLoadingInvalidElementRaisesException</code>
      <code>testPluginAliasesResolve</code>
      <code>testRegisteringInvalidElementRaisesException</code>
      <code>testShareByDefaultAndSharedByDefault</code>
    </MissingReturnType>
    <MixedAssignment occurrences="4">
      <code>$alias</code>
      <code>$expected</code>
      <code>$shareByDefault</code>
      <code>$sharedByDefault</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
  </file>
  <file src="src/Tool/ConfigDumper.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$className</code>
    </ArgumentTypeCoercion>
    <DocblockTypeContradiction occurrences="1">
      <code>is_string($className)</code>
    </DocblockTypeContradiction>
    <MissingReturnType occurrences="1">
      <code>validateClassName</code>
    </MissingReturnType>
    <MixedArgument occurrences="3">
      <code>$argumentType</code>
      <code>$config['service_manager']</code>
      <code>$config['service_manager']['factories']</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="1">
      <code>$className</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAssignment occurrences="3">
      <code>$config['service_manager']['factories']</code>
      <code>$config[ConfigAbstractFactory::class][$className]</code>
      <code>$config[ConfigAbstractFactory::class][$className]</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="4">
      <code>$argumentType</code>
      <code>$classConfig[]</code>
      <code>$dependency</code>
      <code>$value</code>
    </MixedAssignment>
    <PossiblyNullArgument occurrences="1">
      <code>$key</code>
    </PossiblyNullArgument>
    <PossiblyNullReference occurrences="1">
      <code>getParameters</code>
    </PossiblyNullReference>
    <UndefinedMethod occurrences="1">
      <code>getName</code>
    </UndefinedMethod>
    <UnusedForeachValue occurrences="1">
      <code>$dependency</code>
    </UnusedForeachValue>
  </file>
  <file src="src/Tool/ConfigDumperCommand.php">
    <MixedArgument occurrences="14">
      <code>$arguments-&gt;class</code>
      <code>$arguments-&gt;class</code>
      <code>$arguments-&gt;config</code>
      <code>$arguments-&gt;configFile</code>
      <code>$arguments-&gt;configFile</code>
      <code>$arguments-&gt;ignoreUnresolved</code>
      <code>$arguments-&gt;message</code>
      <code>$class</code>
      <code>$class</code>
      <code>$configFile</code>
      <code>$configFile</code>
      <code>$configFile</code>
      <code>$configFile</code>
      <code>$configFile</code>
    </MixedArgument>
    <MixedAssignment occurrences="3">
      <code>$arg1</code>
      <code>$arg1</code>
      <code>$configFile</code>
    </MixedAssignment>
    <RedundantCondition occurrences="1">
      <code>false</code>
    </RedundantCondition>
  </file>
  <file src="src/Tool/FactoryCreator.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$className</code>
    </ArgumentTypeCoercion>
    <MixedAssignment occurrences="1">
      <code>$class</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>?string</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="1">
      <code>null !== $type &amp;&amp; ! $type-&gt;isBuiltin() ? $type-&gt;getName() : null</code>
    </MixedReturnStatement>
    <PossiblyFalseOperand occurrences="1">
      <code>strrpos($className, '\\')</code>
    </PossiblyFalseOperand>
    <PossiblyNullReference occurrences="1">
      <code>getParameters</code>
    </PossiblyNullReference>
    <UndefinedMethod occurrences="2">
      <code>getName</code>
      <code>getName</code>
    </UndefinedMethod>
  </file>
  <file src="src/Tool/FactoryCreatorCommand.php">
    <MixedArgument occurrences="5">
      <code>$arguments-&gt;class</code>
      <code>$arguments-&gt;class</code>
      <code>$arguments-&gt;message</code>
      <code>$class</code>
      <code>$class</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$arg1</code>
    </MixedAssignment>
  </file>
  <file src="test/AbstractFactory/ConfigAbstractFactoryTest.php">
    <InvalidArgument occurrences="1">
      <code>'Holistic'</code>
    </InvalidArgument>
  </file>
  <file src="test/AbstractFactory/ReflectionBasedAbstractFactoryTest.php">
    <DocblockTypeContradiction occurrences="8">
      <code>assertInstanceOf</code>
      <code>assertInstanceOf</code>
      <code>assertInstanceOf</code>
      <code>assertInstanceOf</code>
      <code>assertInstanceOf</code>
      <code>assertInstanceOf</code>
      <code>assertInstanceOf</code>
      <code>assertInstanceOf</code>
    </DocblockTypeContradiction>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
  </file>
  <file src="test/AbstractPluginManagerTest.php">
    <DeprecatedMethod occurrences="1">
      <code>setServiceLocator</code>
    </DeprecatedMethod>
    <InvalidArgument occurrences="5"/>
    <MissingClosureParamType occurrences="4">
      <code>$callback</code>
      <code>$container</code>
      <code>$name</code>
      <code>$plugin</code>
    </MissingClosureParamType>
    <MissingClosureReturnType occurrences="2">
      <code>function ($container, $name, $callback) {</code>
      <code>function ($plugin) use ($instance, &amp;$assertionCalled) {</code>
    </MissingClosureReturnType>
    <MixedArgument occurrences="1">
      <code>$arg</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$instance</code>
      <code>$instance</code>
    </MixedAssignment>
    <MixedFunctionCall occurrences="1">
      <code>$callback()</code>
    </MixedFunctionCall>
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedPropertyAssignment occurrences="1">
      <code>$instance</code>
    </MixedPropertyAssignment>
    <UnusedClosureParam occurrences="7">
      <code>$container</code>
      <code>$errstr</code>
      <code>$errstr</code>
      <code>$errstr</code>
      <code>$errstr</code>
      <code>$errstr</code>
      <code>$name</code>
    </UnusedClosureParam>
  </file>
  <file src="test/CommonServiceLocatorBehaviorsTrait.php">
    <DeprecatedMethod occurrences="1">
      <code>getServiceLocator</code>
    </DeprecatedMethod>
    <EmptyArrayAccess occurrences="1">
      <code>$object['get'][0]</code>
    </EmptyArrayAccess>
    <InvalidArgument occurrences="2"/>
    <InvalidArrayOffset occurrences="1">
      <code>$config['shared']</code>
    </InvalidArrayOffset>
    <MissingClosureParamType occurrences="10">
      <code>$callback</code>
      <code>$callback</code>
      <code>$className</code>
      <code>$container</code>
      <code>$container</code>
      <code>$container</code>
      <code>$container</code>
      <code>$container</code>
      <code>$instance</code>
      <code>$instance</code>
      <code>$name</code>
      <code>$name</code>
      <code>$requestedName</code>
    </MissingClosureParamType>
    <MissingClosureReturnType occurrences="2">
      <code>function ($container, $name, $callback) {</code>
      <code>function ($container, $name, $callback) {</code>
      <code>function ($container, $requestedName, ?array $options = null) {</code>
    </MissingClosureReturnType>
    <MissingConstructor occurrences="2">
      <code>$creationContext</code>
      <code>$creationContext</code>
    </MissingConstructor>
    <MissingReturnType occurrences="3">
      <code>testInvalidDelegatorShouldRaiseExceptionDuringCreation</code>
      <code>testPassingInvalidAbstractFactoryTypeViaConfigurationRaisesException</code>
      <code>testPassingInvalidInitializerTypeViaConfigurationRaisesException</code>
    </MissingReturnType>
    <MixedArgument occurrences="2">
      <code>$lazyServices</code>
      <code>$lazyServices['class_map']</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$lazyServices['class_map']</code>
      <code>$lazyServices['class_map']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="4">
      <code>$callSequences[]</code>
      <code>$object[$shared ? $method : 'build'][]</code>
      <code>$smTemplates[]</code>
      <code>$tests[]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="2">
      <code>$names[$name]</code>
      <code>$object[$shared ? $method : 'build']</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="26">
      <code>$callSequence</code>
      <code>$first</code>
      <code>$idx1</code>
      <code>$idx2</code>
      <code>$instance</code>
      <code>$instance</code>
      <code>$lazyServices</code>
      <code>$method</code>
      <code>$name</code>
      <code>$names[$name]</code>
      <code>$nonSharedObj1</code>
      <code>$nonSharedObj2</code>
      <code>$obj</code>
      <code>$object1</code>
      <code>$object1</code>
      <code>$object1</code>
      <code>$object1</code>
      <code>$object1</code>
      <code>$object2</code>
      <code>$object2</code>
      <code>$object2</code>
      <code>$object2</code>
      <code>$object2</code>
      <code>$object[$shared ? $method : 'build'][]</code>
      <code>$second</code>
      <code>$shared</code>
      <code>$shared</code>
    </MixedAssignment>
    <MixedFunctionCall occurrences="1">
      <code>$callback()</code>
      <code>$callback()</code>
    </MixedFunctionCall>
    <MixedInferredReturnType occurrences="6">
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedPropertyAssignment occurrences="1">
      <code>$instance</code>
      <code>$instance</code>
    </MixedPropertyAssignment>
    <PossiblyUndefinedVariable occurrences="5">
      <code>$callSequences</code>
      <code>$object</code>
      <code>$smTemplates</code>
      <code>$tests</code>
      <code>$tests</code>
    </PossiblyUndefinedVariable>
    <TooManyArguments occurrences="1">
      <code>has</code>
    </TooManyArguments>
    <UnusedClosureParam occurrences="9">
      <code>$container</code>
      <code>$container</code>
      <code>$container</code>
      <code>$container</code>
      <code>$container</code>
      <code>$name</code>
      <code>$options</code>
      <code>$requestedName</code>
      <code>$serviceLocator</code>
    </UnusedClosureParam>
    <UnusedVariable occurrences="1">
      <code>$sm</code>
    </UnusedVariable>
  </file>
  <file src="test/ConfigTest.php">
    <MixedAssignment occurrences="2">
      <code>$configInstance</code>
      <code>$configuration</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="1">
      <code>toArray</code>
    </MixedMethodCall>
  </file>
  <file src="test/Exception/CyclicAliasExceptionTest.php">
    <MissingReturnType occurrences="1">
      <code>testFromAliasesMap</code>
    </MissingReturnType>
    <PossiblyInvalidArgument occurrences="1">
      <code>testFromAliasesMap</code>
    </PossiblyInvalidArgument>
  </file>
  <file src="test/LazyServiceIntegrationTest.php">
    <InvalidReturnStatement occurrences="1">
      <code>array_filter(spl_autoload_functions(), $filter)</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>AutoloaderInterface[]</code>
    </InvalidReturnType>
    <MissingClosureParamType occurrences="1">
      <code>$autoload</code>
    </MissingClosureParamType>
    <MixedAssignment occurrences="1">
      <code>$instance</code>
    </MixedAssignment>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>assertIsArray</code>
      <code>assertIsArray</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="test/Proxy/LazyServiceFactoryTest.php">
    <ArgumentTypeCoercion occurrences="2">
      <code>'stdClass'</code>
      <code>'stdClass'</code>
    </ArgumentTypeCoercion>
    <DeprecatedMethod occurrences="2">
      <code>setMethods</code>
      <code>setMethods</code>
    </DeprecatedMethod>
    <InvalidArgument occurrences="2">
      <code>[$callback, 'callback']</code>
      <code>[$callback, 'callback']</code>
    </InvalidArgument>
    <MissingClosureParamType occurrences="2">
      <code>$className</code>
      <code>$initializer</code>
    </MissingClosureParamType>
    <MixedFunctionCall occurrences="1"/>
    <UnusedVariable occurrences="1">
      <code>$wrappedInstance</code>
    </UnusedVariable>
  </file>
  <file src="test/ServiceManagerTest.php">
    <MissingClosureParamType occurrences="5">
      <code>$context</code>
      <code>$context</code>
      <code>$name</code>
      <code>$name</code>
      <code>$name</code>
      <code>$name</code>
    </MissingClosureParamType>
    <MissingClosureReturnType occurrences="2">
      <code>function (</code>
      <code>function () {</code>
    </MissingClosureReturnType>
    <MixedArgument occurrences="1">
      <code>$serviceManager-&gt;get(stdClass::class)</code>
    </MixedArgument>
    <MixedAssignment occurrences="17">
      <code>$a</code>
      <code>$alias</code>
      <code>$alias</code>
      <code>$b</code>
      <code>$headAlias</code>
      <code>$inc</code>
      <code>$inc</code>
      <code>$instance</code>
      <code>$instance</code>
      <code>$instance1</code>
      <code>$instance1</code>
      <code>$instance2</code>
      <code>$instance2</code>
      <code>$service</code>
      <code>$service</code>
      <code>$service</code>
      <code>$serviceFromAlias</code>
      <code>$serviceFromServiceNameAfterUsingAlias</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="1">
      <code>$inc</code>
    </MixedOperand>
    <MixedPropertyFetch occurrences="2">
      <code>$instance-&gt;foo</code>
      <code>$instance-&gt;option</code>
    </MixedPropertyFetch>
    <UnusedClosureParam occurrences="6">
      <code>$container</code>
      <code>$container</code>
      <code>$context</code>
      <code>$context</code>
      <code>$name</code>
      <code>$name</code>
    </UnusedClosureParam>
    <UnusedVariable occurrences="1">
      <code>$inc</code>
    </UnusedVariable>
  </file>
  <file src="test/Tool/ConfigDumperCommandTest.php">
    <MixedArgument occurrences="5">
      <code>$factoryConfig[ObjectWithObjectScalarDependency::class]</code>
      <code>$factoryConfig[ObjectWithObjectScalarDependency::class]</code>
      <code>$factoryConfig[SimpleDependencyObject::class]</code>
      <code>$factoryConfig[SimpleDependencyObject::class]</code>
      <code>$factoryConfig[SimpleDependencyObject::class]</code>
    </MixedArgument>
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <UnresolvableInclude occurrences="3">
      <code>include $config</code>
      <code>include $config</code>
      <code>include $config</code>
    </UnresolvableInclude>
  </file>
  <file src="test/Tool/ConfigDumperTest.php">
    <InvalidScalarArgument occurrences="2">
      <code>42</code>
      <code>42</code>
    </InvalidScalarArgument>
    <MixedAssignment occurrences="1">
      <code>$test</code>
    </MixedAssignment>
    <UnresolvableInclude occurrences="1">
      <code>include $file</code>
    </UnresolvableInclude>
  </file>
  <file src="test/Tool/FactoryCreatorCommandTest.php">
    <MixedArgument occurrences="1">
      <code>ConfigDumperCommand::class</code>
    </MixedArgument>
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <UndefinedClass occurrences="1">
      <code>ConfigDumperCommand</code>
    </UndefinedClass>
  </file>
</files>
