Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uncaught Error: Object of class PhpParser\Node\UnionType could not be converted to string #292

Closed
remicollet opened this issue Jan 28, 2021 · 18 comments
Assignees
Labels

Comments

@remicollet
Copy link
Contributor

Trying to analyse https://github.com/FriendsOfPHP/proxy-manager-lts

Stack trace:
#0 /usr/share/php/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php(110): Bartlett\CompatInfo\PhpParser\NodeVisitor\VersionResolverVisitor->resolveTypeVersions(Object(PhpParser\Node\UnionType))
#1 /usr/share/php/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php(88): Bartlett\CompatInfo\PhpParser\NodeVisitor\VersionResolverVisitor->handleParameters(Object(PhpParser\Node\Stmt\ClassMethod), Array)
#2 /usr/share/php/PhpParser4/NodeTraverser.php(200): Bartlett\CompatInfo\PhpParser\NodeVisitor\VersionResolverVisitor->enterNode(Object(PhpParser\Node\Stmt\ClassMethod))
#3 /usr/share/php/PhpParser4/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray(Array)
#4 /usr/share/php/PhpParser4/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_) in /usr/share/php/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php on line 169

@llaville
Copy link
Owner

Could you give your platform context (php and compatinfo version) ?

With PHP 7.2.34 and phpCompatInfo version 5.4.2 DB version 2.19.0 built Oct 03 2020 15:01:59 UTC, I'm able to run analysis on https://github.com/FriendsOfPHP/proxy-manager-lts/archive/v1.0.3.tar.gz source code.

See below

Data Source Analysed

Directories                                         36
Files                                              141
Errors                                               0


Extensions Analysis

    Extension  REF        EXT min/Max PHP min/Max
    Core       Core       7.0.2       7.1.0
    Reflection Reflection 5.0.0       7.1.0
    pcre       pcre       4.0.0       4.0.0
    spl        spl        5.1.0       5.3.0
    standard   standard   5.2.1       5.2.1
    Total [5]                         7.1.0

Namespaces Analysis

    Namespace                                                                        REF      EXT min/Max PHP min/Max
    ProxyManager                                                                     standard 5.2.1       7.1.0
    ProxyManager\Autoloader                                                          standard 4.0.0       7.0.0
    ProxyManager\Exception                                                           Core     7.0.2       7.0.2
    ProxyManager\Factory                                                             Core     5.3.9       7.1.0
    ProxyManager\Factory\RemoteObject                                                user                 7.0.0
    ProxyManager\Factory\RemoteObject\Adapter                                        user                 7.0.0
    ProxyManager\FileLocator                                                         standard 4.0.6       7.0.0
    ProxyManager\Generator                                                           user                 7.1.0
    ProxyManager\GeneratorStrategy                                                   Core     5.3.0       7.0.2
    ProxyManager\Generator\Util                                                      standard 4.0.0       7.0.0
    ProxyManager\Inflector                                                           standard 4.0.0       7.0.0
    ProxyManager\Inflector\Util                                                      standard 4.0.0       7.0.0alpha1
    ProxyManager\Proxy                                                               user                 7.1.0
    ProxyManager\ProxyGenerator                                                      Core     5.0.0       7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator      user                 7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\Util standard 4.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator         user                 5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\Util    user                 7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptor\MethodGenerator                    user                 5.3.0
    ProxyManager\ProxyGenerator\AccessInterceptor\PropertyGenerator                  user                 5.4.0
    ProxyManager\ProxyGenerator\Assertion                                            spl      5.1.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator                     user                 7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator                   user                 7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator               Core     5.0.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\PropertyGenerator             Core     4.0.0       7.0.0
    ProxyManager\ProxyGenerator\LazyLoading\MethodGenerator                          user                 5.4.0
    ProxyManager\ProxyGenerator\NullObject\MethodGenerator                           user                 7.0.0alpha1
    ProxyManager\ProxyGenerator\PropertyGenerator                                    user                 7.0.0alpha1
    ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator                         standard 4.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\RemoteObject\PropertyGenerator                       user                 5.3.0
    ProxyManager\ProxyGenerator\Util                                                 Core     5.2.7       7.1.0
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator                          standard 5.0.0       7.1.0
    ProxyManager\Proxy\Exception                                                     user                 5.3.0
    ProxyManager\Signature                                                           standard 4.0.0       7.1.0
    ProxyManager\Signature\Exception                                                 user                 5.3.0
    ProxyManager\Stub                                                                user                 5.3.0
    Total [36]                                                                                            7.1.0

Interfaces Analysis

    Interface                                                 REF        EXT min/Max PHP min/Max
    Closure                                                   Core       5.3.0       5.3.0
    ProxyManager\Autoloader\AutoloaderInterface               user                   7.0.0
    ProxyManager\Exception\ExceptionInterface                 Core       7.0.2       7.0.2
    ProxyManager\Factory\RemoteObject\AdapterInterface        user                   7.0.0
    ProxyManager\FileLocator\FileLocatorInterface             user                   7.0.0
    ProxyManager\GeneratorStrategy\GeneratorStrategyInterface user                   7.0.0alpha1
    ProxyManager\Inflector\ClassNameInflectorInterface        user                   7.0.0
    ProxyManager\ProxyGenerator\ProxyGeneratorInterface       user                   5.3.0
    ProxyManager\Proxy\AccessInterceptorInterface             user                   7.1.0
    ProxyManager\Proxy\AccessInterceptorValueHolderInterface  user                   7.1.0
    ProxyManager\Proxy\FallbackValueHolderInterface           user                   5.3.0
    ProxyManager\Proxy\GhostObjectInterface                   user                   7.1.0
    ProxyManager\Proxy\LazyLoadingInterface                   user                   7.1.0
    ProxyManager\Proxy\NullObjectInterface                    user                   5.3.0
    ProxyManager\Proxy\ProxyInterface                         user                   4.0.0
    ProxyManager\Proxy\RemoteObjectInterface                  user                   5.3.0
    ProxyManager\Proxy\SmartReferenceInterface                user                   5.3.0
    ProxyManager\Proxy\ValueHolderInterface                   user                   5.3.0
    ProxyManager\Proxy\VirtualProxyInterface                  user                   5.3.0
    ProxyManager\Signature\ClassSignatureGeneratorInterface   user                   7.0.0alpha1
    ProxyManager\Signature\Exception\ExceptionInterface       user                   4.0.0
    ProxyManager\Signature\SignatureCheckerInterface          user                   7.1.0
    ProxyManager\Signature\SignatureGeneratorInterface        user                   7.0.0alpha1
    ReflectionClass                                           Reflection 5.0.0       5.0.0
    ReflectionMethod                                          Reflection 5.0.0       5.0.0
    ReflectionProperty                                        Reflection 5.0.0       5.0.0
    Throwable                                                 Core       7.0.2       7.0.2
    Total [27]                                                                       7.1.0

No trait found

