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

Breadcrumb

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

class PhpdocSingleLineVarFixer

Main implementation taken from kubawerlos/php-cs-fixer-customere-fixers Copyright (c) 2018 Kuba Werłos

Slightly modified to work without the gazillion of composer dependencies

Original: https://github.com/kubawerlos/php-cs-fixer-custom-fixers/blob/master/sr…

Hierarchy

  • class \PharIo\CSFixer\PhpdocSingleLineVarFixer implements \PhpCsFixer\Fixer\FixerInterface

Expanded class hierarchy of PhpdocSingleLineVarFixer

File

vendor/phar-io/manifest/tools/php-cs-fixer.d/PhpdocSingleLineVarFixer.php, line 19

Namespace

PharIo\CSFixer
View source
class PhpdocSingleLineVarFixer implements FixerInterface {
    public function getDefinition() : FixerDefinition {
        return new FixerDefinition('`@var` annotation must be in single line when is the only content.', [
            new CodeSample('<?php
                    /**
                     * @var string
                     */
                '),
        ]);
    }
    public function isCandidate(Tokens $tokens) : bool {
        return $tokens->isTokenKindFound(T_DOC_COMMENT);
    }
    public function isRisky() : bool {
        return false;
    }
    public function fix(\SplFileInfo $file, Tokens $tokens) : void {
        foreach ($tokens as $index => $token) {
            if (!$token->isGivenKind(T_DOC_COMMENT)) {
                continue;
            }
            if (\stripos($token->getContent(), '@var') === false) {
                continue;
            }
            if (preg_match('#^/\\*\\*[\\s\\*]+(@var[^\\r\\n]+)[\\s\\*]*\\*\\/$#u', $token->getContent(), $matches) !== 1) {
                continue;
            }
            $newContent = '/** ' . \rtrim($matches[1]) . ' */';
            if ($newContent === $token->getContent()) {
                continue;
            }
            $tokens[$index] = new Token([
                T_DOC_COMMENT,
                $newContent,
            ]);
        }
    }
    public function getPriority() : int {
        return 0;
    }
    public function getName() : string {
        return 'PharIo/phpdoc_single_line_var_fixer';
    }
    public function supports(\SplFileInfo $file) : bool {
        return true;
    }

}

Members

Title Sort descending Modifiers Object type Summary
PhpdocSingleLineVarFixer::fix public function
PhpdocSingleLineVarFixer::getDefinition public function
PhpdocSingleLineVarFixer::getName public function
PhpdocSingleLineVarFixer::getPriority public function
PhpdocSingleLineVarFixer::isCandidate public function
PhpdocSingleLineVarFixer::isRisky public function
PhpdocSingleLineVarFixer::supports public function

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal