1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00

Fix improper property var calculation

Ref #1332
This commit is contained in:
Matthew Brown 2020-03-11 11:03:27 -04:00
parent ef64e6e8eb
commit c5fa07920c
2 changed files with 22 additions and 2 deletions

View File

@ -1094,9 +1094,9 @@ class PropertyAssignmentAnalyzer
Type\Union $assignment_value_type, Type\Union $assignment_value_type,
Context $context Context $context
) { ) {
$var_id = ExpressionAnalyzer::getVarId( $var_id = ExpressionAnalyzer::getArrayVarId(
$stmt, $stmt,
$statements_analyzer->getFQCLN(), $context->self,
$statements_analyzer $statements_analyzer
); );

View File

@ -2566,6 +2566,26 @@ class ConditionalTest extends \Psalm\Tests\TestCase
*/ */
if(!(count($colonnes) == 37 || count($colonnes) == 40)) {}', if(!(count($colonnes) == 37 || count($colonnes) == 40)) {}',
], ],
'reconcilePropertyInTrait' => [
'<?php
class A {}
trait T {
private static ?A $one = null;
private static function maybeSetOne(): A {
if (null === self::$one) {
self::$one = new A();
}
return self::$one;
}
}
class Implementer {
use T;
}'
],
]; ];
} }