Skip to content

Commit 95bb540

Browse files
committed
Issue 133: Use get_attributes() instead of ->getAttributeInstances().
1 parent 39681dd commit 95bb540

6 files changed

Lines changed: 13 additions & 7 deletions

src/Compiler/InsertParametricArgumentsPlaceholdersPass.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Symfony\Component\DependencyInjection\ChildDefinition;
1515
use Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass;
1616
use Symfony\Component\DependencyInjection\Definition;
17+
use function Ock\ClassDiscovery\get_attributes;
1718

1819
/**
1920
* Inserts placeholders for parametric arguments.
@@ -78,10 +79,10 @@ protected function processDefinition(Definition $definition): void {
7879
* @return \Ock\DependencyInjection\Parametric\PlaceholderInterface|null
7980
*/
8081
protected function createArgumentPlaceholder(ParameterReflection $parameter): ?PlaceholderInterface {
81-
foreach ($parameter->getAttributeInstances(GetParametricArgument::class) as $attribute) {
82+
foreach (get_attributes($parameter, GetParametricArgument::class) as $attribute) {
8283
return $this->createParametricArgumentPlaceholder($attribute, $parameter);
8384
}
84-
foreach ($parameter->getAttributeInstances(GetParametricService::class) as $attribute) {
85+
foreach (get_attributes($parameter, GetParametricService::class) as $attribute) {
8586
return $this->createParametricServicePlaceholder($attribute, $parameter);
8687
}
8788
return NULL;

src/Compiler/ServiceModifierAttributePass.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Ock\DependencyInjection\ServiceDefinitionUtil;
77
use Symfony\Component\DependencyInjection\Compiler\AbstractRecursivePass;
88
use Symfony\Component\DependencyInjection\Definition;
9+
use function Ock\ClassDiscovery\get_attributes;
910

1011
/**
1112
* @see \Symfony\Component\DependencyInjection\Compiler\AttributeAutoconfigurationPass
@@ -37,7 +38,7 @@ protected function processDefinition(Definition $definition): void {
3738
if ($reflector === null) {
3839
return;
3940
}
40-
$attributes = $reflector->getAttributeInstances(ServiceModifierInterface::class);
41+
$attributes = get_attributes($reflector, ServiceModifierInterface::class);
4142
if (!$attributes) {
4243
return;
4344
}

src/Inspector/ClassInspector_ConditionDecorator.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Ock\ClassDiscovery\Reflection\ClassReflection;
99
use Ock\DependencyInjection\Attribute\ServiceConditionAttributeInterface;
1010
use Symfony\Component\DependencyInjection\ContainerBuilder;
11+
use function Ock\ClassDiscovery\get_attributes;
1112

1213
/**
1314
* Registers services for classes and methods with #[Service] attribute.
@@ -40,7 +41,7 @@ public static function create(ClassInspectorInterface $decorated): static {
4041
* {@inheritdoc}
4142
*/
4243
public function findInClass(ClassReflection $classReflection): \Iterator {
43-
$attributes = $classReflection->getAttributeInstances(ServiceConditionAttributeInterface::class);
44+
$attributes = get_attributes($classReflection, ServiceConditionAttributeInterface::class);
4445
if ($attributes) {
4546
$result = null;
4647
yield 'check condition' => static function (ContainerBuilder $container) use (&$result, $attributes) {

src/Inspector/ClassInspector_SymfonyAsAliasAttributeDecorator.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use Symfony\Component\DependencyInjection\Attribute\AsAlias;
1212
use Symfony\Component\DependencyInjection\Definition;
1313
use Symfony\Component\DependencyInjection\Exception\LogicException;
14+
use function Ock\ClassDiscovery\get_attributes;
1415

1516
/**
1617
* Decorator to support the AsAlias attribute.
@@ -43,7 +44,7 @@ public static function create(ClassInspectorInterface $decorated): self {
4344
* {@inheritdoc}
4445
*/
4546
public function findInClass(ClassReflection $classReflection): \Iterator {
46-
$attributes = $classReflection->getAttributeInstances(AsAlias::class);
47+
$attributes = get_attributes($classReflection, AsAlias::class);
4748
if (!$attributes) {
4849
yield from $this->decorated->findInClass($classReflection);
4950
return;

src/Inspector/FactoryInspector_ConditionDecorator.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Ock\ClassDiscovery\Reflection\MethodReflection;
1010
use Ock\DependencyInjection\Attribute\ServiceConditionAttributeInterface;
1111
use Symfony\Component\DependencyInjection\ContainerBuilder;
12+
use function Ock\ClassDiscovery\get_attributes;
1213

1314
/**
1415
* Registers services for classes and methods with #[Service] attribute.
@@ -41,7 +42,7 @@ public static function create(FactoryInspectorInterface $decorated): static {
4142
* {@inheritdoc}
4243
*/
4344
public function findInFactory(ClassReflection|MethodReflection $reflector): \Iterator {
44-
$attributes = $reflector->getAttributeInstances(ServiceConditionAttributeInterface::class);
45+
$attributes = get_attributes($reflector, ServiceConditionAttributeInterface::class);
4546
if ($attributes) {
4647
$result = null;
4748
yield 'check condition' => static function (ContainerBuilder $container) use (&$result, $attributes) {

src/Inspector/FactoryInspector_ServiceAttribute.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Ock\ClassDiscovery\Reflection\FactoryReflectionInterface;
1010
use Ock\DependencyInjection\Attribute\ServiceBase;
1111
use Symfony\Component\DependencyInjection\Reference;
12+
use function Ock\ClassDiscovery\get_attributes;
1213

1314
/**
1415
* Registers services for classes and methods with #[Service] attribute.
@@ -23,7 +24,7 @@ class FactoryInspector_ServiceAttribute implements FactoryInspectorInterface {
2324
* {@inheritdoc}
2425
*/
2526
public function findInFactory(FactoryReflectionInterface $reflector): \Iterator {
26-
$attributes = $reflector->getAttributeInstances(ServiceBase::class);
27+
$attributes = get_attributes($reflector, ServiceBase::class);
2728
if (!$attributes) {
2829
return;
2930
}

0 commit comments

Comments
 (0)