1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-02 09:37:59 +01:00

Allow type aliases for static variables

Fixes #3837
This commit is contained in:
robchett 2023-11-09 16:44:53 +00:00
parent b775d297bb
commit 70075e778c
2 changed files with 20 additions and 0 deletions

View File

@ -432,6 +432,10 @@ final class CommentAnalyzer
$var_comments = [];
try {
$file_path = $statements_analyzer->getRootFilePath();
$file_storage_provider = $codebase->file_storage_provider;
$file_storage = $file_storage_provider->get($file_path);
$var_comments = $codebase->config->disable_var_parsing
? []
: self::arrayToDocblocks(
@ -440,6 +444,7 @@ final class CommentAnalyzer
$statements_analyzer->getSource(),
$statements_analyzer->getSource()->getAliases(),
$statements_analyzer->getSource()->getTemplateTypeMap(),
$file_storage->type_aliases,
);
} catch (IncorrectDocblockException $e) {
IssueBuffer::maybeAdd(

View File

@ -1013,6 +1013,21 @@ class AnnotationTest extends TestCase
return json_decode($json, true);
}',
],
'psalmTypeAnnotationForStaticVar' => [
'code' => '<?php
/**
* @psalm-type _Type A::TYPE_*
*/
class A{
const TYPE_A = 1;
const TYPE_B = 2;
public function f(): void {
/** @psalm-var _Type $var*/
static $var;
}
}',
],
'allowDocblockDefinedTKeyedArrayIntoNonEmpty' => [
'code' => '<?php
/** @param non-empty-array $_bar */