diff --git a/src/Reflection/Annotations/AnnotationMethodReflection.php b/src/Reflection/Annotations/AnnotationMethodReflection.php index 4ca52b8cd8..02d0616b43 100644 --- a/src/Reflection/Annotations/AnnotationMethodReflection.php +++ b/src/Reflection/Annotations/AnnotationMethodReflection.php @@ -113,6 +113,14 @@ public function hasSideEffects(): TrinaryLogic return TrinaryLogic::createYes(); } + foreach ($this->getVariants() as $variant) { + foreach ($variant->getParameters() as $parameter) { + if ($parameter->passedByReference()->yes()) { + return TrinaryLogic::createYes(); + } + } + } + return TrinaryLogic::createMaybe(); } diff --git a/src/Reflection/Php/PhpFunctionFromParserNodeReflection.php b/src/Reflection/Php/PhpFunctionFromParserNodeReflection.php index e574aa0793..9edb2327c6 100644 --- a/src/Reflection/Php/PhpFunctionFromParserNodeReflection.php +++ b/src/Reflection/Php/PhpFunctionFromParserNodeReflection.php @@ -199,12 +199,10 @@ public function hasSideEffects(): TrinaryLogic if ($this->isPure !== null) { return TrinaryLogic::createFromBoolean(!$this->isPure); } - if ($this->variants !== null) { - foreach ($this->variants as $variant) { - foreach ($variant->getParameters() as $parameter) { - if ($parameter->passedByReference()->yes()) { - return TrinaryLogic::createYes(); - } + foreach ($this->getVariants() as $variant) { + foreach ($variant->getParameters() as $parameter) { + if ($parameter->passedByReference()->yes()) { + return TrinaryLogic::createYes(); } } } diff --git a/src/Reflection/Php/PhpFunctionReflection.php b/src/Reflection/Php/PhpFunctionReflection.php index a4cc3b5e56..71a2c16cc9 100644 --- a/src/Reflection/Php/PhpFunctionReflection.php +++ b/src/Reflection/Php/PhpFunctionReflection.php @@ -245,12 +245,10 @@ public function hasSideEffects(): TrinaryLogic if ($this->isPure !== null) { return TrinaryLogic::createFromBoolean(!$this->isPure); } - if ($this->variants !== null) { - foreach ($this->variants as $variant) { - foreach ($variant->getParameters() as $parameter) { - if ($parameter->passedByReference()->yes()) { - return TrinaryLogic::createYes(); - } + foreach ($this->getVariants() as $variant) { + foreach ($variant->getParameters() as $parameter) { + if ($parameter->passedByReference()->yes()) { + return TrinaryLogic::createYes(); } } } diff --git a/src/Reflection/Php/PhpMethodReflection.php b/src/Reflection/Php/PhpMethodReflection.php index 3953288057..e4b265d1e6 100644 --- a/src/Reflection/Php/PhpMethodReflection.php +++ b/src/Reflection/Php/PhpMethodReflection.php @@ -416,12 +416,10 @@ public function hasSideEffects(): TrinaryLogic if ($this->isPure !== null) { return TrinaryLogic::createFromBoolean(!$this->isPure); } - if ($this->variants !== null) { - foreach ($this->variants as $variant) { - foreach ($variant->getParameters() as $parameter) { - if ($parameter->passedByReference()->yes()) { - return TrinaryLogic::createYes(); - } + foreach ($this->getVariants() as $variant) { + foreach ($variant->getParameters() as $parameter) { + if ($parameter->passedByReference()->yes()) { + return TrinaryLogic::createYes(); } } }