return class containing self instead of self
parent
50de9bb28e
commit
4186d8f9ce
|
@ -1064,7 +1064,9 @@ class DefinitionResolver
|
||||||
// Resolve a string like "bool" to a type object
|
// Resolve a string like "bool" to a type object
|
||||||
return $this->typeResolver->resolve($node->returnType->getText($node->getFileContents()));
|
return $this->typeResolver->resolve($node->returnType->getText($node->getFileContents()));
|
||||||
} elseif ($node->returnType->getResolvedName() === 'self') {
|
} elseif ($node->returnType->getResolvedName() === 'self') {
|
||||||
return new Types\Self_();
|
$classNode = $node->getFirstAncestor(Node\Statement\ClassDeclaration::class);
|
||||||
|
$classFqn = (string)$classNode->getNamespacedName();
|
||||||
|
return new Types\Object_(new Fqsen('\\' . $classFqn));
|
||||||
}
|
}
|
||||||
return new Types\Object_(new Fqsen('\\' . (string)$node->returnType->getResolvedName()));
|
return new Types\Object_(new Fqsen('\\' . (string)$node->returnType->getResolvedName()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -588,7 +588,7 @@ class CompletionTest extends TestCase
|
||||||
new CompletionItem(
|
new CompletionItem(
|
||||||
'foo',
|
'foo',
|
||||||
CompletionItemKind::METHOD,
|
CompletionItemKind::METHOD,
|
||||||
'self',
|
'\FooClass',
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
null,
|
null,
|
||||||
|
|
Loading…
Reference in New Issue