Classes Analysis

    Class                                                                                                 REF        EXT min/Max PHP min/Max
    BadMethodCallException                                                                                spl        5.1.0       5.1.0
    Closure                                                                                               Core       5.3.0       5.3.0
    ErrorException                                                                                        Core       5.1.0       5.1.0
    InvalidArgumentException                                                                              spl        5.1.0       5.1.0
  U Laminas\Code\Generator\ClassGenerator                                                                 user                   5.3.0
  U Laminas\Code\Generator\DocBlockGenerator                                                              user                   5.3.0
  U Laminas\Code\Generator\MethodGenerator                                                                user                   5.3.0
  U Laminas\Code\Generator\ParameterGenerator                                                             user                   5.3.0
  U Laminas\Code\Generator\PropertyGenerator                                                              user                   5.3.0
  U Laminas\Code\Reflection\MethodReflection                                                              user                   5.3.0
  U Laminas\Code\Reflection\ParameterReflection                                                           user                   5.3.0
  U Laminas\Server\Client                                                                                 user                   5.3.0
    ProxyManager\Autoloader\Autoloader                                                                    standard   4.0.0       7.0.0
  U ProxyManager\Autoloader\AutoloaderInterface                                                           user                   5.3.0
    ProxyManager\Configuration                                                                            standard   5.2.1       7.1.0
    ProxyManager\Exception\DisabledMethodException                                                        spl        5.1.0       7.0.0
    ProxyManager\Exception\FileNotWritableException                                                       Core       7.0.2       7.0.2
    ProxyManager\Exception\InvalidProxiedClassException                                                   spl        5.1.0       7.0.0alpha1
    ProxyManager\Exception\InvalidProxyDirectoryException                                                 spl        5.1.0       5.3.0
    ProxyManager\Exception\UnsupportedProxiedClassException                                               spl        5.1.0       7.0.0alpha1
    ProxyManager\Factory\AbstractBaseFactory                                                              Core       5.3.9       7.1.0
    ProxyManager\Factory\AccessInterceptorScopeLocalizerFactory                                           user                   7.1.0
    ProxyManager\Factory\AccessInterceptorValueHolderFactory                                              user                   7.1.0
    ProxyManager\Factory\LazyLoadingGhostFactory                                                          Core       5.3.0       7.1.0
    ProxyManager\Factory\LazyLoadingValueHolderFactory                                                    Core       5.3.0       7.1.0
    ProxyManager\Factory\NullObjectFactory                                                                user                   7.1.0
    ProxyManager\Factory\RemoteObjectFactory                                                              Core       4.0.0       7.1.0
  U ProxyManager\Factory\RemoteObject\AdapterInterface                                                    user                   5.3.0
    ProxyManager\Factory\RemoteObject\Adapter\BaseAdapter                                                 user                   7.0.0
    ProxyManager\Factory\RemoteObject\Adapter\JsonRpc                                                     user                   7.0.0
    ProxyManager\Factory\RemoteObject\Adapter\Soap                                                        user                   7.0.0
    ProxyManager\Factory\RemoteObject\Adapter\XmlRpc                                                      user                   7.0.0
    ProxyManager\FileLocator\FileLocator                                                                  standard   4.0.6       7.0.0
  U ProxyManager\FileLocator\FileLocatorInterface                                                         user                   5.3.0
    ProxyManager\GeneratorStrategy\BaseGeneratorStrategy                                                  user                   7.0.0alpha1
    ProxyManager\GeneratorStrategy\EvaluatingGeneratorStrategy                                            Core       5.3.0       7.0.0alpha1
    ProxyManager\GeneratorStrategy\FileWriterGeneratorStrategy                                            Core       5.1.0       7.0.2
  U ProxyManager\GeneratorStrategy\GeneratorStrategyInterface                                             user                   5.3.0
    ProxyManager\Generator\ClassGenerator                                                                 user                   5.3.0
    ProxyManager\Generator\MagicMethodGenerator                                                           user                   7.0.0
  U ProxyManager\Generator\MethodGenerator                                                                user                   7.1.0
    ProxyManager\Generator\Util\ClassGeneratorUtils                                                       user                   4.0.0
    ProxyManager\Generator\Util\IdentifierSuffixer                                                        pcre       4.0.0       7.0.0alpha1
    ProxyManager\Generator\Util\ProxiedMethodReturnExpression                                             user                   4.0.0
    ProxyManager\Generator\Util\UniqueIdentifierGenerator                                                 standard   4.0.0       7.0.0
    ProxyManager\Inflector\ClassNameInflector                                                             standard   4.0.0       7.0.0
  U ProxyManager\Inflector\ClassNameInflectorInterface                                                    user                   5.3.0
    ProxyManager\Inflector\Util\ParameterEncoder                                                          standard   4.0.0       7.0.0alpha1
    ProxyManager\Inflector\Util\ParameterHasher                                                           standard   4.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizerGenerator                                  user                   7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\BindProxyProperties       user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\InterceptedMethod         user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicClone                user                   7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicGet                  user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicIsset                user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicSet                  user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicSleep                user                   5.3.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicUnset                user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\StaticProxyConstructor    user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\Util\InterceptorGenerator standard   4.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolderGenerator                                     user                   7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\InterceptedMethod            user                   5.3.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicClone                   user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicGet                     user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicIsset                   user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicSet                     user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicUnset                   user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\StaticProxyConstructor       user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\Util\InterceptorGenerator    user                   7.1.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\MethodGenerator\MagicWakeup                             user                   5.3.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\MethodGenerator\SetMethodPrefixInterceptor              user                   5.3.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\MethodGenerator\SetMethodSuffixInterceptor              user                   5.3.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\PropertyGenerator\MethodPrefixInterceptors              user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\PropertyGenerator\MethodSuffixInterceptors              user                   5.4.0
    ProxyManager\ProxyGenerator\Assertion\CanProxyAssertion                                               spl        5.1.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingGhostGenerator                                                 user                   7.1.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\CallInitializer                          user                   7.0.0alpha1
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\GetProxyInitializer                      user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\InitializeProxy                          user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\IsProxyInitialized                       user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicClone                               user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicGet                                 user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicIsset                               user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicSet                                 user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicSleep                               user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicUnset                               user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\SetProxyInitializer                      user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\SkipDestructor                           user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\InitializationTracker                  user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\InitializerProperty                    user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\PrivatePropertiesMap                   user                   7.0.0alpha1
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\ProtectedPropertiesMap                 user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingValueHolderGenerator                                           standard   4.0.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\GetProxyInitializer                user                   5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\InitializeProxy                    user                   5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\IsProxyInitialized                 user                   5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\LazyLoadingMethodInterceptor       standard   4.0.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicClone                         Reflection 5.0.0       5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicGet                           user                   7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicIsset                         Reflection 5.0.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicSet                           user                   5.4.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicSleep                         Core       4.2.0       5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicUnset                         user                   5.4.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\SetProxyInitializer                Core       4.0.0       5.5.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\SkipDestructor                     user                   5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\PropertyGenerator\InitializerProperty              user                   7.0.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\PropertyGenerator\ValueHolderProperty              Core       4.0.0       5.3.0
    ProxyManager\ProxyGenerator\LazyLoading\MethodGenerator\StaticProxyConstructor                        user                   5.4.0
    ProxyManager\ProxyGenerator\NullObjectGenerator                                                       user                   7.1.0
    ProxyManager\ProxyGenerator\NullObject\MethodGenerator\NullObjectMethodInterceptor                    user                   5.3.0
  U ProxyManager\ProxyGenerator\NullObject\MethodGenerator\StaticProxyConstructor                         user                   7.0.0alpha1
  U ProxyManager\ProxyGenerator\PropertyGenerator\PublicPropertiesMap                                     user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\RemoteObjectGenerator                                                     user                   7.1.0
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\MagicGet                                     user                   5.4.0
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\MagicIsset                                   user                   5.4.0
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\MagicSet                                     user                   5.4.0
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\MagicUnset                                   user                   5.4.0
    ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\RemoteObjectMethod                           standard   4.0.0       7.0.0alpha1
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\StaticProxyConstructor                       user                   5.4.0
  U ProxyManager\ProxyGenerator\RemoteObject\PropertyGenerator\AdapterProperty                            user                   5.3.0
    ProxyManager\ProxyGenerator\Util\GetMethodIfExists                                                    user                   5.0.0
    ProxyManager\ProxyGenerator\Util\Properties                                                           Core       5.2.7       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\ProxiedMethodsFilter                                                 standard   4.0.0       7.1.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator                                                 spl        5.1.0       7.1.0
    ProxyManager\ProxyGenerator\Util\UnsetPropertiesGenerator                                             standard   4.0.0       7.0.0
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\Constructor                                   standard   5.0.0       7.1.0
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\GetWrappedValueHolderValue                    user                   5.3.0
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\MagicSleep                                    user                   5.3.0
    ProxyManager\Proxy\Exception\RemoteObjectException                                                    spl        5.1.0       5.1.0
  U ProxyManager\Signature\ClassSignatureGenerator                                                        user                   7.0.0alpha1
  U ProxyManager\Signature\ClassSignatureGeneratorInterface                                               user                   5.3.0
    ProxyManager\Signature\Exception\InvalidSignatureException                                            spl        5.1.0       5.3.0
    ProxyManager\Signature\Exception\MissingSignatureException                                            spl        5.1.0       5.3.0
    ProxyManager\Signature\SignatureChecker                                                               standard   4.0.0       7.1.0
  U ProxyManager\Signature\SignatureCheckerInterface                                                      user                   5.3.0
  U ProxyManager\Signature\SignatureGenerator                                                             user                   7.0.0alpha1
  U ProxyManager\Signature\SignatureGeneratorInterface                                                    user                   5.3.0
    ProxyManager\Stub\EmptyClassStub                                                                      user                   4.0.0
    ProxyManager\Version                                                                                  user                   5.0.0
    ReflectionClass                                                                                       Reflection 5.0.0       5.0.0
    ReflectionMethod                                                                                      Reflection 5.0.0       5.0.0
    ReflectionProperty                                                                                    Reflection 5.0.0       5.0.0
  U Symfony\Component\Filesystem\Filesystem                                                               user                   5.3.0
  U array                                                                                                 user                   4.0.0
  U bool                                                                                                  user                   4.0.0
  U int                                                                                                   user                   4.0.0
    self                                                                                                  Core       5.0.0       5.0.0
  U string                                                                                                user                   4.0.0
    Total [148]                                                                                                                  7.1.0

No generator found

Functions Analysis

    Function                                                                                                                                        REF        EXT min/Max PHP min/Max
    ProxyManager\Exception\InvalidProxiedClassException\abstractProtectedMethodsNotSupported\closure-39-41                                          Reflection 5.0.0       7.0.0alpha1
    ProxyManager\Exception\InvalidProxiedClassException\abstractProtectedMethodsNotSupported\closure-44-46                                          Reflection 5.0.0       7.0.0alpha1
    ProxyManager\Exception\UnsupportedProxiedClassException\nonReferenceableLocalizedReflectionProperties\closure-39-41                             Reflection 5.0.0       7.0.0alpha1
    ProxyManager\GeneratorStrategy\FileWriterGeneratorStrategy\__construct\closure-30-34                                                            Core       5.1.0       7.0.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizerGenerator\buildMethodInterceptor\closure-92-98                                       Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizerGenerator\generate\closure-61-63                                                     user                   7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\Util\InterceptorGenerator\createInterceptedMethodBody\closure-70-72 user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolderGenerator\buildMethodInterceptor\closure-131-138                                        Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolderGenerator\generate\closure-76-78                                                        user                   7.1.0
    ProxyManager\ProxyGenerator\Assertion\CanProxyAssertion\hasNoAbstractProtectedMethods\closure-61-63                                             Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingGhostGenerator\generate\closure-82-84                                                                    user                   7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingGhostGenerator\getAbstractProxiedMethods\closure-149-157                                                 Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\CallInitializer\getPropertyDefaultsAssignments\closure-116-119                     Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingValueHolderGenerator\buildLazyLoadingMethodInterceptor\closure-126-150                                   standard   5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingValueHolderGenerator\generate\closure-92-94                                                              user                   7.1.0
    ProxyManager\ProxyGenerator\NullObject\MethodGenerator\StaticProxyConstructor\__construct\closure-33-35                                         Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\RemoteObjectGenerator\generate\closure-60-62                                                                        user                   7.1.0
    ProxyManager\ProxyGenerator\RemoteObjectGenerator\generate\closure-65-71                                                                        Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\fromReflectionClass\closure-49-57                                                                   standard   5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\fromReflectionClass\closure-49-57\closure-52-55                                                     Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\onlyNonReferenceableProperties\closure-77-87                                                        Core       5.2.7       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\onlyNullableProperties\closure-125-133                                                              Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\withoutNonReferenceableProperties\closure-101-118                                                   standard   5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\ProxiedMethodsFilter\doFilter\closure-68-73                                                                    standard   5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\getPublicAccessSimulationCode\closure-84-84                                               user                   7.0.0
    ProxyManager\ProxyGenerator\Util\UnsetPropertiesGenerator\generateUnsetStatement\closure-94-96                                                  Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\Constructor\generateOriginalConstructorCall\closure-64-66                               user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\Constructor\getConstructor\closure-76-81                                                Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\Constructor\getConstructor\closure-84-86                                                Reflection 5.0.0       7.0.0alpha1
    array_filter                                                                                                                                    standard   4.0.6       4.0.6
    array_flip                                                                                                                                      standard   4.0.0       4.0.0
    array_key_exists                                                                                                                                standard   4.0.7       4.0.7
    array_keys                                                                                                                                      standard   4.0.0       4.0.0
    array_map                                                                                                                                       standard   4.0.6       4.0.6
    array_merge                                                                                                                                     standard   4.0.0       4.0.0
    array_values                                                                                                                                    standard   4.0.0       4.0.0
    assert                                                                                                                                          standard   4.0.0       4.0.0
    base64_encode                                                                                                                                   standard   4.0.0       4.0.0
    class_exists                                                                                                                                    Core       5.0.0       5.0.0
    count                                                                                                                                           standard   4.0.0       4.0.0
    error_reporting                                                                                                                                 Core       4.0.0       4.0.0
    file_exists                                                                                                                                     standard   4.0.0       4.0.0
    func_get_arg                                                                                                                                    Core       4.0.0       4.0.0
    func_num_args                                                                                                                                   Core       4.0.0       4.0.0
    get_class                                                                                                                                       Core       4.0.0       4.0.0
    implode                                                                                                                                         standard   4.0.0       4.0.0
    ini_get                                                                                                                                         standard   4.0.0       4.0.0
    is_a                                                                                                                                            Core       5.3.9       5.3.9
    is_int                                                                                                                                          standard   4.0.0       4.0.0
    is_object                                                                                                                                       standard   4.0.0       4.0.0
    is_string                                                                                                                                       standard   4.0.0       4.0.0
    ltrim                                                                                                                                           standard   4.0.0       4.0.0
    md5                                                                                                                                             standard   4.0.0       4.0.0
    preg_match                                                                                                                                      pcre       4.0.0       4.0.0
    realpath                                                                                                                                        standard   4.0.0       4.0.0
    reset                                                                                                                                           standard   4.0.0       4.0.0
    restore_error_handler                                                                                                                           Core       4.0.1       4.0.1
    serialize                                                                                                                                       standard   4.0.0       4.0.0
    set_error_handler                                                                                                                               Core       4.0.1       4.0.1
    sha1                                                                                                                                            standard   4.3.0       4.3.0
    sprintf                                                                                                                                         standard   4.0.0       4.0.0
    str_replace                                                                                                                                     standard   4.0.0       4.0.0
    strlen                                                                                                                                          Core       4.0.0       4.0.0
    strrpos                                                                                                                                         standard   4.0.0       4.0.0
    strtolower                                                                                                                                      standard   4.0.0       4.0.0
    strtr                                                                                                                                           standard   4.0.0       4.0.0
    substr                                                                                                                                          standard   4.0.0       4.0.0
    sys_get_temp_dir                                                                                                                                standard   5.2.1       5.2.1
    uniqid                                                                                                                                          standard   4.0.0       4.0.0
    unlink                                                                                                                                          standard   4.0.0       4.0.0
    var_export                                                                                                                                      standard   4.2.0       4.2.0
    Total [71]
               7.1.0

