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

Breadcrumb

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

function ClassMemberSpacingSniff::getMemberStartPointer

1 call to ClassMemberSpacingSniff::getMemberStartPointer()
ClassMemberSpacingSniff::process in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Classes/ClassMemberSpacingSniff.php
* @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint *

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Classes/ClassMemberSpacingSniff.php, line 196

Class

ClassMemberSpacingSniff

Namespace

SlevomatCodingStandard\Sniffs\Classes

Code

private function getMemberStartPointer(File $phpcsFile, int $memberPointer) : int {
    $tokens = $phpcsFile->getTokens();
    $memberFirstCodePointer = $this->getMemberFirstCodePointer($phpcsFile, $memberPointer);
    do {
        $pointerBefore = TokenHelper::findPreviousNonWhitespace($phpcsFile, $memberFirstCodePointer - 1);
        if ($tokens[$pointerBefore]['code'] === T_ATTRIBUTE_END) {
            $memberFirstCodePointer = $tokens[$pointerBefore]['attribute_opener'];
            continue;
        }
        if (in_array($tokens[$pointerBefore]['code'], Tokens::$commentTokens, true) && $tokens[$pointerBefore]['line'] + 1 === $tokens[$memberFirstCodePointer]['line']) {
            $pointerBeforeComment = TokenHelper::findPreviousEffective($phpcsFile, $pointerBefore - 1);
            if ($tokens[$pointerBeforeComment]['line'] !== $tokens[$pointerBefore]['line']) {
                $memberFirstCodePointer = array_key_exists('comment_opener', $tokens[$pointerBefore]) ? $tokens[$pointerBefore]['comment_opener'] : CommentHelper::getMultilineCommentStartPointer($phpcsFile, $pointerBefore);
                continue;
            }
        }
        break;
    } while (true);
    return $memberFirstCodePointer;
}

API Navigation

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