Closed remicollet closed 3 years ago
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)
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
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)
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
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.
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.
and about source code analysed ? what is the source code ? specific version or a branch ?
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.
sorry but still cannot reproduced issue. Here are my steps
mkdir test-v54
cd test-v54
composer.json
with following contents
{
"require": {
"ext-mysqli": "*",
"ext-zlib": "*",
"ext-sockets": "*",
"ext-json": "*",
"bartlett/php-compatinfo": "^5.4"
}
}
composer update
with Composer version 2.0.8 2020-12-03 17:20:38
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
wget https://github.com/FriendsOfPHP/proxy-manager-lts/archive/v1.0.3.tar.gz
tar -xvf v1.0.3.tar.gz
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 !
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.
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
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
@remicollet Very strange. I've cloned the proxy-manger project, and run analysis on src
folder, and got no errors !
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, ...
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.
@remicollet branch 5.4 is available with fix. Waiting your green light before to release the new bug fix release 5.4.3
Bug fix release 5.4.3 is on way !
Sorry being late (mostly offline last week, and also this week)
So I confirm 5.4.3 works.
Trying to analyse https://github.com/FriendsOfPHP/proxy-manager-lts