-
Handling constructor arguments in extension scanner did not work since constructors are not directly called like a method would be called. Constructors are invoked instead using the `new` statement. Besides that `GeneratorClassResolver` only supported string class names (like `'Example\\MyClass'`) when being invoked using `GeneralUtility::makeInstance`. Scanner configurations related to `__construct` invocation (in terms of creating a new class instance) are now handled in a dedicated new `ConstructorArgumentMatcher`. Besides that, `GeneratorClassResolver` now supports `GeneralUtility::makeInstance(Example\MyClass::class, 123)` as well. `NameResolver` and `GeneratorClassesResolver` are executed in two consecutive `NodeTraverser` instances - otherwise class names cannot be resolved in a reliable way. Resolves: #90722 Releases: master, 9.5 Change-Id: I0154b04674d2637fda817d39a1136c2c8fa389d8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63676 Tested-by: TYPO3com <noreply@typo3.com> Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by: Benni Mack <benni@typo3.org> Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by: Benni Mack <benni@typo3.org> Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
d6ad3ad1