Constants Analysis

    Constant                                                                                                       REF      EXT min/Max PHP min/Max
    DIRECTORY_SEPARATOR                                                                                            standard 4.0.6       4.0.6
    PHP_VERSION_ID                                                                                                 Core     5.2.7       5.2.7
    ProxyManager\Configuration\DEFAULT_PROXY_NAMESPACE                                                             user                 4.0.0
    ProxyManager\Exception\DisabledMethodException\NAME                                                            user                 4.0.0
    ProxyManager\Generator\Util\IdentifierSuffixer\DEFAULT_IDENTIFIER                                              user                 4.0.0
    ProxyManager\Generator\Util\IdentifierSuffixer\VALID_IDENTIFIER_FORMAT                                         user                 4.0.0
    ProxyManager\Generator\Util\UniqueIdentifierGenerator\DEFAULT_IDENTIFIER                                       user                 4.0.0
    ProxyManager\Generator\Util\UniqueIdentifierGenerator\VALID_IDENTIFIER_FORMAT                                  user                 4.0.0
    ProxyManager\Inflector\ClassNameInflectorInterface\PROXY_MARKER                                                user                 4.0.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\Util\InterceptorGenerator\TEMPLATE user                 4.0.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicClone\TEMPLATE                   user                 4.0.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\Util\InterceptorGenerator\TEMPLATE    user                 4.0.0
    ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\PrivatePropertiesMap\KEY_DEFAULT_VALUE          user                 4.0.0
    ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\ProtectedPropertiesMap\KEY_DEFAULT_VALUE        user                 4.0.0
    ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\RemoteObjectMethod\TEMPLATE                           user                 4.0.0
    ProxyManager\ProxyGenerator\Util\ProxiedMethodsFilter\DEFAULT_EXCLUDED                                         user                 5.4.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\OPERATION_GET                                            user                 4.0.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\OPERATION_ISSET                                          user                 4.0.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\OPERATION_SET                                            user                 4.0.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\OPERATION_UNSET                                          user                 4.0.0
    ProxyManager\ProxyGenerator\Util\UnsetPropertiesGenerator\CLOSURE_TEMPLATE                                     user                 4.0.0
    __DIR__                                                                                                        Core     5.3.0       5.3.0
    false                                                                                                          Core     4.0.0       4.0.0
    null                                                                                                           Core     4.0.0       4.0.0
    true                                                                                                           Core     4.0.0       4.0.0
    Total [25]                                                                                                                          5.4.0

No condition found

Requires PHP 7.1.0 (min)

@remicollet
Copy link
Contributor Author

PHP 7.4.14 (cli) (built: Jan 5 2021 10:45:06) ( NTS )

phpCompatInfo version 5.4.2 DB version 2.19.0 built Oct 05 2020 09:18:56 CEST

@llaville
Copy link
Owner

Sorry I cannot reproduced this error.

I've the same results with PHP 7.2.34, 7.3.26, and 7.4.14 (with almost the same dependeny versions installed with Composer except for PHP 7.2 and hoa/* components that are used only by humbug/box)

@landy2005
Copy link

PHP 7.4.14 (cli) (built: Jan 20 2021 22:21:45) ( NTS )
phpCompatInfo version 5.4.2 DB version 2.19.0 built Oct 03 2020 15:01:59 UTC

I get same issue:

$ vendor/bin/phpcompatinfo analyser:run .
PHP Fatal error:  Uncaught Error: Object of class PhpParser\Node\UnionType could not be converted to string in /Volumes/Code/observium-local/vendor/bartlett/php-compatinfo/src/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php:169
Stack trace:
#0 /Volumes/Code/observium-local/vendor/bartlett/php-compatinfo/src/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php(110): Bartlett\CompatInfo\PhpParser\NodeVisitor\VersionResolverVisitor->resolveTypeVersions(Object(PhpParser\Node\UnionType))
#1 /Volumes/Code/observium-local/vendor/bartlett/php-compatinfo/src/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php(88): Bartlett\CompatInfo\PhpParser\NodeVisitor\VersionResolverVisitor->handleParameters(Object(PhpParser\Node\Stmt\Function_), Array)
#2 /Volumes/Code/observium-local/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(200): Bartlett\CompatInfo\PhpParser\NodeVisitor\VersionResolverVisitor->enterNode(Object(PhpParser\Node\Stmt\Function_))
#3 /Volumes/Code/observium-local/ven in /Volumes/Code/observium-local/vendor/bartlett/php-compatinfo/src/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php on line 169

Fatal error: Uncaught Error: Object of class PhpParser\Node\UnionType could not be converted to string in /Volumes/Code/observium-local/vendor/bartlett/php-compatinfo/src/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php on line 169

Error: Object of class PhpParser\Node\UnionType could not be converted to string in /Volumes/Code/observium-local/vendor/bartlett/php-compatinfo/src/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php on line 169

