Skip to content
Snippets Groups Projects
Commit 318499d0 authored by David Prévot's avatar David Prévot
Browse files

New upstream version 2.11.1+1.0.16

parents be1d391b ecadbdc9
Branches upstream-lts
Tags upstream/2.11.1+1.0.16
No related merge requests found
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
"require": { "require": {
"php": ">=7.1", "php": ">=7.1",
"laminas/laminas-code": "~3.4.1|^4.0", "laminas/laminas-code": "~3.4.1|^4.0",
"symfony/filesystem": "^4.4.17|^5.0|^6.0" "symfony/filesystem": "^4.4.17|^5.0|^6.0|^7.0"
}, },
"conflict": { "conflict": {
"zendframework/zend-stdlib": "<3.2.1", "zendframework/zend-stdlib": "<3.2.1",
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
}, },
"require-dev": { "require-dev": {
"ext-phar": "*", "ext-phar": "*",
"symfony/phpunit-bridge": "^5.4|^6.0" "symfony/phpunit-bridge": "^5.4|^6.0|^7.0"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
......
...@@ -5,48 +5,14 @@ declare(strict_types=1); ...@@ -5,48 +5,14 @@ declare(strict_types=1);
namespace ProxyManager\Generator; namespace ProxyManager\Generator;
use Laminas\Code\Generator\ClassGenerator as LaminasClassGenerator; use Laminas\Code\Generator\ClassGenerator as LaminasClassGenerator;
use ReflectionParameter;
use function method_exists;
/** /**
* Class generator that ensures that interfaces/classes that are implemented/extended are FQCNs * Class generator that ensures that interfaces/classes that are implemented/extended are FQCNs
* *
* @internal do not use this in your code: it is only here for internal use * @internal do not use this in your code: it is only here for internal use
* @deprecated this class was in use due to parent implementation not receiving prompt bugfixes, but
* `laminas/laminas-code` is actively maintained and receives quick release iterations.
*/ */
class ClassGenerator extends LaminasClassGenerator class ClassGenerator extends LaminasClassGenerator
{ {
public function generate(): string
{
$extendedClass = $this->getExtendedClass();
foreach ($this->getMethods() as $method) {
$class = $extendedClass;
if ($class === null) {
foreach ($this->getImplementedInterfaces() as $interface) {
if (method_exists($interface, $method->getName())) {
$class = $interface;
break;
}
}
}
if ($class === null || ! method_exists($class, $method->getName())) {
continue;
}
foreach ($method->getParameters() as $parameter) {
$default = $parameter->getDefaultValue();
if ($default === null) {
continue;
}
$parameter->setDefaultValue(new ValueGenerator($default, new ReflectionParameter([$class, $method->getName()], $parameter->getName())));
}
}
return parent::generate();
}
} }
...@@ -10,6 +10,7 @@ use Laminas\Code\Generator\ParameterGenerator; ...@@ -10,6 +10,7 @@ use Laminas\Code\Generator\ParameterGenerator;
use Laminas\Code\Reflection\MethodReflection; use Laminas\Code\Reflection\MethodReflection;
use ReflectionException; use ReflectionException;
use ReflectionMethod; use ReflectionMethod;
use ReflectionParameter;
/** /**
* Method generator that fixes minor quirks in ZF2's method generator * Method generator that fixes minor quirks in ZF2's method generator
...@@ -61,9 +62,14 @@ class MethodGenerator extends LaminasMethodGenerator ...@@ -61,9 +62,14 @@ class MethodGenerator extends LaminasMethodGenerator
$method = parent::copyMethodSignature($reflectionMethod); $method = parent::copyMethodSignature($reflectionMethod);
foreach ($reflectionMethod->getParameters() as $reflectionParameter) { foreach ($reflectionMethod->getParameters() as $reflectionParameter) {
$method->setParameter( $parameter = ParameterGenerator::fromReflection($reflectionParameter);
ParameterGenerator::fromReflection($reflectionParameter) $default = $parameter->getDefaultValue();
);
if ($default !== null) {
$parameter->setDefaultValue(new ValueGenerator($default, $reflectionParameter));
}
$method->setParameter($parameter);
} }
return $method; return $method;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment