Infinite recursion while scanning code containing anonymous classes at multiple inheritance levels
lulco opened this issue · 14 comments
First of all, thanks for great package. It is very helpful for me.
Sometimes your package is trying to analyse classes multiple (infinite) times. I didn't figure out how and why, but I've created minimalistic repository to reproduce issue. The repository is here: https://github.com/lulco/bc-break-demo
Please follow the readme to reproduce. I've added debug output to DefaultReflector and I can see this output:
string(21) "BcBreakDemo\Demo\Demo"
string(21) "BcBreakDemo\Demo\Demo"
string(41) "Nette\Forms\Rendering\DefaultFormRenderer"
string(17) "Nette\SmartObject"
string(16) "Nette\Forms\Form"
string(21) "Nette\Forms\Container"
string(30) "Nette\ComponentModel\Container"
string(30) "Nette\ComponentModel\Component"
string(32) "Nette\Forms\Controls\BaseControl"
string(30) "Nette\ComponentModel\Component"
string(29) "PhpParser\NodeVisitorAbstract"
string(16) "Nette\Forms\Form"
string(21) "Nette\Forms\Container"
string(30) "Nette\ComponentModel\Container"
string(30) "Nette\ComponentModel\Component"
string(32) "Nette\Forms\Controls\BaseControl"
string(30) "Nette\ComponentModel\Component"
string(29) "PhpParser\NodeVisitorAbstract"
string(16) "Nette\Forms\Form"
string(21) "Nette\Forms\Container"
string(30) "Nette\ComponentModel\Container"
string(30) "Nette\ComponentModel\Component"
string(32) "Nette\Forms\Controls\BaseControl"
string(30) "Nette\ComponentModel\Component"
string(29) "PhpParser\NodeVisitorAbstract"
string(16) "Nette\Forms\Form"
string(21) "Nette\Forms\Container"
string(30) "Nette\ComponentModel\Container"
string(30) "Nette\ComponentModel\Component"
string(32) "Nette\Forms\Controls\BaseControl"
string(30) "Nette\ComponentModel\Component"
string(29) "PhpParser\NodeVisitorAbstract"
string(16) "Nette\Forms\Form"
string(21) "Nette\Forms\Container"
string(30) "Nette\ComponentModel\Container"
string(30) "Nette\ComponentModel\Component"
string(32) "Nette\Forms\Controls\BaseControl"
string(30) "Nette\ComponentModel\Component"
string(29) "PhpParser\NodeVisitorAbstract"
string(16) "Nette\Forms\Form"
string(21) "Nette\Forms\Container"
string(30) "Nette\ComponentModel\Container"
string(30) "Nette\ComponentModel\Component"
string(32) "Nette\Forms\Controls\BaseControl"
string(30) "Nette\ComponentModel\Component"
string(29) "PhpParser\NodeVisitorAbstract"
string(16) "Nette\Forms\Form"
string(21) "Nette\Forms\Container"
string(30) "Nette\ComponentModel\Container"
string(30) "Nette\ComponentModel\Component"
string(32) "Nette\Forms\Controls\BaseControl"
string(30) "Nette\ComponentModel\Component"
string(29) "PhpParser\NodeVisitorAbstract"
Maybe it is somehow connected to this issue #504
Yes I think I'm up to date:
composer outdated
Info from https://repo.packagist.org: #StandWithUkraine
Direct dependencies required in composer.json:
Everything up to date
Transitive dependencies not required in composer.json:
Everything up to date
composer info roave/better-reflection
name : roave/better-reflection
descrip. : Better Reflection - an improved code reflection API
keywords :
versions : * 6.3.0
Hmm, I think this problem is to be reproduced in roave/better-reflection
then 🤔
Can you perhaps show the stack trace for such an infinite recursion?
is debug_print_backtrace enough?
#0 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass('...')
Roave/BackwardCompatibilityCheck#1 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#2 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#3 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#4 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#5 vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#6 vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray(Array, Object(Roave\BetterReflection\Identifier\Identifier), '...')
Roave/BackwardCompatibilityCheck#7 vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#8 vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\SourceLocator\Located\LocatedSource), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#9 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#10 vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#11 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#12 vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#13 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#14 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#15 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#16 vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#17 vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(44): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#18 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass('...')
Roave/BackwardCompatibilityCheck#19 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#20 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#21 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#22 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#23 vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#24 vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray(Array, Object(Roave\BetterReflection\Identifier\Identifier), '...')
Roave/BackwardCompatibilityCheck#25 vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BackwardCompatibility\SourceLocator\LocatedSourceWithStrippedSourcesDirectory), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#26 vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\SourceLocator\Located\LocatedSource), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#27 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#28 vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#29 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#30 vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#31 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#32 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#33 vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#34 vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#35 vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(44): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier(Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Identifier\Identifier))
Roave/BackwardCompatibilityCheck#36 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1211): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass('...')
Roave/BackwardCompatibilityCheck#37 [internal function]: Roave\BetterReflection\Reflection\ReflectionClass->Roave\BetterReflection\Reflection\{closure}('...')
Roave/BackwardCompatibilityCheck#38 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1212): array_map(Object(Closure), Array)
Roave/BackwardCompatibilityCheck#39 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(726): Roave\BetterReflection\Reflection\ReflectionClass->getTraits()
Roave/BackwardCompatibilityCheck#40 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(713): Roave\BetterReflection\Reflection\ReflectionClass->getConstantsConsideringAlreadyVisitedClasses(Object(Roave\BetterReflection\Reflection\Support\AlreadyVisitedClasses))
Roave/BackwardCompatibilityCheck#41 vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(685): Roave\BetterReflection\Reflection\ReflectionClass->getConstantsConsideringAlreadyVisitedClasses(Object(Roave\BetterReflection\Reflection\Support\AlreadyVisitedClasses))
Roave/BackwardCompatibilityCheck#42 vendor/roave/backward-compatibility-check/src/DetectChanges/BCBreak/ClassBased/ConstantRemoved.php(34): Roave\BetterReflection\Reflection\ReflectionClass->getConstants()
Roave/BackwardCompatibilityCheck#43 vendor/roave/backward-compatibility-check/src/DetectChanges/BCBreak/ClassBased/ConstantRemoved.php(21): Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ConstantRemoved->accessibleConstants(Object(Roave\BetterReflection\Reflection\ReflectionClass))
Roave/BackwardCompatibilityCheck#44 vendor/roave/backward-compatibility-check/src/DetectChanges/BCBreak/ClassBased/SkipClassBasedErrors.php(21): Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ConstantRemoved->__invoke(Object(Roave\BetterReflection\Reflection\ReflectionClass), Object(Roave\BetterReflection\Reflection\ReflectionClass))
Roave/BackwardCompatibilityCheck#45 vendor/roave/backward-compatibility-check/src/DetectChanges/BCBreak/ClassBased/MultipleChecksOnAClass.php(35): Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\SkipClassBasedErrors->__invoke(Object(Roave\BetterReflection\Reflection\ReflectionClass), Object(Roave\BetterReflection\Reflection\ReflectionClass))
Roave/BackwardCompatibilityCheck#46 vendor/roave/backward-compatibility-check/src/Changes.php(81): Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\MultipleChecksOnAClass->multipleChecks(Object(Roave\BetterReflection\Reflection\ReflectionClass), Object(Roave\BetterReflection\Reflection\ReflectionClass))
Roave/BackwardCompatibilityCheck#47 vendor/roave/backward-compatibility-check/src/CompareClasses.php(92): Roave\BackwardCompatibility\Changes->getIterator()
Roave/BackwardCompatibilityCheck#48 vendor/roave/backward-compatibility-check/src/CompareClasses.php(63): Roave\BackwardCompatibility\CompareClasses->examineSymbol(Object(Roave\BetterReflection\Reflection\ReflectionClass), Object(Roave\BetterReflection\Reflector\DefaultReflector))
Roave/BackwardCompatibilityCheck#49 vendor/roave/backward-compatibility-check/src/Changes.php(81): Roave\BackwardCompatibility\CompareClasses->makeSymbolsIterator(Array, Object(Roave\BetterReflection\Reflector\DefaultReflector), Object(Roave\BetterReflection\Reflector\DefaultReflector))
Roave/BackwardCompatibilityCheck#50 vendor/roave/backward-compatibility-check/src/Formatter/SymfonyConsoleTextFormatter.php(18): Roave\BackwardCompatibility\Changes->getIterator()
Roave/BackwardCompatibilityCheck#51 vendor/roave/backward-compatibility-check/src/Command/AssertBackwardsCompatible.php(168): Roave\BackwardCompatibility\Formatter\SymfonyConsoleTextFormatter->write(Object(Roave\BackwardCompatibility\Changes))
Roave/BackwardCompatibilityCheck#52 vendor/symfony/console/Command/Command.php(308): Roave\BackwardCompatibility\Command\AssertBackwardsCompatible->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
Roave/BackwardCompatibilityCheck#53 vendor/symfony/console/Application.php(1002): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
Roave/BackwardCompatibilityCheck#54 vendor/symfony/console/Application.php(299): Symfony\Component\Console\Application->doRunCommand(Object(Roave\BackwardCompatibility\Command\AssertBackwardsCompatible), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
Roave/BackwardCompatibilityCheck#55 vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
Roave/BackwardCompatibilityCheck#56 vendor/roave/backward-compatibility-check/bin/roave-backward-compatibility-check.php(354): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
Roave/BackwardCompatibilityCheck#57 vendor/roave/backward-compatibility-check/bin/roave-backward-compatibility-check.php(355): Roave\ApiCompareCli\{closure}()
Roave/BackwardCompatibilityCheck#58 vendor/roave/backward-compatibility-check/bin/roave-backward-compatibility-check(6): require_once('...')
Roave/BackwardCompatibilityCheck#59 vendor/bin/roave-backward-compatibility-check(120): include('...')
Or I generated this
loop--2022-10-27--14-07--8ab6a57085.html.zip
The trace doesn't seem to be very large here - do you have an idea of where the infinite "loop" could be, perhaps?
This one?
while ($parentClassName !== null) {
Meanwhile, /cc @kukulich for ideas: perhaps would be best to remove while ()
completely, and replace it with a functional concept (where possible)
Well, I stopped it after second occurence of $identifierName PhpParser\NodeVisitorAbstract.
Here is trace for 10 occurences:
#0 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#1 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#2 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#3 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#4 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#5 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#6 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#7 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#8 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#9 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#10 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#11 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#12 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#13 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#14 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#15 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#16 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#17 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#18 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#19 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#20 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#21 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#22 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#23 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#24 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#25 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#26 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#27 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#28 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#29 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#30 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#31 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#32 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#33 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#34 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#35 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#36 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#37 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#38 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#39 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#40 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#41 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#42 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#43 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#44 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#45 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#46 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#47 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#48 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#49 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#50 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#51 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#52 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#53 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#54 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#55 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#56 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#57 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#58 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#59 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#60 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#61 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#62 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#63 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#64 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#65 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#66 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#67 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#68 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#69 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#70 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#71 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#72 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#73 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#74 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#75 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#76 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#77 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#78 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#79 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#80 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#81 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#82 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#83 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#84 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#85 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#86 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#87 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#88 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#89 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#90 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#91 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#92 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#93 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#94 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#95 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#96 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#97 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#98 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#99 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#100 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#101 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#102 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#103 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#104 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#105 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#106 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#107 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#108 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#109 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#110 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#111 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#112 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#113 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#114 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#115 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#116 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#117 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#118 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#119 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#120 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#121 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#122 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#123 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#124 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#125 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#126 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#127 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#128 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#129 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#130 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#131 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#132 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#133 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#134 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#135 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#136 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#137 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#138 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#139 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#140 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#141 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#142 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#143 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#144 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#145 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#146 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#147 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#148 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#149 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#150 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#151 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#152 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#153 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#154 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#155 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#156 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#157 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#158 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#159 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#160 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#161 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#162 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#163 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#164 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#165 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#166 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#167 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#168 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#169 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#170 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#171 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#172 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#173 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#174 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#175 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#176 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#177 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#178 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#179 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#180 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1085): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#181 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1074): Roave\BetterReflection\Reflection\ReflectionClass->getParentClasses()
Roave/BackwardCompatibilityCheck#182 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(273): Roave\BetterReflection\Reflection\ReflectionClass->getParentClassNames()
Roave/BackwardCompatibilityCheck#183 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(264): Roave\BetterReflection\Reflection\ReflectionClass->getAnonymousClassNamePrefix()
Roave/BackwardCompatibilityCheck#184 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(296): Roave\BetterReflection\Reflection\ReflectionClass->getShortName()
Roave/BackwardCompatibilityCheck#185 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(93): Roave\BetterReflection\Reflection\ReflectionClass->getName()
Roave/BackwardCompatibilityCheck#186 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Ast/Locator.php(46): Roave\BetterReflection\SourceLocator\Ast\Locator->findInArray()
Roave/BackwardCompatibilityCheck#187 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/SourceLocator/ReplaceSourcePathOfLocatedSources.php(30): Roave\BetterReflection\SourceLocator\Ast\Locator->findReflection()
Roave/BackwardCompatibilityCheck#188 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AbstractSourceLocator.php(46): Roave\BackwardCompatibility\SourceLocator\ReplaceSourcePathOfLocatedSources->findReflection()
Roave/BackwardCompatibilityCheck#189 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#190 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/FileIteratorSourceLocator.php(74): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#191 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\FileIteratorSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#192 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/DirectoriesSourceLocator.php(55): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#193 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\DirectoriesSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#194 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#195 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/AggregateSourceLocator.php(25): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#196 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/SourceLocator/Type/MemoizingSourceLocator.php(37): Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#197 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflector/DefaultReflector.php(48): Roave\BetterReflection\SourceLocator\Type\MemoizingSourceLocator->locateIdentifier()
Roave/BackwardCompatibilityCheck#198 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1211): Roave\BetterReflection\Reflector\DefaultReflector->reflectClass()
Roave/BackwardCompatibilityCheck#199 [internal function]: Roave\BetterReflection\Reflection\ReflectionClass->Roave\BetterReflection\Reflection\{closure}()
Roave/BackwardCompatibilityCheck#200 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(1212): array_map()
Roave/BackwardCompatibilityCheck#201 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(726): Roave\BetterReflection\Reflection\ReflectionClass->getTraits()
Roave/BackwardCompatibilityCheck#202 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(713): Roave\BetterReflection\Reflection\ReflectionClass->getConstantsConsideringAlreadyVisitedClasses()
Roave/BackwardCompatibilityCheck#203 /var/www/libs/github/demo/bc-check/vendor/roave/better-reflection/src/Reflection/ReflectionClass.php(685): Roave\BetterReflection\Reflection\ReflectionClass->getConstantsConsideringAlreadyVisitedClasses()
Roave/BackwardCompatibilityCheck#204 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/DetectChanges/BCBreak/ClassBased/ConstantRemoved.php(34): Roave\BetterReflection\Reflection\ReflectionClass->getConstants()
Roave/BackwardCompatibilityCheck#205 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/DetectChanges/BCBreak/ClassBased/ConstantRemoved.php(21): Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ConstantRemoved->accessibleConstants()
Roave/BackwardCompatibilityCheck#206 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/DetectChanges/BCBreak/ClassBased/SkipClassBasedErrors.php(21): Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\ConstantRemoved->__invoke()
Roave/BackwardCompatibilityCheck#207 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/DetectChanges/BCBreak/ClassBased/MultipleChecksOnAClass.php(35): Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\SkipClassBasedErrors->__invoke()
Roave/BackwardCompatibilityCheck#208 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/Changes.php(81): Roave\BackwardCompatibility\DetectChanges\BCBreak\ClassBased\MultipleChecksOnAClass->multipleChecks()
Roave/BackwardCompatibilityCheck#209 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/CompareClasses.php(92): Roave\BackwardCompatibility\Changes->getIterator()
Roave/BackwardCompatibilityCheck#210 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/CompareClasses.php(63): Roave\BackwardCompatibility\CompareClasses->examineSymbol()
Roave/BackwardCompatibilityCheck#211 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/Changes.php(81): Roave\BackwardCompatibility\CompareClasses->makeSymbolsIterator()
Roave/BackwardCompatibilityCheck#212 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/Formatter/SymfonyConsoleTextFormatter.php(18): Roave\BackwardCompatibility\Changes->getIterator()
Roave/BackwardCompatibilityCheck#213 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/src/Command/AssertBackwardsCompatible.php(168): Roave\BackwardCompatibility\Formatter\SymfonyConsoleTextFormatter->write()
Roave/BackwardCompatibilityCheck#214 /var/www/libs/github/demo/bc-check/vendor/symfony/console/Command/Command.php(308): Roave\BackwardCompatibility\Command\AssertBackwardsCompatible->execute()
Roave/BackwardCompatibilityCheck#215 /var/www/libs/github/demo/bc-check/vendor/symfony/console/Application.php(1002): Symfony\Component\Console\Command\Command->run()
Roave/BackwardCompatibilityCheck#216 /var/www/libs/github/demo/bc-check/vendor/symfony/console/Application.php(299): Symfony\Component\Console\Application->doRunCommand()
Roave/BackwardCompatibilityCheck#217 /var/www/libs/github/demo/bc-check/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
Roave/BackwardCompatibilityCheck#218 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/bin/roave-backward-compatibility-check.php(354): Symfony\Component\Console\Application->run()
Roave/BackwardCompatibilityCheck#219 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/bin/roave-backward-compatibility-check.php(355): Roave\ApiCompareCli\{closure}()
Roave/BackwardCompatibilityCheck#220 /var/www/libs/github/demo/bc-check/vendor/roave/backward-compatibility-check/bin/roave-backward-compatibility-check(6): require_once('...')
Roave/BackwardCompatibilityCheck#221 /var/www/libs/github/demo/bc-check/vendor/bin/roave-backward-compatibility-check(120): include('...')
I have no idea where the infinite loop is from, I used this package only 3 days, and 2 of them I was trying to create minimal repo for reproduce issue :)
OK, that looks more like infinite recursion, rather than infinite loop :D
That narrows down what this could be about.
and 2 of them I was trying to create minimal repo for reproduce issue :)
Thanks for trying that meanwhile 👍
OK, that looks more like infinite recursion, rather than infinite loop :D
yes, wrong words used
Related:
I don't have a solution nor time to investigate in the next few weeks, so I'm mostly linking existing tests for this problem, as well as the solution implemented so far.
Looking at the implementation:
Nette\Forms\Form
extendsNette\Forms\Container
Nette\Forms\Container
usesNette\ComponentModel\ArrayAccess
and extendsNette\ComponentModel\Container
Nette\ComponentModel\Container
extendsNette\ComponentModel\Component
Neete\ComponentModel\Component
usesNette\SmartObject
That's where the entire castle of cards fall into pieces.
I would suggest doing following:
- taking these 4 classes, putting them in a single file
- using a
StringSourceLocator
to build aDefaultReflector
- attempt to reflect your symbol
In theory, you should get an equivalent crash, but:
- this library should (in theory) no longer be involved
- we can remove pieces one by one, until the problem becomes more clear
Locator
needs name of the class to locate it: https://github.com/Roave/BetterReflection/blob/1eb943e/src/SourceLocator/Ast/Locator.php#L93- Anonymous class needs its parents to generate its name: https://github.com/Roave/BetterReflection/blob/1eb943e/src/Reflection/ReflectionClass.php#L264-L284
There's anonymous class in https://github.com/nette/forms/blob/fe2109ce8b77846a5f664bc412c7cf3008f63074/src/Forms/Rendering/LatteRenderer.php#L32
So when trying to get the name of the class it searches and reflects its parents. And Locator
probably find the anonymous class again before than the parent class, so it calls getName()
and we're in the infinite loop.
When I was trying to create minimalistic repository, I found that I need both packages: forms and also php-generator. I am 90% sure I was trying also install only one of them with no success.
Maybe this behavior needs at least two anonymous classes?
Second is here: https://github.com/nette/php-generator/blob/master/src/PhpGenerator/Extractor.php#L175