diff --git a/build/psalm/NcuExperimentalChecker.php b/build/psalm/NcuExperimentalChecker.php index d5c24333d9ed4..eaa70480ccc63 100644 --- a/build/psalm/NcuExperimentalChecker.php +++ b/build/psalm/NcuExperimentalChecker.php @@ -7,7 +7,10 @@ */ use PhpParser\Node\Stmt; +use PhpParser\Node\Stmt\ClassConst; use PhpParser\Node\Stmt\ClassLike; +use PhpParser\Node\Stmt\ClassMethod; +use PhpParser\Node\Stmt\EnumCase; use Psalm\CodeLocation; use Psalm\DocComment; use Psalm\Exception\DocblockParseException; @@ -18,17 +21,23 @@ class NcuExperimentalChecker implements Psalm\Plugin\EventHandler\AfterClassLikeVisitInterface { public static function afterClassLikeVisit(AfterClassLikeVisitEvent $event): void { - $stmt = $event->getStmt(); + $classLike = $event->getStmt(); $statementsSource = $event->getStatementsSource(); - self::checkClassComment($stmt, $statementsSource); + self::checkClassComment($classLike, $statementsSource); - foreach ($stmt->getMethods() as $method) { - self::checkMethodOrConstantComment($method, $statementsSource, 'method'); - } + foreach ($classLike->stmts as $stmt) { + if ($stmt instanceof ClassConst) { + self::checkStatementComment($stmt, $statementsSource, 'constant'); + } + + if ($stmt instanceof ClassMethod) { + self::checkStatementComment($stmt, $statementsSource, 'method'); + } - foreach ($stmt->getConstants() as $constant) { - self::checkMethodOrConstantComment($constant, $statementsSource, 'constant'); + if ($stmt instanceof EnumCase) { + self::checkStatementComment($stmt, $statementsSource, 'enum'); + } } } @@ -76,7 +85,7 @@ private static function checkClassComment(ClassLike $stmt, FileSource $statement } } - private static function checkMethodOrConstantComment(Stmt $stmt, FileSource $statementsSource, string $type): void { + private static function checkStatementComment(Stmt $stmt, FileSource $statementsSource, string $type): void { $docblock = $stmt->getDocComment(); if ($docblock === null) { diff --git a/build/psalm/OcpSinceChecker.php b/build/psalm/OcpSinceChecker.php index c030678aee1b1..959e70e0c4ce6 100644 --- a/build/psalm/OcpSinceChecker.php +++ b/build/psalm/OcpSinceChecker.php @@ -17,17 +17,23 @@ class OcpSinceChecker implements Psalm\Plugin\EventHandler\AfterClassLikeVisitInterface { public static function afterClassLikeVisit(AfterClassLikeVisitEvent $event): void { - $stmt = $event->getStmt(); + $classLike = $event->getStmt(); $statementsSource = $event->getStatementsSource(); - self::checkClassComment($stmt, $statementsSource); + self::checkClassComment($classLike, $statementsSource); - foreach ($stmt->getMethods() as $method) { - self::checkMethodOrConstantComment($method, $statementsSource, 'method'); - } + foreach ($classLike->stmts as $stmt) { + if ($stmt instanceof ClassConst) { + self::checkStatementComment($stmt, $statementsSource, 'constant'); + } + + if ($stmt instanceof ClassMethod) { + self::checkStatementComment($stmt, $statementsSource, 'method'); + } - foreach ($stmt->getConstants() as $constant) { - self::checkMethodOrConstantComment($constant, $statementsSource, 'constant'); + if ($stmt instanceof EnumCase) { + self::checkStatementComment($stmt, $statementsSource, 'enum'); + } } } @@ -75,7 +81,7 @@ private static function checkClassComment(ClassLike $stmt, FileSource $statement } } - private static function checkMethodOrConstantComment(Stmt $stmt, FileSource $statementsSource, string $type): void { + private static function checkStatementComment(Stmt $stmt, FileSource $statementsSource, string $type): void { $docblock = $stmt->getDocComment(); if ($docblock === null) {