Call Stack:
    0.0002     399120   1. {main}() /Volumes/Code/observium-local/vendor/bartlett/php-compatinfo/bin/phpcompatinfo:0
    0.5815    5348280   2. Bartlett\CompatInfo\Console\Application->run($input = ???, $output = ???) /Volumes/Code/observium-local/vendor/bartlett/php-compatinfo/bin/phpcompatinfo:47
    0.5828    5518736   3. Bartlett\CompatInfo\Console\Application->run($input = class Bartlett\CompatInfo\Console\Input\Input { private ${Symfony\Component\Console\Input\ArgvInput}tokens = [0 => 'analyser:run', 1 => '.']; private ${Symfony\Component\Console\Input\ArgvInput}parsed = []; protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 2; private $hasAnArrayArgument = FALSE; private $hasOptional = FALSE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'analyser:run', 'source' => '.']; protected $interactive = TRUE }, $output = class Bartlett\CompatInfo\Console\Output\Output { private ${Symfony\Component\Console\Output\ConsoleOutput}stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(295) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private ${Symfony\Component\Console\Output\ConsoleOutput}consoleSectionOutputs = []; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(287) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) /Volumes/Code/observium-local/vendor/bartlett/php-compatinfo/src/Bartlett/CompatInfo/Console/Application.php:193
    0.5890    5523696   4. Bartlett\CompatInfo\Console\Application->doRun($input = class Bartlett\CompatInfo\Console\Input\Input { private ${Symfony\Component\Console\Input\ArgvInput}tokens = [0 => 'analyser:run', 1 => '.']; private ${Symfony\Component\Console\Input\ArgvInput}parsed = []; protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 2; private $hasAnArrayArgument = FALSE; private $hasOptional = FALSE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'analyser:run', 'source' => '.']; protected $interactive = TRUE }, $output = class Bartlett\CompatInfo\Console\Output\Output { private ${Symfony\Component\Console\Output\ConsoleOutput}stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(295) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private ${Symfony\Component\Console\Output\ConsoleOutput}consoleSectionOutputs = []; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(287) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) /Volumes/Code/observium-local/vendor/symfony/console/Application.php:166
    0.5895    5551680   5. Bartlett\CompatInfo\Console\Application->doRunCommand($command = class Bartlett\CompatInfo\Console\Command { protected $enabled = TRUE; private ${Symfony\Component\Console\Command\Command}application = class Bartlett\CompatInfo\Console\Application { private $container = class Symfony\Component\DependencyInjection\ContainerBuilder { ... }; private $eventDispatcher = class Bartlett\CompatInfo\Event\Dispatcher\EventDispatcher { ... }; private ${Symfony\Component\Console\Application}commands = [...]; private ${Symfony\Component\Console\Application}wantHelps = FALSE; private ${Symfony\Component\Console\Application}runningCommand = ...; private ${Symfony\Component\Console\Application}name = 'phpCompatInfo'; private ${Symfony\Component\Console\Application}version = '5.4.2'; private ${Symfony\Component\Console\Application}commandLoader = NULL; private ${Symfony\Component\Console\Application}catchExceptions = TRUE; private ${Symfony\Component\Console\Application}autoExit = TRUE; private ${Symfony\Component\Console\Application}definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private ${Symfony\Component\Console\Application}helperSet = class Symfony\Component\Console\Helper\HelperSet { ... }; private ${Symfony\Component\Console\Application}dispatcher = class Bartlett\CompatInfo\Event\Dispatcher\EventDispatcher { ... }; private ${Symfony\Component\Console\Application}terminal = class Symfony\Component\Console\Terminal { ... }; private ${Symfony\Component\Console\Application}defaultCommand = 'list'; private ${Symfony\Component\Console\Application}singleCommand = FALSE; private ${Symfony\Component\Console\Application}initialized = TRUE; private ${Symfony\Component\Console\Application}signalRegistry = class Symfony\Component\Console\SignalRegistry\SignalRegistry { ... }; private ${Symfony\Component\Console\Application}signalsToDispatchEvent = [...] }; private ${Symfony\Component\Console\Command\Command}name = 'analyser:run'; private ${Symfony\Component\Console\Command\Command}processTitle = NULL; private ${Symfony\Component\Console\Command\Command}aliases = []; private ${Symfony\Component\Console\Command\Command}definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 1; private $hasAnArrayArgument = FALSE; private $hasOptional = FALSE; private $options = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}hidden = FALSE; private ${Symfony\Component\Console\Command\Command}help = ''; private ${Symfony\Component\Console\Command\Command}description = 'Analyse a data source and display results.'; private ${Symfony\Component\Console\Command\Command}fullDefinition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 2; private $hasAnArrayArgument = FALSE; private $hasOptional = FALSE; private $options = [...]; private $shortcuts = [...] }; private ${Symfony\Component\Console\Command\Command}ignoreValidationErrors = FALSE; private ${Symfony\Component\Console\Command\Command}code = class Closure { public $static = [...]; public $this = class Bartlett\CompatInfo\Console\CommandFactory { ... }; public $parameter = [...] }; private ${Symfony\Component\Console\Command\Command}synopsis = []; private ${Symfony\Component\Console\Command\Command}usages = []; private ${Symfony\Component\Console\Command\Command}helperSet = class Symfony\Component\Console\Helper\HelperSet { private $helpers = [...]; private $command = NULL } }, $input = class Bartlett\CompatInfo\Console\Input\Input { private ${Symfony\Component\Console\Input\ArgvInput}tokens = [0 => 'analyser:run', 1 => '.']; private ${Symfony\Component\Console\Input\ArgvInput}parsed = []; protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = [...]; private $requiredCount = 2; private $hasAnArrayArgument = FALSE; private $hasOptional = FALSE; private $options = [...]; private $shortcuts = [...] }; protected $stream = NULL; protected $options = []; protected $arguments = ['command' => 'analyser:run', 'source' => '.']; protected $interactive = TRUE }, $output = class Bartlett\CompatInfo\Console\Output\Output { private ${Symfony\Component\Console\Output\ConsoleOutput}stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(295) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private ${Symfony\Component\Console\Output\ConsoleOutput}consoleSectionOutputs = []; private ${Symfony\Component\Console\Output\StreamOutput}stream = resource(287) of type (stream); private ${Symfony\Component\Console\Output\Output}verbosity = 32; private ${Symfony\Component\Console\Output\Output}formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = TRUE; private $styles = [...]; private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) /Volumes/Code/observium-local/vendor/symfony/console/Application.php:290

@llaville
Copy link
Owner

llaville commented Feb 4, 2021

could you precise how you install compatinfo (and what is dependencies installed : composer show command results) and last but not least souce code analysed (where you get it and how installed).
More details will help me to understand the reason of this issue, i cannot reproduced.

@landy2005
Copy link

could you precise how you install compatinfo (and what is dependencies installed : composer show command results) and last but not least souce code analysed (where you get it and how installed).
More details will help me to understand the reason of this issue, i cannot reproduced.

installed by phpstorm composer update mechanism (added into composer.json):

  "require": {
    "ext-mysqli": "*",
    "ext-zlib": "*",
    "ext-sockets": "*",
    "ext-json": "*",
    "bartlett/php-compatinfo": "^5.4"
  }

updated composer inside phpstorm as composer update --no-interaction --no-ansi

$ composer show
amphp/amp                             v2.5.2    A non-blocking concurrency framework for PHP applications.
amphp/byte-stream                     v1.8.0    A stream abstraction to make working with non-blocking I/O simple.
bartlett/php-compatinfo               5.4.2     Find out the minimum version and the extensions required for a piece of code to run
bartlett/php-compatinfo-db            2.19.0    Reference Database to be used with php-compatinfo library
bartlett/php-reflect                  4.4.1     Adds the ability to reverse-engineer classes, interfaces, functions, constants, namespaces, traits and more.
brick/math                            0.9.2     Arbitrary-precision arithmetic library
composer/package-versions-deprecated  1.11.99.1 Composer plugin that provides efficient querying for installed package versions (no runtime IO)
composer/semver                       3.2.4     Semver library that offers utilities, version constraint parsing and validation.
composer/xdebug-handler               1.4.5     Restarts a process without Xdebug.
dnoegel/php-xdg-base-dir              v0.1.1    implementation of xdg base directory specification for php
doctrine/collections                  1.6.7     PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.
felixfbecker/advanced-json-rpc        v3.2.0    A more advanced JSONRPC implementation
felixfbecker/language-server-protocol v1.5.0    PHP classes for the Language Server Protocol
justinrainbow/json-schema             5.2.10    A library to validate a json schema.
laminas/laminas-diagnostics           1.8.0     A set of components for performing diagnostic tests in PHP applications
laminas/laminas-zendframework-bridge  1.1.1     Alias legacy ZF class names to Laminas Project equivalents.
league/tactician                      v1.0.3    A small, flexible command bus. Handy for building service layers.
netresearch/jsonmapper                v2.1.0    Map nested JSON structures onto PHP classes
nikic/php-parser                      v4.10.4   A PHP parser written in PHP
openlss/lib-array2xml                 1.0.0     Array2XML conversion library credit to lalit.org
phpdocumentor/reflection-common       2.2.0     Common reflection classes used by phpdocumentor to reflect the code structure
phpdocumentor/reflection-docblock     5.2.2     With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.
phpdocumentor/type-resolver           1.4.0     A PSR-5 based resolver of Class names, Types and Structural Element Names
psr/container                         1.0.0     Common Container Interface (PHP FIG PSR-11)
psr/event-dispatcher                  1.0.0     Standard interfaces for event handling.
psr/log                               1.1.3     Common interface for logging libraries
ramsey/collection                     1.1.3     A PHP 7.2+ library for representing and manipulating collections.
ramsey/uuid                           4.1.1     A PHP library for generating and working with universally unique identifiers (UUIDs).
sebastian/diff                        4.0.4     Diff implementation
sebastian/version                     2.0.1     Library that helps with managing the version number of Git-hosted PHP projects
seld/jsonlint                         1.8.3     JSON Linter
symfony/config                        v5.2.3    Helps you find, load, combine, autofill and validate configuration values of any kind
symfony/console                       v5.2.3    Eases the creation of beautiful and testable command line interfaces
symfony/dependency-injection          v5.2.3    Allows you to standardize and centralize the way objects are constructed in your application
symfony/deprecation-contracts         v2.2.0    A generic function and convention to trigger deprecation notices
symfony/event-dispatcher              v5.2.3    Provides tools that allow your application components to communicate with each other by dispatching events and listening to them
symfony/event-dispatcher-contracts    v2.2.0    Generic abstractions related to dispatching event
symfony/filesystem                    v5.2.3    Provides basic utilities for the filesystem
symfony/finder                        v5.2.3    Finds files and directories via an intuitive fluent interface
symfony/polyfill-ctype                v1.22.0   Symfony polyfill for ctype functions
symfony/polyfill-intl-grapheme        v1.22.0   Symfony polyfill for intl's grapheme_* functions
symfony/polyfill-intl-normalizer      v1.22.0   Symfony polyfill for intl's Normalizer class and related functions
symfony/polyfill-mbstring             v1.22.0   Symfony polyfill for the Mbstring extension
symfony/polyfill-php73                v1.22.0   Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions
symfony/polyfill-php80                v1.22.0   Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions
symfony/serializer                    v5.2.3    Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.
symfony/service-contracts             v2.2.0    Generic abstractions related to writing services
symfony/stopwatch                     v5.2.3    Provides a way to profile code
symfony/string                        v5.2.3    Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way
vimeo/psalm                           3.18.2    A static analysis tool for finding errors in PHP applications
webmozart/assert                      1.9.1     Assertions to validate method input/output with nice error messages.
webmozart/glob                        4.3.0     A PHP implementation of Ant's glob.
webmozart/path-util                   2.3.0     A robust cross-platform utility for normalizing, comparing and modifying file paths.

@llaville
Copy link
Owner

llaville commented Feb 4, 2021

and about source code analysed ? what is the source code ? specific version or a branch ?

@landy2005
Copy link

yah, this is private source of our project.

but available open community source by this link: observium-ce
I not know if here will same error.

@llaville
Copy link
Owner

llaville commented Feb 5, 2021

sorry but still cannot reproduced issue. Here are my steps

  1. mkdir test-v54
  2. cd test-v54
  3. create composer.json with following contents
{
  "require": {
    "ext-mysqli": "*",
    "ext-zlib": "*",
    "ext-sockets": "*",
    "ext-json": "*",
    "bartlett/php-compatinfo": "^5.4"
  }
}
  1. run composer update with Composer version 2.0.8 2020-12-03 17:20:38
  2. composer show give me
