Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. SuppressHelper.php

function SuppressHelper::removeSuppressAnnotation

3 calls to SuppressHelper::removeSuppressAnnotation()
ParameterTypeHintSniff::reportUselessSuppress in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/ParameterTypeHintSniff.php
PropertyTypeHintSniff::reportUselessSuppress in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/PropertyTypeHintSniff.php
ReturnTypeHintSniff::reportUselessSuppress in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/TypeHints/ReturnTypeHintSniff.php

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Helpers/SuppressHelper.php, line 47

Class

SuppressHelper
@internal

Namespace

SlevomatCodingStandard\Helpers

Code

public static function removeSuppressAnnotation(File $phpcsFile, int $pointer, string $suppressName) : void {
    $suppressAnnotation = null;
    
    /** @var Annotation<GenericTagValueNode> $annotation */
    foreach (AnnotationHelper::getAnnotations($phpcsFile, $pointer, self::ANNOTATION) as $annotation) {
        if ($annotation->getValue()->value === $suppressName) {
            $suppressAnnotation = $annotation;
            break;
        }
    }
    assert($suppressAnnotation !== null);
    $tokens = $phpcsFile->getTokens();
    
    /** @var int $pointerBefore */
    $pointerBefore = TokenHelper::findPrevious($phpcsFile, [
        T_DOC_COMMENT_OPEN_TAG,
        T_DOC_COMMENT_STAR,
    ], $suppressAnnotation->getStartPointer() - 1);
    $changeStart = $tokens[$pointerBefore]['code'] === T_DOC_COMMENT_STAR ? $pointerBefore : $suppressAnnotation->getStartPointer();
    
    /** @var int $changeEnd */
    $changeEnd = TokenHelper::findNext($phpcsFile, [
        T_DOC_COMMENT_CLOSE_TAG,
        T_DOC_COMMENT_STAR,
    ], $suppressAnnotation->getEndPointer() + 1) - 1;
    $phpcsFile->fixer
        ->beginChangeset();
    FixerHelper::removeBetweenIncluding($phpcsFile, $changeStart, $changeEnd);
    $phpcsFile->fixer
        ->endChangeset();
}
RSS feed
Powered by Drupal