From 466320c3363f3ff940819d4a696ece2b1a460657 Mon Sep 17 00:00:00 2001 From: DerManoMann Date: Thu, 21 Oct 2021 16:53:46 +1300 Subject: [PATCH] Prepend '\' to namespaced types --- src/Analysers/ReflectionAnalyser.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Analysers/ReflectionAnalyser.php b/src/Analysers/ReflectionAnalyser.php index d8463f664..30b181583 100644 --- a/src/Analysers/ReflectionAnalyser.php +++ b/src/Analysers/ReflectionAnalyser.php @@ -109,12 +109,6 @@ protected function analyzeFqdn(string $fqdn, Analysis $analysis, array $details) if ($parentClass = $rc->getParentClass()) { $definition['extends'] = $normaliseClass($parentClass->getName()); } -// if ($interfaceNames = $rc->getInterfaceNames()) { -// $definition[$contextType == 'class' ? 'implements' : 'extends'] = array_map($normaliseClass, $interfaceNames); -// } -// if ($traitNames = $rc->getTraitNames()) { -// $definition['traits'] = array_map($normaliseClass, $traitNames); -// } $definition[$contextType == 'class' ? 'implements' : 'extends'] = array_map($normaliseClass, $details['interfaces']); $definition['traits'] = array_map($normaliseClass, $details['traits']); @@ -151,6 +145,10 @@ protected function analyzeFqdn(string $fqdn, Analysis $analysis, array $details) $ctx->nullable = $type->allowsNull(); if ($type instanceof \ReflectionNamedType) { $ctx->type = $type->getName(); + if (false !== strpos($ctx->type, '\\')) { + // AugmentProperties expects this... + $ctx->type = '\\' . ltrim($ctx->type, '\\'); + } } } foreach ($this->annotationFactories as $annotationFactory) {