bartlett/php-compatinfo              5.4.2     Find out the minimum version and the extensions required for a piece of code to run
bartlett/php-compatinfo-db           2.19.0    Reference Database to be used with php-compatinfo library
bartlett/php-reflect                 4.4.1     Adds the ability to reverse-engineer classes, interfaces, functions, constants, namespaces, traits and m...
brick/math                           0.9.2     Arbitrary-precision arithmetic library
composer/package-versions-deprecated 1.11.99.1 Composer plugin that provides efficient querying for installed package versions (no runtime IO)
composer/semver                      3.2.4     Semver library that offers utilities, version constraint parsing and validation.
doctrine/collections                 1.6.7     PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.
justinrainbow/json-schema            5.2.10    A library to validate a json schema.
laminas/laminas-diagnostics          1.8.0     A set of components for performing diagnostic tests in PHP applications
laminas/laminas-zendframework-bridge 1.1.1     Alias legacy ZF class names to Laminas Project equivalents.
league/tactician                     v1.0.3    A small, flexible command bus. Handy for building service layers.
nikic/php-parser                     v4.10.4   A PHP parser written in PHP
phpdocumentor/reflection-common      2.2.0     Common reflection classes used by phpdocumentor to reflect the code structure
phpdocumentor/reflection-docblock    5.2.2     With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve i...
phpdocumentor/type-resolver          1.4.0     A PSR-5 based resolver of Class names, Types and Structural Element Names
psr/container                        1.0.0     Common Container Interface (PHP FIG PSR-11)
psr/event-dispatcher                 1.0.0     Standard interfaces for event handling.
psr/log                              1.1.3     Common interface for logging libraries
ramsey/collection                    1.1.3     A PHP 7.2+ library for representing and manipulating collections.
ramsey/uuid                          4.1.1     A PHP library for generating and working with universally unique identifiers (UUIDs).
sebastian/version                    2.0.1     Library that helps with managing the version number of Git-hosted PHP projects
seld/jsonlint                        1.8.3     JSON Linter
symfony/config                       v5.2.3    Helps you find, load, combine, autofill and validate configuration values of any kind
symfony/console                      v5.2.3    Eases the creation of beautiful and testable command line interfaces
symfony/dependency-injection         v5.2.3    Allows you to standardize and centralize the way objects are constructed in your application
symfony/deprecation-contracts        v2.2.0    A generic function and convention to trigger deprecation notices
symfony/event-dispatcher             v5.2.3    Provides tools that allow your application components to communicate with each other by dispatching even...
symfony/event-dispatcher-contracts   v2.2.0    Generic abstractions related to dispatching event
symfony/filesystem                   v5.2.3    Provides basic utilities for the filesystem
symfony/finder                       v5.2.3    Finds files and directories via an intuitive fluent interface
symfony/polyfill-ctype               v1.22.0   Symfony polyfill for ctype functions
symfony/polyfill-intl-grapheme       v1.22.0   Symfony polyfill for intl's grapheme_* functions
symfony/polyfill-intl-normalizer     v1.22.0   Symfony polyfill for intl's Normalizer class and related functions
symfony/polyfill-mbstring            v1.22.0   Symfony polyfill for the Mbstring extension
symfony/polyfill-php73               v1.22.0   Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions
symfony/polyfill-php80               v1.22.0   Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions
symfony/serializer                   v5.2.3    Handles serializing and deserializing data structures, including object graphs, into array structures or...
symfony/service-contracts            v2.2.0    Generic abstractions related to writing services
symfony/stopwatch                    v5.2.3    Provides a way to profile code
symfony/string                       v5.2.3    Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters...
webmozart/assert                     1.9.1     Assertions to validate method input/output with nice error messages.

WARNING Already some differences with your installation
6. get source code wget https://github.com/FriendsOfPHP/proxy-manager-lts/archive/v1.0.3.tar.gz
7. untar source code tar -xvf v1.0.3.tar.gz
8. then finally run analysis on source code vendor/bin/phpcompatinfo analyser:run --profile proxy-manager-lts-1.0.3/

That gave me report without error

Data Source Analysed

Directories                                         36
Files                                              141
Errors                                               0


Extensions Analysis

    Extension  REF        EXT min/Max PHP min/Max
    Core       Core       7.0.2       7.1.0
    Reflection Reflection 5.0.0       7.1.0
    pcre       pcre       4.0.0       4.0.0
    spl        spl        5.1.0       5.3.0
    standard   standard   5.2.1       5.2.1
    Total [5]                         7.1.0

Namespaces Analysis

    Namespace                                                                        REF      EXT min/Max PHP min/Max
    ProxyManager                                                                     standard 5.2.1       7.1.0
    ProxyManager\Autoloader                                                          standard 4.0.0       7.0.0
    ProxyManager\Exception                                                           Core     7.0.2       7.0.2
    ProxyManager\Factory                                                             Core     5.3.9       7.1.0
    ProxyManager\Factory\RemoteObject                                                user                 7.0.0
    ProxyManager\Factory\RemoteObject\Adapter                                        user                 7.0.0
    ProxyManager\FileLocator                                                         standard 4.0.6       7.0.0
    ProxyManager\Generator                                                           user                 7.1.0
    ProxyManager\GeneratorStrategy                                                   Core     5.3.0       7.0.2
    ProxyManager\Generator\Util                                                      standard 4.0.0       7.0.0
    ProxyManager\Inflector                                                           standard 4.0.0       7.0.0
    ProxyManager\Inflector\Util                                                      standard 4.0.0       7.0.0alpha1
    ProxyManager\Proxy                                                               user                 7.1.0
    ProxyManager\ProxyGenerator                                                      Core     5.0.0       7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator      user                 7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\Util standard 4.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator         user                 5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\Util    user                 7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptor\MethodGenerator                    user                 5.3.0
    ProxyManager\ProxyGenerator\AccessInterceptor\PropertyGenerator                  user                 5.4.0
    ProxyManager\ProxyGenerator\Assertion                                            spl      5.1.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator                     user                 7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator                   user                 7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator               Core     5.0.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\PropertyGenerator             Core     4.0.0       7.0.0
    ProxyManager\ProxyGenerator\LazyLoading\MethodGenerator                          user                 5.4.0
    ProxyManager\ProxyGenerator\NullObject\MethodGenerator                           user                 7.0.0alpha1
    ProxyManager\ProxyGenerator\PropertyGenerator                                    user                 7.0.0alpha1
    ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator                         standard 4.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\RemoteObject\PropertyGenerator                       user                 5.3.0
    ProxyManager\ProxyGenerator\Util                                                 Core     5.2.7       7.1.0
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator                          standard 5.0.0       7.1.0
    ProxyManager\Proxy\Exception                                                     user                 5.3.0
    ProxyManager\Signature                                                           standard 4.0.0       7.1.0
    ProxyManager\Signature\Exception                                                 user                 5.3.0
    ProxyManager\Stub                                                                user                 5.3.0
    Total [36]                                                                                            7.1.0

Interfaces Analysis

    Interface                                                 REF        EXT min/Max PHP min/Max
    Closure                                                   Core       5.3.0       5.3.0
    ProxyManager\Autoloader\AutoloaderInterface               user                   7.0.0
    ProxyManager\Exception\ExceptionInterface                 Core       7.0.2       7.0.2
    ProxyManager\Factory\RemoteObject\AdapterInterface        user                   7.0.0
    ProxyManager\FileLocator\FileLocatorInterface             user                   7.0.0
    ProxyManager\GeneratorStrategy\GeneratorStrategyInterface user                   7.0.0alpha1
    ProxyManager\Inflector\ClassNameInflectorInterface        user                   7.0.0
    ProxyManager\ProxyGenerator\ProxyGeneratorInterface       user                   5.3.0
    ProxyManager\Proxy\AccessInterceptorInterface             user                   7.1.0
    ProxyManager\Proxy\AccessInterceptorValueHolderInterface  user                   7.1.0
    ProxyManager\Proxy\FallbackValueHolderInterface           user                   5.3.0
    ProxyManager\Proxy\GhostObjectInterface                   user                   7.1.0
    ProxyManager\Proxy\LazyLoadingInterface                   user                   7.1.0
    ProxyManager\Proxy\NullObjectInterface                    user                   5.3.0
    ProxyManager\Proxy\ProxyInterface                         user                   4.0.0
    ProxyManager\Proxy\RemoteObjectInterface                  user                   5.3.0
    ProxyManager\Proxy\SmartReferenceInterface                user                   5.3.0
    ProxyManager\Proxy\ValueHolderInterface                   user                   5.3.0
    ProxyManager\Proxy\VirtualProxyInterface                  user                   5.3.0
    ProxyManager\Signature\ClassSignatureGeneratorInterface   user                   7.0.0alpha1
    ProxyManager\Signature\Exception\ExceptionInterface       user                   4.0.0
    ProxyManager\Signature\SignatureCheckerInterface          user                   7.1.0
    ProxyManager\Signature\SignatureGeneratorInterface        user                   7.0.0alpha1
    ReflectionClass                                           Reflection 5.0.0       5.0.0
    ReflectionMethod                                          Reflection 5.0.0       5.0.0
    ReflectionProperty                                        Reflection 5.0.0       5.0.0
    Throwable                                                 Core       7.0.2       7.0.2
    Total [27]                                                                       7.1.0

No trait found

