@@ -584,7 +584,7 @@ private function addServiceInclude(string $cId, Definition $definition): string
584
584
$ lineage = [];
585
585
foreach ($ this ->inlinedDefinitions as $ def ) {
586
586
if (!$ def ->isDeprecated ()) {
587
- foreach ($ this ->getClasses ($ def, $ cId ) as $ class ) {
587
+ foreach ($ this ->getClasses ($ def ) as $ class ) {
588
588
$ this ->collectLineage ($ class , $ lineage );
589
589
}
590
590
}
@@ -596,7 +596,7 @@ private function addServiceInclude(string $cId, Definition $definition): string
596
596
&& $ this ->container ->has ($ id )
597
597
&& $ this ->isTrivialInstance ($ def = $ this ->container ->findDefinition ($ id ))
598
598
) {
599
- foreach ($ this ->getClasses ($ def, $ cId ) as $ class ) {
599
+ foreach ($ this ->getClasses ($ def ) as $ class ) {
600
600
$ this ->collectLineage ($ class , $ lineage );
601
601
}
602
602
}
@@ -851,9 +851,9 @@ protected function {$methodName}($lazyInitialization)
851
851
if ($ definition ->isDeprecated ()) {
852
852
$ deprecation = $ definition ->getDeprecation ($ id );
853
853
$ code .= sprintf (" trigger_deprecation(%s, %s, %s); \n\n" , $ this ->export ($ deprecation ['package ' ]), $ this ->export ($ deprecation ['version ' ]), $ this ->export ($ deprecation ['message ' ]));
854
- } elseif (!$ definition ->hasTag ($ this ->preloadTags [1 ])) {
854
+ } elseif ($ definition -> hasTag ( $ this -> preloadTags [ 0 ]) || !$ definition ->hasTag ($ this ->preloadTags [1 ])) {
855
855
foreach ($ this ->inlinedDefinitions as $ def ) {
856
- foreach ($ this ->getClasses ($ def, $ id ) as $ class ) {
856
+ foreach ($ this ->getClasses ($ def ) as $ class ) {
857
857
$ this ->preload [$ class ] = $ class ;
858
858
}
859
859
}
@@ -1017,10 +1017,10 @@ private function addServices(array &$services = null): string
1017
1017
foreach ($ definitions as $ id => $ definition ) {
1018
1018
if (!$ definition ->isSynthetic ()) {
1019
1019
$ services [$ id ] = $ this ->addService ($ id , $ definition );
1020
- } elseif (!$ definition ->hasTag ($ this ->preloadTags [1 ])) {
1020
+ } elseif ($ definition -> hasTag ( $ this -> preloadTags [ 0 ]) || !$ definition ->hasTag ($ this ->preloadTags [1 ])) {
1021
1021
$ services [$ id ] = null ;
1022
1022
1023
- foreach ($ this ->getClasses ($ definition, $ id ) as $ class ) {
1023
+ foreach ($ this ->getClasses ($ definition ) as $ class ) {
1024
1024
$ this ->preload [$ class ] = $ class ;
1025
1025
}
1026
1026
}
@@ -1046,7 +1046,7 @@ private function generateServiceFiles(array $services): iterable
1046
1046
ksort ($ definitions );
1047
1047
foreach ($ definitions as $ id => $ definition ) {
1048
1048
if ((list ($ file , $ code ) = $ services [$ id ]) && null !== $ file && ($ definition ->isPublic () || !$ this ->isTrivialInstance ($ definition ) || isset ($ this ->locatedIds [$ id ]))) {
1049
- yield $ file => [$ code , !$ definition ->hasTag ($ this ->preloadTags [1 ]) && !$ definition ->isDeprecated () && !$ definition ->hasErrors ()];
1049
+ yield $ file => [$ code , ( $ definition -> hasTag ( $ this -> preloadTags [ 0 ]) || !$ definition ->hasTag ($ this ->preloadTags [1 ]) ) && !$ definition ->isDeprecated () && !$ definition ->hasErrors ()];
1050
1050
}
1051
1051
}
1052
1052
}
@@ -1399,7 +1399,7 @@ private function addInlineRequires(): string
1399
1399
$ inlinedDefinitions = $ this ->getDefinitionsFromArguments ([$ definition ]);
1400
1400
1401
1401
foreach ($ inlinedDefinitions as $ def ) {
1402
- foreach ($ this ->getClasses ($ def, $ id ) as $ class ) {
1402
+ foreach ($ this ->getClasses ($ def ) as $ class ) {
1403
1403
$ this ->collectLineage ($ class , $ lineage );
1404
1404
}
1405
1405
}
@@ -2130,17 +2130,15 @@ private function getAutoloadFile(): ?string
2130
2130
return null ;
2131
2131
}
2132
2132
2133
- private function getClasses (Definition $ definition, string $ id ): array
2133
+ private function getClasses (Definition $ definition ): array
2134
2134
{
2135
2135
$ classes = [];
2136
2136
2137
2137
while ($ definition instanceof Definition) {
2138
2138
foreach ($ definition ->getTag ($ this ->preloadTags [0 ]) as $ tag ) {
2139
- if (! isset ($ tag ['class ' ])) {
2140
- throw new InvalidArgumentException ( sprintf ( ' Missing attribute " class" on tag "%s" for service "%s". ' , $ this -> preloadTags [ 0 ], $ id ) );
2139
+ if (isset ($ tag ['class ' ])) {
2140
+ $ classes [] = trim ( $ tag [ ' class ' ], '\\' );
2141
2141
}
2142
-
2143
- $ classes [] = trim ($ tag ['class ' ], '\\' );
2144
2142
}
2145
2143
2146
2144
$ classes [] = trim ($ definition ->getClass (), '\\' );
0 commit comments