Skip to content

Commit 7ce53be

Browse files
VincentLangletondrejmirtes
authored andcommitted
Use SoapClientMethodsClassReflectionExtension as last extension
1 parent a12642a commit 7ce53be

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

conf/config.neon

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -838,8 +838,6 @@ services:
838838

839839
-
840840
class: PHPStan\Reflection\Php\Soap\SoapClientMethodsClassReflectionExtension
841-
tags:
842-
- phpstan.broker.methodsClassReflectionExtension
843841

844842
-
845843
class: PHPStan\Reflection\Php\EnumAllowedSubTypesClassReflectionExtension

src/DependencyInjection/Reflection/LazyClassReflectionExtensionRegistryProvider.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use PHPStan\Reflection\Mixin\MixinMethodsClassReflectionExtension;
1212
use PHPStan\Reflection\Mixin\MixinPropertiesClassReflectionExtension;
1313
use PHPStan\Reflection\Php\PhpClassReflectionExtension;
14+
use PHPStan\Reflection\Php\Soap\SoapClientMethodsClassReflectionExtension;
1415
use PHPStan\Reflection\RequireExtension\RequireExtendsMethodsClassReflectionExtension;
1516
use PHPStan\Reflection\RequireExtension\RequireExtendsPropertiesClassReflectionExtension;
1617
use function array_merge;
@@ -33,11 +34,12 @@ public function getRegistry(): ClassReflectionExtensionRegistry
3334

3435
$mixinMethodsClassReflectionExtension = $this->container->getByType(MixinMethodsClassReflectionExtension::class);
3536
$mixinPropertiesClassReflectionExtension = $this->container->getByType(MixinPropertiesClassReflectionExtension::class);
37+
$soapClientMethodsClassReflectionExtension = $this->container->getByType(SoapClientMethodsClassReflectionExtension::class);
3638

3739
$this->registry = new ClassReflectionExtensionRegistry(
3840
$this->container->getByType(Broker::class),
3941
array_merge([$phpClassReflectionExtension], $this->container->getServicesByTag(BrokerFactory::PROPERTIES_CLASS_REFLECTION_EXTENSION_TAG), [$annotationsPropertiesClassReflectionExtension, $mixinPropertiesClassReflectionExtension]),
40-
array_merge([$phpClassReflectionExtension], $this->container->getServicesByTag(BrokerFactory::METHODS_CLASS_REFLECTION_EXTENSION_TAG), [$annotationsMethodsClassReflectionExtension, $mixinMethodsClassReflectionExtension]),
42+
array_merge([$phpClassReflectionExtension], $this->container->getServicesByTag(BrokerFactory::METHODS_CLASS_REFLECTION_EXTENSION_TAG), [$annotationsMethodsClassReflectionExtension, $mixinMethodsClassReflectionExtension, $soapClientMethodsClassReflectionExtension]),
4143
$this->container->getServicesByTag(BrokerFactory::ALLOWED_SUB_TYPES_CLASS_REFLECTION_EXTENSION_TAG),
4244
$this->container->getByType(RequireExtendsPropertiesClassReflectionExtension::class),
4345
$this->container->getByType(RequireExtendsMethodsClassReflectionExtension::class),
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php declare(strict_types = 1);
2+
3+
namespace Bug12834;
4+
5+
use function PHPStan\Testing\assertType;
6+
7+
/**
8+
* @method int test()
9+
*/
10+
class HelloWorld extends \SoapClient
11+
{
12+
13+
}
14+
15+
$x = new HelloWorld("file.wsdl");
16+
assertType('int', $x->test());

0 commit comments

Comments
 (0)