Classes Analysis

    Class                                                                                                 REF        EXT min/Max PHP min/Max
    BadMethodCallException                                                                                spl        5.1.0       5.1.0
    Closure                                                                                               Core       5.3.0       5.3.0
    ErrorException                                                                                        Core       5.1.0       5.1.0
    InvalidArgumentException                                                                              spl        5.1.0       5.1.0
  U Laminas\Code\Generator\ClassGenerator                                                                 user                   5.3.0
  U Laminas\Code\Generator\DocBlockGenerator                                                              user                   5.3.0
  U Laminas\Code\Generator\MethodGenerator                                                                user                   5.3.0
  U Laminas\Code\Generator\ParameterGenerator                                                             user                   5.3.0
  U Laminas\Code\Generator\PropertyGenerator                                                              user                   5.3.0
  U Laminas\Code\Reflection\MethodReflection                                                              user                   5.3.0
  U Laminas\Code\Reflection\ParameterReflection                                                           user                   5.3.0
  U Laminas\Server\Client                                                                                 user                   5.3.0
    ProxyManager\Autoloader\Autoloader                                                                    standard   4.0.0       7.0.0
  U ProxyManager\Autoloader\AutoloaderInterface                                                           user                   5.3.0
    ProxyManager\Configuration                                                                            standard   5.2.1       7.1.0
    ProxyManager\Exception\DisabledMethodException                                                        spl        5.1.0       7.0.0
    ProxyManager\Exception\FileNotWritableException                                                       Core       7.0.2       7.0.2
    ProxyManager\Exception\InvalidProxiedClassException                                                   spl        5.1.0       7.0.0alpha1
    ProxyManager\Exception\InvalidProxyDirectoryException                                                 spl        5.1.0       5.3.0
    ProxyManager\Exception\UnsupportedProxiedClassException                                               spl        5.1.0       7.0.0alpha1
    ProxyManager\Factory\AbstractBaseFactory                                                              Core       5.3.9       7.1.0
    ProxyManager\Factory\AccessInterceptorScopeLocalizerFactory                                           user                   7.1.0
    ProxyManager\Factory\AccessInterceptorValueHolderFactory                                              user                   7.1.0
    ProxyManager\Factory\LazyLoadingGhostFactory                                                          Core       5.3.0       7.1.0
    ProxyManager\Factory\LazyLoadingValueHolderFactory                                                    Core       5.3.0       7.1.0
    ProxyManager\Factory\NullObjectFactory                                                                user                   7.1.0
    ProxyManager\Factory\RemoteObjectFactory                                                              Core       4.0.0       7.1.0
  U ProxyManager\Factory\RemoteObject\AdapterInterface                                                    user                   5.3.0
    ProxyManager\Factory\RemoteObject\Adapter\BaseAdapter                                                 user                   7.0.0
    ProxyManager\Factory\RemoteObject\Adapter\JsonRpc                                                     user                   7.0.0
    ProxyManager\Factory\RemoteObject\Adapter\Soap                                                        user                   7.0.0
    ProxyManager\Factory\RemoteObject\Adapter\XmlRpc                                                      user                   7.0.0
    ProxyManager\FileLocator\FileLocator                                                                  standard   4.0.6       7.0.0
  U ProxyManager\FileLocator\FileLocatorInterface                                                         user                   5.3.0
    ProxyManager\GeneratorStrategy\BaseGeneratorStrategy                                                  user                   7.0.0alpha1
    ProxyManager\GeneratorStrategy\EvaluatingGeneratorStrategy                                            Core       5.3.0       7.0.0alpha1
    ProxyManager\GeneratorStrategy\FileWriterGeneratorStrategy                                            Core       5.1.0       7.0.2
  U ProxyManager\GeneratorStrategy\GeneratorStrategyInterface                                             user                   5.3.0
    ProxyManager\Generator\ClassGenerator                                                                 user                   5.3.0
    ProxyManager\Generator\MagicMethodGenerator                                                           user                   7.0.0
  U ProxyManager\Generator\MethodGenerator                                                                user                   7.1.0
    ProxyManager\Generator\Util\ClassGeneratorUtils                                                       user                   4.0.0
    ProxyManager\Generator\Util\IdentifierSuffixer                                                        pcre       4.0.0       7.0.0alpha1
    ProxyManager\Generator\Util\ProxiedMethodReturnExpression                                             user                   4.0.0
    ProxyManager\Generator\Util\UniqueIdentifierGenerator                                                 standard   4.0.0       7.0.0
    ProxyManager\Inflector\ClassNameInflector                                                             standard   4.0.0       7.0.0
  U ProxyManager\Inflector\ClassNameInflectorInterface                                                    user                   5.3.0
    ProxyManager\Inflector\Util\ParameterEncoder                                                          standard   4.0.0       7.0.0alpha1
    ProxyManager\Inflector\Util\ParameterHasher                                                           standard   4.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizerGenerator                                  user                   7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\BindProxyProperties       user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\InterceptedMethod         user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicClone                user                   7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicGet                  user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicIsset                user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicSet                  user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicSleep                user                   5.3.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\MagicUnset                user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\StaticProxyConstructor    user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\Util\InterceptorGenerator standard   4.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolderGenerator                                     user                   7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\InterceptedMethod            user                   5.3.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicClone                   user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicGet                     user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicIsset                   user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicSet                     user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicUnset                   user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\StaticProxyConstructor       user                   5.4.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\Util\InterceptorGenerator    user                   7.1.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\MethodGenerator\MagicWakeup                             user                   5.3.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\MethodGenerator\SetMethodPrefixInterceptor              user                   5.3.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\MethodGenerator\SetMethodSuffixInterceptor              user                   5.3.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\PropertyGenerator\MethodPrefixInterceptors              user                   5.4.0
  U ProxyManager\ProxyGenerator\AccessInterceptor\PropertyGenerator\MethodSuffixInterceptors              user                   5.4.0
    ProxyManager\ProxyGenerator\Assertion\CanProxyAssertion                                               spl        5.1.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingGhostGenerator                                                 user                   7.1.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\CallInitializer                          user                   7.0.0alpha1
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\GetProxyInitializer                      user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\InitializeProxy                          user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\IsProxyInitialized                       user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicClone                               user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicGet                                 user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicIsset                               user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicSet                                 user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicSleep                               user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\MagicUnset                               user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\SetProxyInitializer                      user                   5.4.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\SkipDestructor                           user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\InitializationTracker                  user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\InitializerProperty                    user                   5.3.0
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\PrivatePropertiesMap                   user                   7.0.0alpha1
  U ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\ProtectedPropertiesMap                 user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingValueHolderGenerator                                           standard   4.0.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\GetProxyInitializer                user                   5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\InitializeProxy                    user                   5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\IsProxyInitialized                 user                   5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\LazyLoadingMethodInterceptor       standard   4.0.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicClone                         Reflection 5.0.0       5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicGet                           user                   7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicIsset                         Reflection 5.0.0       7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicSet                           user                   5.4.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicSleep                         Core       4.2.0       5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\MagicUnset                         user                   5.4.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\SetProxyInitializer                Core       4.0.0       5.5.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\MethodGenerator\SkipDestructor                     user                   5.3.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\PropertyGenerator\InitializerProperty              user                   7.0.0
    ProxyManager\ProxyGenerator\LazyLoadingValueHolder\PropertyGenerator\ValueHolderProperty              Core       4.0.0       5.3.0
    ProxyManager\ProxyGenerator\LazyLoading\MethodGenerator\StaticProxyConstructor                        user                   5.4.0
    ProxyManager\ProxyGenerator\NullObjectGenerator                                                       user                   7.1.0
    ProxyManager\ProxyGenerator\NullObject\MethodGenerator\NullObjectMethodInterceptor                    user                   5.3.0
  U ProxyManager\ProxyGenerator\NullObject\MethodGenerator\StaticProxyConstructor                         user                   7.0.0alpha1
  U ProxyManager\ProxyGenerator\PropertyGenerator\PublicPropertiesMap                                     user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\RemoteObjectGenerator                                                     user                   7.1.0
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\MagicGet                                     user                   5.4.0
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\MagicIsset                                   user                   5.4.0
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\MagicSet                                     user                   5.4.0
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\MagicUnset                                   user                   5.4.0
    ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\RemoteObjectMethod                           standard   4.0.0       7.0.0alpha1
  U ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\StaticProxyConstructor                       user                   5.4.0
  U ProxyManager\ProxyGenerator\RemoteObject\PropertyGenerator\AdapterProperty                            user                   5.3.0
    ProxyManager\ProxyGenerator\Util\GetMethodIfExists                                                    user                   5.0.0
    ProxyManager\ProxyGenerator\Util\Properties                                                           Core       5.2.7       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\ProxiedMethodsFilter                                                 standard   4.0.0       7.1.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator                                                 spl        5.1.0       7.1.0
    ProxyManager\ProxyGenerator\Util\UnsetPropertiesGenerator                                             standard   4.0.0       7.0.0
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\Constructor                                   standard   5.0.0       7.1.0
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\GetWrappedValueHolderValue                    user                   5.3.0
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\MagicSleep                                    user                   5.3.0
    ProxyManager\Proxy\Exception\RemoteObjectException                                                    spl        5.1.0       5.1.0
  U ProxyManager\Signature\ClassSignatureGenerator                                                        user                   7.0.0alpha1
  U ProxyManager\Signature\ClassSignatureGeneratorInterface                                               user                   5.3.0
    ProxyManager\Signature\Exception\InvalidSignatureException                                            spl        5.1.0       5.3.0
    ProxyManager\Signature\Exception\MissingSignatureException                                            spl        5.1.0       5.3.0
    ProxyManager\Signature\SignatureChecker                                                               standard   4.0.0       7.1.0
  U ProxyManager\Signature\SignatureCheckerInterface                                                      user                   5.3.0
  U ProxyManager\Signature\SignatureGenerator                                                             user                   7.0.0alpha1
  U ProxyManager\Signature\SignatureGeneratorInterface                                                    user                   5.3.0
    ProxyManager\Stub\EmptyClassStub                                                                      user                   4.0.0
    ProxyManager\Version                                                                                  user                   5.0.0
    ReflectionClass                                                                                       Reflection 5.0.0       5.0.0
    ReflectionMethod                                                                                      Reflection 5.0.0       5.0.0
    ReflectionProperty                                                                                    Reflection 5.0.0       5.0.0
  U Symfony\Component\Filesystem\Filesystem                                                               user                   5.3.0
  U array                                                                                                 user                   4.0.0
  U bool                                                                                                  user                   4.0.0
  U int                                                                                                   user                   4.0.0
    self                                                                                                  Core       5.0.0       5.0.0
  U string                                                                                                user                   4.0.0
    Total [148]                                                                                                                  7.1.0

No generator found

Functions Analysis

    Function                                                                                                                                        REF        EXT min/Max PHP min/Max
    ProxyManager\Exception\InvalidProxiedClassException\abstractProtectedMethodsNotSupported\closure-39-41                                          Reflection 5.0.0       7.0.0alpha1
    ProxyManager\Exception\InvalidProxiedClassException\abstractProtectedMethodsNotSupported\closure-44-46                                          Reflection 5.0.0       7.0.0alpha1
    ProxyManager\Exception\UnsupportedProxiedClassException\nonReferenceableLocalizedReflectionProperties\closure-39-41                             Reflection 5.0.0       7.0.0alpha1
    ProxyManager\GeneratorStrategy\FileWriterGeneratorStrategy\__construct\closure-30-34                                                            Core       5.1.0       7.0.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizerGenerator\buildMethodInterceptor\closure-92-98                                       Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizerGenerator\generate\closure-61-63                                                     user                   7.1.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\Util\InterceptorGenerator\createInterceptedMethodBody\closure-70-72 user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolderGenerator\buildMethodInterceptor\closure-131-138                                        Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolderGenerator\generate\closure-76-78                                                        user                   7.1.0
    ProxyManager\ProxyGenerator\Assertion\CanProxyAssertion\hasNoAbstractProtectedMethods\closure-61-63                                             Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingGhostGenerator\generate\closure-82-84                                                                    user                   7.1.0
    ProxyManager\ProxyGenerator\LazyLoadingGhostGenerator\getAbstractProxiedMethods\closure-149-157                                                 Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingGhost\MethodGenerator\CallInitializer\getPropertyDefaultsAssignments\closure-116-119                     Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingValueHolderGenerator\buildLazyLoadingMethodInterceptor\closure-126-150                                   standard   5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\LazyLoadingValueHolderGenerator\generate\closure-92-94                                                              user                   7.1.0
    ProxyManager\ProxyGenerator\NullObject\MethodGenerator\StaticProxyConstructor\__construct\closure-33-35                                         Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\RemoteObjectGenerator\generate\closure-60-62                                                                        user                   7.1.0
    ProxyManager\ProxyGenerator\RemoteObjectGenerator\generate\closure-65-71                                                                        Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\fromReflectionClass\closure-49-57                                                                   standard   5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\fromReflectionClass\closure-49-57\closure-52-55                                                     Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\onlyNonReferenceableProperties\closure-77-87                                                        Core       5.2.7       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\onlyNullableProperties\closure-125-133                                                              Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\Properties\withoutNonReferenceableProperties\closure-101-118                                                   standard   5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\ProxiedMethodsFilter\doFilter\closure-68-73                                                                    standard   5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\getPublicAccessSimulationCode\closure-84-84                                               user                   7.0.0
    ProxyManager\ProxyGenerator\Util\UnsetPropertiesGenerator\generateUnsetStatement\closure-94-96                                                  Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\Constructor\generateOriginalConstructorCall\closure-64-66                               user                   7.0.0alpha1
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\Constructor\getConstructor\closure-76-81                                                Reflection 5.0.0       7.0.0alpha1
    ProxyManager\ProxyGenerator\ValueHolder\MethodGenerator\Constructor\getConstructor\closure-84-86                                                Reflection 5.0.0       7.0.0alpha1
    array_filter                                                                                                                                    standard   4.0.6       4.0.6
    array_flip                                                                                                                                      standard   4.0.0       4.0.0
    array_key_exists                                                                                                                                standard   4.0.7       4.0.7
    array_keys                                                                                                                                      standard   4.0.0       4.0.0
    array_map                                                                                                                                       standard   4.0.6       4.0.6
    array_merge                                                                                                                                     standard   4.0.0       4.0.0
    array_values                                                                                                                                    standard   4.0.0       4.0.0
    assert                                                                                                                                          standard   4.0.0       4.0.0
    base64_encode                                                                                                                                   standard   4.0.0       4.0.0
    class_exists                                                                                                                                    Core       5.0.0       5.0.0
    count                                                                                                                                           standard   4.0.0       4.0.0
    error_reporting                                                                                                                                 Core       4.0.0       4.0.0
    file_exists                                                                                                                                     standard   4.0.0       4.0.0
    func_get_arg                                                                                                                                    Core       4.0.0       4.0.0
    func_num_args                                                                                                                                   Core       4.0.0       4.0.0
    get_class                                                                                                                                       Core       4.0.0       4.0.0
    implode                                                                                                                                         standard   4.0.0       4.0.0
    ini_get                                                                                                                                         standard   4.0.0       4.0.0
    is_a                                                                                                                                            Core       5.3.9       5.3.9
    is_int                                                                                                                                          standard   4.0.0       4.0.0
    is_object                                                                                                                                       standard   4.0.0       4.0.0
    is_string                                                                                                                                       standard   4.0.0       4.0.0
    ltrim                                                                                                                                           standard   4.0.0       4.0.0
    md5                                                                                                                                             standard   4.0.0       4.0.0
    preg_match                                                                                                                                      pcre       4.0.0       4.0.0
    realpath                                                                                                                                        standard   4.0.0       4.0.0
    reset                                                                                                                                           standard   4.0.0       4.0.0
    restore_error_handler                                                                                                                           Core       4.0.1       4.0.1
    serialize                                                                                                                                       standard   4.0.0       4.0.0
    set_error_handler                                                                                                                               Core       4.0.1       4.0.1
    sha1                                                                                                                                            standard   4.3.0       4.3.0
    sprintf                                                                                                                                         standard   4.0.0       4.0.0
    str_replace                                                                                                                                     standard   4.0.0       4.0.0
    strlen                                                                                                                                          Core       4.0.0       4.0.0
    strrpos                                                                                                                                         standard   4.0.0       4.0.0
    strtolower                                                                                                                                      standard   4.0.0       4.0.0
    strtr                                                                                                                                           standard   4.0.0       4.0.0
    substr                                                                                                                                          standard   4.0.0       4.0.0
    sys_get_temp_dir                                                                                                                                standard   5.2.1       5.2.1
    uniqid                                                                                                                                          standard   4.0.0       4.0.0
    unlink                                                                                                                                          standard   4.0.0       4.0.0
    var_export                                                                                                                                      standard   4.2.0       4.2.0
    Total [71]
               7.1.0

Constants Analysis

    Constant                                                                                                       REF      EXT min/Max PHP min/Max
    DIRECTORY_SEPARATOR                                                                                            standard 4.0.6       4.0.6
    PHP_VERSION_ID                                                                                                 Core     5.2.7       5.2.7
    ProxyManager\Configuration\DEFAULT_PROXY_NAMESPACE                                                             user                 4.0.0
    ProxyManager\Exception\DisabledMethodException\NAME                                                            user                 4.0.0
    ProxyManager\Generator\Util\IdentifierSuffixer\DEFAULT_IDENTIFIER                                              user                 4.0.0
    ProxyManager\Generator\Util\IdentifierSuffixer\VALID_IDENTIFIER_FORMAT                                         user                 4.0.0
    ProxyManager\Generator\Util\UniqueIdentifierGenerator\DEFAULT_IDENTIFIER                                       user                 4.0.0
    ProxyManager\Generator\Util\UniqueIdentifierGenerator\VALID_IDENTIFIER_FORMAT                                  user                 4.0.0
    ProxyManager\Inflector\ClassNameInflectorInterface\PROXY_MARKER                                                user                 4.0.0
    ProxyManager\ProxyGenerator\AccessInterceptorScopeLocalizer\MethodGenerator\Util\InterceptorGenerator\TEMPLATE user                 4.0.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\MagicClone\TEMPLATE                   user                 4.0.0
    ProxyManager\ProxyGenerator\AccessInterceptorValueHolder\MethodGenerator\Util\InterceptorGenerator\TEMPLATE    user                 4.0.0
    ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\PrivatePropertiesMap\KEY_DEFAULT_VALUE          user                 4.0.0
    ProxyManager\ProxyGenerator\LazyLoadingGhost\PropertyGenerator\ProtectedPropertiesMap\KEY_DEFAULT_VALUE        user                 4.0.0
    ProxyManager\ProxyGenerator\RemoteObject\MethodGenerator\RemoteObjectMethod\TEMPLATE                           user                 4.0.0
    ProxyManager\ProxyGenerator\Util\ProxiedMethodsFilter\DEFAULT_EXCLUDED                                         user                 5.4.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\OPERATION_GET                                            user                 4.0.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\OPERATION_ISSET                                          user                 4.0.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\OPERATION_SET                                            user                 4.0.0
    ProxyManager\ProxyGenerator\Util\PublicScopeSimulator\OPERATION_UNSET                                          user                 4.0.0
    ProxyManager\ProxyGenerator\Util\UnsetPropertiesGenerator\CLOSURE_TEMPLATE                                     user                 4.0.0
    __DIR__                                                                                                        Core     5.3.0       5.3.0
    false                                                                                                          Core     4.0.0       4.0.0
    null                                                                                                           Core     4.0.0       4.0.0
    true                                                                                                           Core     4.0.0       4.0.0
    Total [25]                                                                                                                          5.4.0

No condition found

Requires PHP 7.1.0 (min)

Time: 1.34 seconds, Memory: 26.00Mb

My platform is :

  • php -v
PHP 7.4.14 (cli) (built: Jan  7 2021 17:31:07) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.14, Copyright (c), by Zend Technologies
    with Xdebug v3.0.2, Copyright (c) 2002-2021, by Derick Rethans
  • composer show -p
composer-plugin-api        2.0.0     The Composer Plugin API
composer-runtime-api       2.0.0     The Composer Runtime API
ext-amqp                   1.10.2    The amqp PHP extension
ext-apcu                   5.1.19    The apcu PHP extension
ext-bcmath                 7.4.14    The bcmath PHP extension
ext-bz2                    7.4.14    The bz2 PHP extension
ext-calendar               7.4.14    The calendar PHP extension
ext-ctype                  7.4.14    The ctype PHP extension
ext-curl                   7.4.14    The curl PHP extension
ext-date                   7.4.14    The date PHP extension
ext-dba                    7.4.14    The dba PHP extension
ext-dom                    20031129  The dom PHP extension
ext-enchant                7.4.14    The enchant PHP extension
ext-exif                   7.4.14    The exif PHP extension
ext-ffi                    0.1.0     The FFI PHP extension
ext-fileinfo               7.4.14    The fileinfo PHP extension
ext-filter                 7.4.14    The filter PHP extension
ext-ftp                    7.4.14    The ftp PHP extension
ext-gd                     7.4.14    The gd PHP extension
ext-gettext                7.4.14    The gettext PHP extension
ext-gmp                    7.4.14    The gmp PHP extension
ext-hash                   7.4.14    The hash PHP extension
ext-iconv                  7.4.14    The iconv PHP extension
ext-igbinary               3.2.1     The igbinary PHP extension
ext-imagick                3.4.4     The imagick PHP extension
ext-imap                   7.4.14    The imap PHP extension
ext-intl                   7.4.14    The intl PHP extension
ext-json                   7.4.14    The json PHP extension
ext-ldap                   7.4.14    The ldap PHP extension
ext-libxml                 7.4.14    The libxml PHP extension
ext-mbstring               7.4.14    The mbstring PHP extension
ext-mcrypt                 1.0.4     The mcrypt PHP extension
ext-memcache               4.0.5.2   The memcache PHP extension
ext-memcached              3.1.5     The memcached PHP extension
ext-mongodb                1.9.0     The mongodb PHP extension
ext-msgpack                2.1.2     The msgpack PHP extension
ext-mysqli                 7.4.14    The mysqli PHP extension
ext-mysqlnd                0         The mysqlnd PHP extension (actual version: mysqlnd 7.4.14)
ext-oauth                  2.0.7     The OAuth PHP extension
ext-openssl                7.4.14    The openssl PHP extension
ext-pcntl                  7.4.14    The pcntl PHP extension
ext-pcre                   7.4.14    The pcre PHP extension
ext-pdo                    7.4.14    The PDO PHP extension
ext-pdo_dblib              7.4.14    The pdo_dblib PHP extension
ext-pdo_firebird           7.4.14    The PDO_Firebird PHP extension
ext-pdo_mysql              7.4.14    The pdo_mysql PHP extension
ext-pdo_oci                7.4.14    The PDO_OCI PHP extension
ext-pdo_pgsql              7.4.14    The pdo_pgsql PHP extension
ext-pdo_sqlite             7.4.14    The pdo_sqlite PHP extension
ext-pgsql                  7.4.14    The pgsql PHP extension
ext-phalcon                4.1.0     The phalcon PHP extension
ext-phar                   7.4.14    The Phar PHP extension
ext-posix                  7.4.14    The posix PHP extension
ext-pspell                 7.4.14    The pspell PHP extension
ext-psr                    1.0.1     The psr PHP extension
ext-readline               7.4.14    The readline PHP extension
ext-redis                  5.3.2     The redis PHP extension
ext-reflection             7.4.14    The Reflection PHP extension
ext-session                7.4.14    The session PHP extension
ext-shmop                  7.4.14    The shmop PHP extension
ext-simplexml              7.4.14    The SimpleXML PHP extension
ext-snmp                   7.4.14    The snmp PHP extension
ext-soap                   7.4.14    The soap PHP extension
ext-sockets                7.4.14    The sockets PHP extension
ext-sodium                 7.4.14    The sodium PHP extension
ext-solr                   2.5.1     The solr PHP extension
ext-spl                    7.4.14    The SPL PHP extension
ext-sqlite3                7.4.14    The sqlite3 PHP extension
ext-ssh2                   1.2       The ssh2 PHP extension
ext-sysvmsg                7.4.14    The sysvmsg PHP extension
ext-sysvsem                7.4.14    The sysvsem PHP extension
ext-sysvshm                7.4.14    The sysvshm PHP extension
ext-tidy                   7.4.14    The tidy PHP extension
ext-tokenizer              7.4.14    The tokenizer PHP extension
ext-uploadprogress         1.1.3     The uploadprogress PHP extension
ext-vips                   1.0.12    The vips PHP extension
ext-xdebug                 3.0.2     The xdebug PHP extension
ext-xlswriter              1.3.7     The xlswriter PHP extension
ext-xml                    7.4.14    The xml PHP extension
ext-xmlreader              7.4.14    The xmlreader PHP extension
ext-xmlrpc                 7.4.14    The xmlrpc PHP extension
ext-xmlwriter              7.4.14    The xmlwriter PHP extension
ext-xsl                    7.4.14    The xsl PHP extension
ext-yaml                   2.2.1     The yaml PHP extension
ext-zend-opcache           7.4.14    The Zend OPcache PHP extension
ext-zip                    1.15.6    The zip PHP extension
ext-zlib                   7.4.14    The zlib PHP extension
lib-amqp-librabbitmq       0.9.0     AMQP librabbitmq version
lib-amqp-protocol          0.9.1     AMQP protocol version
lib-bz2                    1.0.6     The bz2 library
lib-curl                   7.64.0    The curl library
lib-curl-libssh2           1.8.0     curl libssh2 version
lib-curl-openssl           1.1.1.4   curl OpenSSL version (1.1.1.4)
lib-curl-zlib              1.2.11    curl zlib version
lib-date-timelib           2018.04   date timelib version
lib-date-zoneinfo          2020.4    zoneinfo ("Olson") database for date
lib-fileinfo-libmagic      537       fileinfo libmagic version
lib-gd                     2.0.35    The gd library
lib-gd-freetype            2.9.1     freetype version for gd
lib-gd-libjpeg             6.2       libjpeg version for gd
lib-gd-libpng              1.6.36    libpng version for gd
lib-gd-libxpm              3.4.11    libxpm version for gd
lib-gmp                    6.1.2     The gmp library
lib-iconv                  2.28      The iconv library
lib-icu                    63.1      The ICU unicode and globalization support library
lib-icu-cldr               2.1.44.91 ICU CLDR project version
lib-icu-unicode            11.0.0    ICU unicode version
lib-icu-zoneinfo           2018.5    zoneinfo ("Olson") database for icu
lib-imagick-imagemagick    6.9.10.23 The imagick-imagemagick library
lib-ldap-openldap          2.4.47    OpenLDAP version of ldap
lib-libsodium              1.0.17    The libsodium library
lib-libxml                 2.9.4     libxml library version
lib-libxslt                1.1.32    The libxslt library
lib-libxslt-libxml         2.9.4     libxml version libxslt is compiled against
lib-mbstring-libmbfl       1.3.2     mbstring libmbfl version
lib-mbstring-oniguruma     6.9.1     mbstring oniguruma version
lib-memcached-libmemcached 1.0.18    libmemcached version
lib-mongodb-libbson        1.17.2    libbson version of mongodb
lib-mongodb-libmongoc      1.17.2    libmongoc version of mongodb
lib-openssl                1.1.1.4   OpenSSL 1.1.1d  10 Sep 2019
lib-pcre                   10.35     The pcre library
lib-pcre-unicode           13.0.0    PCRE Unicode version support
lib-pdo_sqlite-sqlite      3.27.2    The pdo_sqlite-sqlite library
lib-sqlite3-sqlite         3.27.2    The sqlite3-sqlite library
lib-ssh2-libssh2           1.8.0     The ssh2-libssh2 library
lib-yaml-libyaml           0.2.1     libyaml version of yaml
lib-zip-libzip             1.5.1     The zip-libzip library
lib-zlib                   1.2.11    The zlib library
php                        7.4.14    The PHP interpreter
php-64bit                  7.4.14    The PHP interpreter, 64bit
php-ipv6                   7.4.14    The PHP interpreter, with IPv6 support

I cannot fix an issue that I can't reproduce !

@llaville
Copy link
Owner

As I'm not able to reproduce this issue, if one of you @remicollet, @landy2005 can do the change and test for me, to see if it solve the problem.

Replaces https://github.com/llaville/php-compat-info/blob/master/src/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php#L166-L188
By content of branch 6.0 https://github.com/llaville/php-compat-info/blob/6.0/src/Application/PhpParser/NodeVisitor/VersionResolverVisitor.php#L173-L203

Thanks in advance.

@remicollet
Copy link
Contributor Author

remicollet commented Feb 10, 2021

It breaks somewhere else

Fatal error: Uncaught Error: Object of class PhpParser\Node\UnionType could not be converted to string in /usr/share/php/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php:115
Stack trace:
#0 /usr/share/php/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php(88): Bartlett\CompatInfo\PhpParser\NodeVisitor\VersionResolverVisitor->handleParameters(Object(PhpParser\Node\Stmt\ClassMethod), Array)
#1 /usr/share/php/PhpParser4/NodeTraverser.php(200): Bartlett\CompatInfo\PhpParser\NodeVisitor\VersionResolverVisitor->enterNode(Object(PhpParser\Node\Stmt\ClassMethod))
#2 /usr/share/php/PhpParser4/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray(Array)
#3 /usr/share/php/PhpParser4/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node\Stmt\Class_))
#4 /usr/share/php/PhpParser4/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray(Array)
#5 /usr/share/php/PhpParser4/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode(Object(PhpParser\Node in /usr/share/php/Bartlett/CompatInfo/PhpParser/NodeVisitor/VersionResolverVisitor.php on line 115

@remicollet
Copy link
Contributor Author

I'm able to run analysis on https://github.com/FriendsOfPHP/proxy-manager-lts/archive/v1.0.3.tar.gz source code.

Please try on git snapshot
Source code is very minimal because of the fucking .gitattributes

@llaville
Copy link
Owner

@remicollet Very strange. I've cloned the proxy-manger project, and run analysis on src folder, and got no errors !

@remicollet
Copy link
Contributor Author

I've cloned the proxy-manger project, and run analysis on src folder, and got no errors !

Run it on the top folder to include everything, src, test, bin, ...

@llaville
Copy link
Owner

llaville commented Feb 10, 2021

Ok got it now, I can reproduce, and I'll investigate.

Found origin of issue : https://github.com/FriendsOfPHP/proxy-manager-lts/blob/1.x/tests/ProxyManagerTestAsset/ClassWithPhp80TypedMethods.php#L19-L20

With corresponding nodes dump

                   1: Stmt_ClassMethod(
                        attrGroups: array(
                        )
                        flags: MODIFIER_PUBLIC (1)
                        byRef: false
                        name: Identifier(
                            name: falseType
                        )
                        params: array(
                            0: Param(
                                attrGroups: array(
                                )
                                flags: 0
                                type: UnionType(
                                    types: array(
                                        0: Identifier(
                                            name: false
                                        )
                                        1: Name(
                                            parts: array(
                                                0: self
                                            )
                                        )
                                    )
                                )
                                byRef: false
                                variadic: false
                                var: Expr_Variable(
                                    name: parameter
                                )
                                default: null
                            )
                        )
                        returnType: UnionType(
                            types: array(
                                0: Identifier(
                                    name: false
                                )
                                1: Name(
                                    parts: array(
                                        0: self
                                    )
                                )
                            )
                        )

Will provide a patch for bug fix release 5.4.3, and 6.0.x-dev tomorrow.

@llaville
Copy link
Owner

@remicollet branch 5.4 is available with fix. Waiting your green light before to release the new bug fix release 5.4.3

llaville added a commit that referenced this issue Feb 11, 2021
@llaville llaville self-assigned this Feb 12, 2021
@llaville llaville added the bug label Feb 12, 2021
@llaville
Copy link
Owner

Bug fix release 5.4.3 is on way !

@remicollet
Copy link
Contributor Author

Sorry being late (mostly offline last week, and also this week)

So I confirm 5.4.3 works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants