public function applyDependencies(AstParserInterface $astParser, AstMap $astMap, DependencyResult $dependencyResult) { /* @var $astParser NikicPhpParser */ assert($astParser instanceof NikicPhpParser === true); foreach ($astMap->getAstFileReferences() as $fileReference) { $uses = $this->getUseStatements($astParser, $fileReference); foreach ($fileReference->getAstClassReferences() as $astClassReference) { /** @var $uses EmittedDependency[] */ $uses = array_merge($uses, $this->getInstanceOfStatements($astParser, $astClassReference), $this->getParamStatements($astParser, $astClassReference), $this->getNewStatements($astParser, $astClassReference), $this->getStaticPropertiesAccess($astParser, $astClassReference), $this->getStaticMethodCalls($astParser, $astClassReference)); foreach ($uses as $emittedDependency) { $dependencyResult->addDependency(new Dependency($astClassReference->getClassName(), $emittedDependency->getLine(), $emittedDependency->getClass())); } } } }