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

Breadcrumb

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

function PHP::standardiseToken

Takes a token produced from <code>token_get_all()</code> and produces a more uniform token.

Parameters

string|array $token The token to convert.:

Return value

array The new token.

1 call to PHP::standardiseToken()
PHP::tokenize in vendor/squizlabs/php_codesniffer/src/Tokenizers/PHP.php
Creates an array of tokens when given some PHP code.

File

vendor/squizlabs/php_codesniffer/src/Tokenizers/PHP.php, line 3687

Class

PHP

Namespace

PHP_CodeSniffer\Tokenizers

Code

public static function standardiseToken($token) {
    if (isset($token[1]) === false) {
        if (isset(self::$resolveTokenCache[$token[0]]) === true) {
            return self::$resolveTokenCache[$token[0]];
        }
    }
    else {
        $cacheKey = null;
        if ($token[0] === T_STRING) {
            $cacheKey = strtolower($token[1]);
        }
        else {
            if ($token[0] !== T_CURLY_OPEN) {
                $cacheKey = $token[0];
            }
        }
        if ($cacheKey !== null && isset(self::$resolveTokenCache[$cacheKey]) === true) {
            $newToken = self::$resolveTokenCache[$cacheKey];
            $newToken['content'] = $token[1];
            return $newToken;
        }
    }
    if (isset($token[1]) === false) {
        return self::resolveSimpleToken($token[0]);
    }
    if ($token[0] === T_STRING) {
        switch ($cacheKey) {
            case 'false':
                $newToken['type'] = 'T_FALSE';
                break;
            case 'true':
                $newToken['type'] = 'T_TRUE';
                break;
            case 'null':
                $newToken['type'] = 'T_NULL';
                break;
            case 'self':
                $newToken['type'] = 'T_SELF';
                break;
            case 'parent':
                $newToken['type'] = 'T_PARENT';
                break;
            default:
                $newToken['type'] = 'T_STRING';
                break;
        }
        $newToken['code'] = constant($newToken['type']);
        self::$resolveTokenCache[$cacheKey] = $newToken;
    }
    else {
        if ($token[0] === T_CURLY_OPEN) {
            $newToken = [
                'code' => T_OPEN_CURLY_BRACKET,
                'type' => 'T_OPEN_CURLY_BRACKET',
            ];
        }
        else {
            $newToken = [
                'code' => $token[0],
                'type' => Tokens::tokenName($token[0]),
            ];
            self::$resolveTokenCache[$token[0]] = $newToken;
        }
    }
    
    //end if
    $newToken['content'] = $token[1];
    return $newToken;
}
RSS feed
Powered by Drupal