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

Breadcrumb

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

function ClassStructureSniff::getGroupForToken

1 call to ClassStructureSniff::getGroupForToken()
ClassStructureSniff::findNextGroup in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Classes/ClassStructureSniff.php
*

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Classes/ClassStructureSniff.php, line 317

Class

ClassStructureSniff

Namespace

SlevomatCodingStandard\Sniffs\Classes

Code

private function getGroupForToken(File $phpcsFile, int $pointer) : string {
    $tokens = $phpcsFile->getTokens();
    switch ($tokens[$pointer]['code']) {
        case T_USE:
            return self::GROUP_USES;
        case T_ENUM_CASE:
            return self::GROUP_ENUM_CASES;
        case T_CONST:
            switch ($this->getVisibilityForToken($phpcsFile, $pointer)) {
                case T_PUBLIC:
                    return self::GROUP_PUBLIC_CONSTANTS;
                case T_PROTECTED:
                    return self::GROUP_PROTECTED_CONSTANTS;
            }
            return self::GROUP_PRIVATE_CONSTANTS;
        case T_FUNCTION:
            $name = strtolower(FunctionHelper::getName($phpcsFile, $pointer));
            if (array_key_exists($name, self::SPECIAL_METHODS)) {
                return self::SPECIAL_METHODS[$name];
            }
            $visibility = $this->getVisibilityForToken($phpcsFile, $pointer);
            $isStatic = $this->isMemberStatic($phpcsFile, $pointer);
            $isFinal = $this->isMethodFinal($phpcsFile, $pointer);
            if ($this->isMethodAbstract($phpcsFile, $pointer)) {
                if ($visibility === T_PUBLIC) {
                    return $isStatic ? self::GROUP_PUBLIC_STATIC_ABSTRACT_METHODS : self::GROUP_PUBLIC_ABSTRACT_METHODS;
                }
                return $isStatic ? self::GROUP_PROTECTED_STATIC_ABSTRACT_METHODS : self::GROUP_PROTECTED_ABSTRACT_METHODS;
            }
            if ($isStatic && $visibility === T_PUBLIC && $this->isStaticConstructor($phpcsFile, $pointer)) {
                return self::GROUP_STATIC_CONSTRUCTORS;
            }
            switch ($visibility) {
                case T_PUBLIC:
                    if ($isFinal) {
                        return $isStatic ? self::GROUP_PUBLIC_STATIC_FINAL_METHODS : self::GROUP_PUBLIC_FINAL_METHODS;
                    }
                    return $isStatic ? self::GROUP_PUBLIC_STATIC_METHODS : self::GROUP_PUBLIC_METHODS;
                case T_PROTECTED:
                    if ($isFinal) {
                        return $isStatic ? self::GROUP_PROTECTED_STATIC_FINAL_METHODS : self::GROUP_PROTECTED_FINAL_METHODS;
                    }
                    return $isStatic ? self::GROUP_PROTECTED_STATIC_METHODS : self::GROUP_PROTECTED_METHODS;
            }
            return $isStatic ? self::GROUP_PRIVATE_STATIC_METHODS : self::GROUP_PRIVATE_METHODS;
        default:
            $isStatic = $this->isMemberStatic($phpcsFile, $pointer);
            $visibility = $this->getVisibilityForToken($phpcsFile, $pointer);
            switch ($visibility) {
                case T_PUBLIC:
                    return $isStatic ? self::GROUP_PUBLIC_STATIC_PROPERTIES : self::GROUP_PUBLIC_PROPERTIES;
                case T_PROTECTED:
                    return $isStatic ? self::GROUP_PROTECTED_STATIC_PROPERTIES : self::GROUP_PROTECTED_PROPERTIES;
                default:
                    return $isStatic ? self::GROUP_PRIVATE_STATIC_PROPERTIES : self::GROUP_PRIVATE_PROPERTIES;
            }
    }
}

API Navigation

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