private function getDirectInherits($class, AstMap $astMap) { return array_map(function (AstMap\AstInherit $v) { return $v->__toString(); }, array_filter($astMap->getClassInherits($class), function (AstMap\AstInheritInterface $v) { return $v instanceof AstMap\AstInherit; })); }
public function satisfy(array $configuration, AstClassReferenceInterface $abstractClassReference, AstMap $astMap, CollectorFactory $collectorFactory, AstParserInterface $astParser) { $classInherits = $astMap->getClassInherits($abstractClassReference->getClassName()); foreach ($classInherits as $classInherit) { if (count($classInherit->getPath()) >= $configuration['level']) { return true; } } return false; }
public function applyDependencies(AstParserInterface $astParser, AstMap $astMap, DependencyResult $dependencyResult) { foreach ($astMap->getAstClassReferences() as $classReference) { foreach ($astMap->getClassInherits($classReference->getClassName()) as $inherit) { if ($inherit instanceof FlattenAstInherit) { continue; } $dependencyResult->addDependency(new Dependency($classReference->getClassName(), $inherit->getLine(), $inherit->getClassName())); } } }
public function flattenDependencies(AstMap $astMap, DependencyResult $dependencyResult) { foreach ($astMap->getAstClassReferences() as $classReference) { foreach ($astMap->getClassInherits($classReference->getClassName()) as $inherit) { if (!$inherit instanceof FlattenAstInherit) { continue; } foreach ($dependencyResult->getDependenciesByClass($inherit->getClassName()) as $dep) { $dependencyResult->addInheritDependency(new InheritDependency($classReference->getClassName(), $dep->getClassB(), $dep, $inherit)); } } } }