mirror of
https://github.com/danog/psalm.git
synced 2024-11-26 20:34:47 +01:00
parent
15df39f72f
commit
73f8f963fa
@ -185,7 +185,8 @@ class ArrayAssignmentAnalyzer
|
||||
}
|
||||
|
||||
if ($child_stmt->dim instanceof PhpParser\Node\Scalar\String_
|
||||
|| ($child_stmt->dim instanceof PhpParser\Node\Expr\ConstFetch
|
||||
|| (($child_stmt->dim instanceof PhpParser\Node\Expr\ConstFetch
|
||||
|| $child_stmt->dim instanceof PhpParser\Node\Expr\ClassConstFetch)
|
||||
&& $child_stmt_dim_type->isSingleStringLiteral())
|
||||
) {
|
||||
if ($child_stmt->dim instanceof PhpParser\Node\Scalar\String_) {
|
||||
@ -199,7 +200,8 @@ class ArrayAssignmentAnalyzer
|
||||
}
|
||||
$var_id_additions[] = '[\'' . $value . '\']';
|
||||
} elseif ($child_stmt->dim instanceof PhpParser\Node\Scalar\LNumber
|
||||
|| ($child_stmt->dim instanceof PhpParser\Node\Expr\ConstFetch
|
||||
|| (($child_stmt->dim instanceof PhpParser\Node\Expr\ConstFetch
|
||||
|| $child_stmt->dim instanceof PhpParser\Node\Expr\ClassConstFetch)
|
||||
&& $child_stmt_dim_type->isSingleIntLiteral())
|
||||
) {
|
||||
if ($child_stmt->dim instanceof PhpParser\Node\Scalar\LNumber) {
|
||||
|
@ -82,16 +82,16 @@ class ArrayFetchAnalyzer
|
||||
$statements_analyzer
|
||||
);
|
||||
|
||||
if ($stmt->dim && ExpressionAnalyzer::analyze($statements_analyzer, $stmt->dim, $context) === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$keyed_array_var_id = ExpressionAnalyzer::getArrayVarId(
|
||||
$stmt,
|
||||
$statements_analyzer->getFQCLN(),
|
||||
$statements_analyzer
|
||||
);
|
||||
|
||||
if ($stmt->dim && ExpressionAnalyzer::analyze($statements_analyzer, $stmt->dim, $context) === false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$dim_var_id = null;
|
||||
$new_offset_type = null;
|
||||
|
||||
|
@ -916,6 +916,34 @@ class IssetTest extends \Psalm\Tests\TestCase
|
||||
}
|
||||
}',
|
||||
],
|
||||
'issetOnClassConstantOffset' => [
|
||||
'<?php
|
||||
|
||||
final class StudyJwtPayload {
|
||||
public const STUDY_ID = "studid";
|
||||
|
||||
public static function fromClaims(array $claims): string
|
||||
{
|
||||
if (!isset($claims["usrid"])) {
|
||||
throw new \InvalidArgumentException();
|
||||
}
|
||||
|
||||
if (!\is_string($claims["usrid"])) {
|
||||
throw new \InvalidArgumentException();
|
||||
}
|
||||
|
||||
if (!isset($claims[self::STUDY_ID])) {
|
||||
throw new \InvalidArgumentException();
|
||||
}
|
||||
|
||||
if (!\is_string($claims[self::STUDY_ID])) {
|
||||
throw new \InvalidArgumentException();
|
||||
}
|
||||
|
||||
return $claims[self::STUDY_ID];
|
||||
}
|
||||
}'
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user