Browse Source

chore: check enums for since and experimental comments

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
pull/49570/head
Daniel Kesselberg 11 months ago
parent
commit
dd3fa88b36
No known key found for this signature in database GPG Key ID: 4A81C29F63464E8F
  1. 25
      build/psalm/NcuExperimentalChecker.php
  2. 22
      build/psalm/OcpSinceChecker.php

25
build/psalm/NcuExperimentalChecker.php

@ -7,7 +7,10 @@ declare(strict_types=1);
*/
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 @@ use Psalm\Plugin\EventHandler\Event\AfterClassLikeVisitEvent;
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 @@ class NcuExperimentalChecker implements Psalm\Plugin\EventHandler\AfterClassLike
}
}
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) {

22
build/psalm/OcpSinceChecker.php

@ -17,17 +17,23 @@ use Psalm\Plugin\EventHandler\Event\AfterClassLikeVisitEvent;
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 @@ class OcpSinceChecker implements Psalm\Plugin\EventHandler\AfterClassLikeVisitIn
}
}
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) {

Loading…
Cancel
Save