class Tokens
Hierarchy
- class \PHP_CodeSniffer\Util\Tokens
Expanded class hierarchy of Tokens
216 files declare their use of Tokens
- AbstractArraySniff.php in vendor/
squizlabs/ php_codesniffer/ src/ Sniffs/ AbstractArraySniff.php - AbstractControlStructureSpacing.php in vendor/
slevomat/ coding-standard/ SlevomatCodingStandard/ Sniffs/ ControlStructures/ AbstractControlStructureSpacing.php - AbstractPatternSniff.php in vendor/
squizlabs/ php_codesniffer/ src/ Sniffs/ AbstractPatternSniff.php - AbstractVariableSniff.php in vendor/
squizlabs/ php_codesniffer/ src/ Sniffs/ AbstractVariableSniff.php - AccessHookMenuSniff.php in vendor/
drupal/ coder/ coder_sniffer/ DrupalPractice/ Sniffs/ FunctionDefinitions/ AccessHookMenuSniff.php
5 string references to 'Tokens'
- ContextualController::render in core/
modules/ contextual/ src/ ContextualController.php - Returns the requested rendered contextual links.
- DrupalAutoloader::register in vendor/
mglaman/ phpstan-drupal/ src/ Drupal/ DrupalAutoloader.php - hook_hook_info in core/
lib/ Drupal/ Core/ Extension/ module.api.php - Defines one or more hooks that are exposed by a module.
- SearchCommand::execute in vendor/
composer/ composer/ src/ Composer/ Command/ SearchCommand.php - Executes the current command.
- system_hook_info in core/
modules/ system/ system.module - Implements hook_hook_info().
File
-
vendor/
squizlabs/ php_codesniffer/ src/ Util/ Tokens.php, line 193
Namespace
PHP_CodeSniffer\UtilView source
final class Tokens {
/**
* The token weightings.
*
* @var array<int|string, int>
*/
public static $weightings = [
T_CLASS => 1000,
T_INTERFACE => 1000,
T_TRAIT => 1000,
T_ENUM => 1000,
T_NAMESPACE => 1000,
T_FUNCTION => 100,
T_CLOSURE => 100,
/*
* Conditions.
*/
T_WHILE => 50,
T_FOR => 50,
T_FOREACH => 50,
T_IF => 50,
T_ELSE => 50,
T_ELSEIF => 50,
T_DO => 50,
T_TRY => 50,
T_CATCH => 50,
T_FINALLY => 50,
T_SWITCH => 50,
T_MATCH => 50,
T_SELF => 25,
T_PARENT => 25,
/*
* Operators and arithmetic.
*/
T_BITWISE_AND => 8,
T_BITWISE_OR => 8,
T_BITWISE_XOR => 8,
T_MULTIPLY => 5,
T_DIVIDE => 5,
T_PLUS => 5,
T_MINUS => 5,
T_MODULUS => 5,
T_POW => 5,
T_SPACESHIP => 5,
T_COALESCE => 5,
T_COALESCE_EQUAL => 5,
T_SL => 5,
T_SR => 5,
T_SL_EQUAL => 5,
T_SR_EQUAL => 5,
T_EQUAL => 5,
T_AND_EQUAL => 5,
T_CONCAT_EQUAL => 5,
T_DIV_EQUAL => 5,
T_MINUS_EQUAL => 5,
T_MOD_EQUAL => 5,
T_MUL_EQUAL => 5,
T_OR_EQUAL => 5,
T_PLUS_EQUAL => 5,
T_XOR_EQUAL => 5,
T_BOOLEAN_AND => 5,
T_BOOLEAN_OR => 5,
/*
* Equality.
*/
T_IS_EQUAL => 5,
T_IS_NOT_EQUAL => 5,
T_IS_IDENTICAL => 5,
T_IS_NOT_IDENTICAL => 5,
T_IS_SMALLER_OR_EQUAL => 5,
T_IS_GREATER_OR_EQUAL => 5,
];
/**
* Tokens that represent assignments.
*
* @var array<int|string, int|string>
*/
public static $assignmentTokens = [
T_EQUAL => T_EQUAL,
T_AND_EQUAL => T_AND_EQUAL,
T_OR_EQUAL => T_OR_EQUAL,
T_CONCAT_EQUAL => T_CONCAT_EQUAL,
T_DIV_EQUAL => T_DIV_EQUAL,
T_MINUS_EQUAL => T_MINUS_EQUAL,
T_POW_EQUAL => T_POW_EQUAL,
T_MOD_EQUAL => T_MOD_EQUAL,
T_MUL_EQUAL => T_MUL_EQUAL,
T_PLUS_EQUAL => T_PLUS_EQUAL,
T_XOR_EQUAL => T_XOR_EQUAL,
T_DOUBLE_ARROW => T_DOUBLE_ARROW,
T_SL_EQUAL => T_SL_EQUAL,
T_SR_EQUAL => T_SR_EQUAL,
T_COALESCE_EQUAL => T_COALESCE_EQUAL,
T_ZSR_EQUAL => T_ZSR_EQUAL,
];
/**
* Tokens that represent equality comparisons.
*
* @var array<int|string, int|string>
*/
public static $equalityTokens = [
T_IS_EQUAL => T_IS_EQUAL,
T_IS_NOT_EQUAL => T_IS_NOT_EQUAL,
T_IS_IDENTICAL => T_IS_IDENTICAL,
T_IS_NOT_IDENTICAL => T_IS_NOT_IDENTICAL,
T_IS_SMALLER_OR_EQUAL => T_IS_SMALLER_OR_EQUAL,
T_IS_GREATER_OR_EQUAL => T_IS_GREATER_OR_EQUAL,
];
/**
* Tokens that represent comparison operator.
*
* @var array<int|string, int|string>
*/
public static $comparisonTokens = [
T_IS_EQUAL => T_IS_EQUAL,
T_IS_IDENTICAL => T_IS_IDENTICAL,
T_IS_NOT_EQUAL => T_IS_NOT_EQUAL,
T_IS_NOT_IDENTICAL => T_IS_NOT_IDENTICAL,
T_LESS_THAN => T_LESS_THAN,
T_GREATER_THAN => T_GREATER_THAN,
T_IS_SMALLER_OR_EQUAL => T_IS_SMALLER_OR_EQUAL,
T_IS_GREATER_OR_EQUAL => T_IS_GREATER_OR_EQUAL,
T_SPACESHIP => T_SPACESHIP,
T_COALESCE => T_COALESCE,
];
/**
* Tokens that represent arithmetic operators.
*
* @var array<int|string, int|string>
*/
public static $arithmeticTokens = [
T_PLUS => T_PLUS,
T_MINUS => T_MINUS,
T_MULTIPLY => T_MULTIPLY,
T_DIVIDE => T_DIVIDE,
T_MODULUS => T_MODULUS,
T_POW => T_POW,
];
/**
* Tokens that perform operations.
*
* @var array<int|string, int|string>
*/
public static $operators = [
T_MINUS => T_MINUS,
T_PLUS => T_PLUS,
T_MULTIPLY => T_MULTIPLY,
T_DIVIDE => T_DIVIDE,
T_MODULUS => T_MODULUS,
T_POW => T_POW,
T_SPACESHIP => T_SPACESHIP,
T_COALESCE => T_COALESCE,
T_BITWISE_AND => T_BITWISE_AND,
T_BITWISE_OR => T_BITWISE_OR,
T_BITWISE_XOR => T_BITWISE_XOR,
T_SL => T_SL,
T_SR => T_SR,
];
/**
* Tokens that perform boolean operations.
*
* @var array<int|string, int|string>
*/
public static $booleanOperators = [
T_BOOLEAN_AND => T_BOOLEAN_AND,
T_BOOLEAN_OR => T_BOOLEAN_OR,
T_LOGICAL_AND => T_LOGICAL_AND,
T_LOGICAL_OR => T_LOGICAL_OR,
T_LOGICAL_XOR => T_LOGICAL_XOR,
];
/**
* Tokens that represent casting.
*
* @var array<int|string, int|string>
*/
public static $castTokens = [
T_INT_CAST => T_INT_CAST,
T_STRING_CAST => T_STRING_CAST,
T_DOUBLE_CAST => T_DOUBLE_CAST,
T_ARRAY_CAST => T_ARRAY_CAST,
T_BOOL_CAST => T_BOOL_CAST,
T_OBJECT_CAST => T_OBJECT_CAST,
T_UNSET_CAST => T_UNSET_CAST,
T_BINARY_CAST => T_BINARY_CAST,
];
/**
* Token types that open parenthesis.
*
* @var array<int|string, int|string>
*/
public static $parenthesisOpeners = [
T_ARRAY => T_ARRAY,
T_LIST => T_LIST,
T_FUNCTION => T_FUNCTION,
T_CLOSURE => T_CLOSURE,
T_ANON_CLASS => T_ANON_CLASS,
T_WHILE => T_WHILE,
T_FOR => T_FOR,
T_FOREACH => T_FOREACH,
T_SWITCH => T_SWITCH,
T_IF => T_IF,
T_ELSEIF => T_ELSEIF,
T_CATCH => T_CATCH,
T_DECLARE => T_DECLARE,
T_MATCH => T_MATCH,
];
/**
* Tokens that are allowed to open scopes.
*
* @var array<int|string, int|string>
*/
public static $scopeOpeners = [
T_CLASS => T_CLASS,
T_ANON_CLASS => T_ANON_CLASS,
T_INTERFACE => T_INTERFACE,
T_TRAIT => T_TRAIT,
T_ENUM => T_ENUM,
T_NAMESPACE => T_NAMESPACE,
T_FUNCTION => T_FUNCTION,
T_CLOSURE => T_CLOSURE,
T_IF => T_IF,
T_SWITCH => T_SWITCH,
T_CASE => T_CASE,
T_DECLARE => T_DECLARE,
T_DEFAULT => T_DEFAULT,
T_WHILE => T_WHILE,
T_ELSE => T_ELSE,
T_ELSEIF => T_ELSEIF,
T_FOR => T_FOR,
T_FOREACH => T_FOREACH,
T_DO => T_DO,
T_TRY => T_TRY,
T_CATCH => T_CATCH,
T_FINALLY => T_FINALLY,
T_PROPERTY => T_PROPERTY,
T_OBJECT => T_OBJECT,
T_USE => T_USE,
T_MATCH => T_MATCH,
];
/**
* Tokens that represent scope modifiers.
*
* @var array<int|string, int|string>
*/
public static $scopeModifiers = [
T_PRIVATE => T_PRIVATE,
T_PUBLIC => T_PUBLIC,
T_PROTECTED => T_PROTECTED,
];
/**
* Tokens that can prefix a method name
*
* @var array<int|string, int|string>
*/
public static $methodPrefixes = [
T_PRIVATE => T_PRIVATE,
T_PUBLIC => T_PUBLIC,
T_PROTECTED => T_PROTECTED,
T_ABSTRACT => T_ABSTRACT,
T_STATIC => T_STATIC,
T_FINAL => T_FINAL,
];
/**
* Tokens that open code blocks.
*
* @var array<int|string, int|string>
*/
public static $blockOpeners = [
T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
T_OPEN_SQUARE_BRACKET => T_OPEN_SQUARE_BRACKET,
T_OPEN_PARENTHESIS => T_OPEN_PARENTHESIS,
T_OBJECT => T_OBJECT,
];
/**
* Tokens that don't represent code.
*
* @var array<int|string, int|string>
*/
public static $emptyTokens = [
T_WHITESPACE => T_WHITESPACE,
T_COMMENT => T_COMMENT,
T_DOC_COMMENT => T_DOC_COMMENT,
T_DOC_COMMENT_STAR => T_DOC_COMMENT_STAR,
T_DOC_COMMENT_WHITESPACE => T_DOC_COMMENT_WHITESPACE,
T_DOC_COMMENT_TAG => T_DOC_COMMENT_TAG,
T_DOC_COMMENT_OPEN_TAG => T_DOC_COMMENT_OPEN_TAG,
T_DOC_COMMENT_CLOSE_TAG => T_DOC_COMMENT_CLOSE_TAG,
T_DOC_COMMENT_STRING => T_DOC_COMMENT_STRING,
T_PHPCS_ENABLE => T_PHPCS_ENABLE,
T_PHPCS_DISABLE => T_PHPCS_DISABLE,
T_PHPCS_SET => T_PHPCS_SET,
T_PHPCS_IGNORE => T_PHPCS_IGNORE,
T_PHPCS_IGNORE_FILE => T_PHPCS_IGNORE_FILE,
];
/**
* Tokens that are comments.
*
* @var array<int|string, int|string>
*/
public static $commentTokens = [
T_COMMENT => T_COMMENT,
T_DOC_COMMENT => T_DOC_COMMENT,
T_DOC_COMMENT_STAR => T_DOC_COMMENT_STAR,
T_DOC_COMMENT_WHITESPACE => T_DOC_COMMENT_WHITESPACE,
T_DOC_COMMENT_TAG => T_DOC_COMMENT_TAG,
T_DOC_COMMENT_OPEN_TAG => T_DOC_COMMENT_OPEN_TAG,
T_DOC_COMMENT_CLOSE_TAG => T_DOC_COMMENT_CLOSE_TAG,
T_DOC_COMMENT_STRING => T_DOC_COMMENT_STRING,
T_PHPCS_ENABLE => T_PHPCS_ENABLE,
T_PHPCS_DISABLE => T_PHPCS_DISABLE,
T_PHPCS_SET => T_PHPCS_SET,
T_PHPCS_IGNORE => T_PHPCS_IGNORE,
T_PHPCS_IGNORE_FILE => T_PHPCS_IGNORE_FILE,
];
/**
* Tokens that are comments containing PHPCS instructions.
*
* @var array<int|string, int|string>
*/
public static $phpcsCommentTokens = [
T_PHPCS_ENABLE => T_PHPCS_ENABLE,
T_PHPCS_DISABLE => T_PHPCS_DISABLE,
T_PHPCS_SET => T_PHPCS_SET,
T_PHPCS_IGNORE => T_PHPCS_IGNORE,
T_PHPCS_IGNORE_FILE => T_PHPCS_IGNORE_FILE,
];
/**
* Tokens that represent strings.
*
* Note that T_STRINGS are NOT represented in this list.
*
* @var array<int|string, int|string>
*/
public static $stringTokens = [
T_CONSTANT_ENCAPSED_STRING => T_CONSTANT_ENCAPSED_STRING,
T_DOUBLE_QUOTED_STRING => T_DOUBLE_QUOTED_STRING,
];
/**
* Tokens that represent text strings.
*
* @var array<int|string, int|string>
*/
public static $textStringTokens = [
T_CONSTANT_ENCAPSED_STRING => T_CONSTANT_ENCAPSED_STRING,
T_DOUBLE_QUOTED_STRING => T_DOUBLE_QUOTED_STRING,
T_INLINE_HTML => T_INLINE_HTML,
T_HEREDOC => T_HEREDOC,
T_NOWDOC => T_NOWDOC,
];
/**
* Tokens that represent brackets and parenthesis.
*
* @var array<int|string, int|string>
*/
public static $bracketTokens = [
T_OPEN_CURLY_BRACKET => T_OPEN_CURLY_BRACKET,
T_CLOSE_CURLY_BRACKET => T_CLOSE_CURLY_BRACKET,
T_OPEN_SQUARE_BRACKET => T_OPEN_SQUARE_BRACKET,
T_CLOSE_SQUARE_BRACKET => T_CLOSE_SQUARE_BRACKET,
T_OPEN_PARENTHESIS => T_OPEN_PARENTHESIS,
T_CLOSE_PARENTHESIS => T_CLOSE_PARENTHESIS,
];
/**
* Tokens that include files.
*
* @var array<int|string, int|string>
*/
public static $includeTokens = [
T_REQUIRE_ONCE => T_REQUIRE_ONCE,
T_REQUIRE => T_REQUIRE,
T_INCLUDE_ONCE => T_INCLUDE_ONCE,
T_INCLUDE => T_INCLUDE,
];
/**
* Tokens that make up a heredoc string.
*
* @var array<int|string, int|string>
*/
public static $heredocTokens = [
T_START_HEREDOC => T_START_HEREDOC,
T_END_HEREDOC => T_END_HEREDOC,
T_HEREDOC => T_HEREDOC,
T_START_NOWDOC => T_START_NOWDOC,
T_END_NOWDOC => T_END_NOWDOC,
T_NOWDOC => T_NOWDOC,
];
/**
* Tokens that represent the names of called functions.
*
* Mostly, these are just strings. But PHP tokenizes some language
* constructs and functions using their own tokens.
*
* @var array<int|string, int|string>
*/
public static $functionNameTokens = [
T_STRING => T_STRING,
T_EVAL => T_EVAL,
T_EXIT => T_EXIT,
T_INCLUDE => T_INCLUDE,
T_INCLUDE_ONCE => T_INCLUDE_ONCE,
T_REQUIRE => T_REQUIRE,
T_REQUIRE_ONCE => T_REQUIRE_ONCE,
T_ISSET => T_ISSET,
T_UNSET => T_UNSET,
T_EMPTY => T_EMPTY,
T_SELF => T_SELF,
T_PARENT => T_PARENT,
T_STATIC => T_STATIC,
];
/**
* Tokens that open class and object scopes.
*
* @var array<int|string, int|string>
*/
public static $ooScopeTokens = [
T_CLASS => T_CLASS,
T_ANON_CLASS => T_ANON_CLASS,
T_INTERFACE => T_INTERFACE,
T_TRAIT => T_TRAIT,
T_ENUM => T_ENUM,
];
/**
* Tokens representing PHP magic constants.
*
* @var array <int|string> => <int|string>
*
* @link https://www.php.net/language.constants.predefined PHP Manual on magic constants
*/
public static $magicConstants = [
T_CLASS_C => T_CLASS_C,
T_DIR => T_DIR,
T_FILE => T_FILE,
T_FUNC_C => T_FUNC_C,
T_LINE => T_LINE,
T_METHOD_C => T_METHOD_C,
T_NS_C => T_NS_C,
T_TRAIT_C => T_TRAIT_C,
];
/**
* Tokens representing context sensitive keywords in PHP.
*
* @var array<int|string, int|string>
*
* https://wiki.php.net/rfc/context_sensitive_lexer
*/
public static $contextSensitiveKeywords = [
T_ABSTRACT => T_ABSTRACT,
T_ARRAY => T_ARRAY,
T_AS => T_AS,
T_BREAK => T_BREAK,
T_CALLABLE => T_CALLABLE,
T_CASE => T_CASE,
T_CATCH => T_CATCH,
T_CLASS => T_CLASS,
T_CLONE => T_CLONE,
T_CONST => T_CONST,
T_CONTINUE => T_CONTINUE,
T_DECLARE => T_DECLARE,
T_DEFAULT => T_DEFAULT,
T_DO => T_DO,
T_ECHO => T_ECHO,
T_ELSE => T_ELSE,
T_ELSEIF => T_ELSEIF,
T_EMPTY => T_EMPTY,
T_ENDDECLARE => T_ENDDECLARE,
T_ENDFOR => T_ENDFOR,
T_ENDFOREACH => T_ENDFOREACH,
T_ENDIF => T_ENDIF,
T_ENDSWITCH => T_ENDSWITCH,
T_ENDWHILE => T_ENDWHILE,
T_ENUM => T_ENUM,
T_EVAL => T_EVAL,
T_EXIT => T_EXIT,
T_EXTENDS => T_EXTENDS,
T_FINAL => T_FINAL,
T_FINALLY => T_FINALLY,
T_FN => T_FN,
T_FOR => T_FOR,
T_FOREACH => T_FOREACH,
T_FUNCTION => T_FUNCTION,
T_GLOBAL => T_GLOBAL,
T_GOTO => T_GOTO,
T_IF => T_IF,
T_IMPLEMENTS => T_IMPLEMENTS,
T_INCLUDE => T_INCLUDE,
T_INCLUDE_ONCE => T_INCLUDE_ONCE,
T_INSTANCEOF => T_INSTANCEOF,
T_INSTEADOF => T_INSTEADOF,
T_INTERFACE => T_INTERFACE,
T_ISSET => T_ISSET,
T_LIST => T_LIST,
T_LOGICAL_AND => T_LOGICAL_AND,
T_LOGICAL_OR => T_LOGICAL_OR,
T_LOGICAL_XOR => T_LOGICAL_XOR,
T_MATCH => T_MATCH,
T_NAMESPACE => T_NAMESPACE,
T_NEW => T_NEW,
T_PRINT => T_PRINT,
T_PRIVATE => T_PRIVATE,
T_PROTECTED => T_PROTECTED,
T_PUBLIC => T_PUBLIC,
T_READONLY => T_READONLY,
T_REQUIRE => T_REQUIRE,
T_REQUIRE_ONCE => T_REQUIRE_ONCE,
T_RETURN => T_RETURN,
T_STATIC => T_STATIC,
T_SWITCH => T_SWITCH,
T_THROW => T_THROW,
T_TRAIT => T_TRAIT,
T_TRY => T_TRY,
T_UNSET => T_UNSET,
T_USE => T_USE,
T_VAR => T_VAR,
T_WHILE => T_WHILE,
T_YIELD => T_YIELD,
T_YIELD_FROM => T_YIELD_FROM,
];
/**
* Given a token, returns the name of the token.
*
* If passed an integer, the token name is sourced from PHP's token_name()
* function. If passed a string, it is assumed to be a PHPCS-supplied token
* that begins with PHPCS_T_, so the name is sourced from the token value itself.
*
* @param int|string $token The token to get the name for.
*
* @return string
*/
public static function tokenName($token) {
if (is_string($token) === false) {
// PHP-supplied token name.
return token_name($token);
}
return substr($token, 6);
}
//end tokenName()
/**
* Returns the highest weighted token type.
*
* Tokens are weighted by their approximate frequency of appearance in code
* - the less frequently they appear in the code, the higher the weighting.
* For example T_CLASS tokens appear very infrequently in a file, and
* therefore have a high weighting.
*
* If there are no weightings for any of the specified tokens, the first token
* seen in the passed array will be returned.
*
* @param array<int|string> $tokens The token types to get the highest weighted
* type for.
*
* @return int The highest weighted token.
* On equal "weight", returns the first token of that particular weight.
*/
public static function getHighestWeightedToken(array $tokens) {
$highest = -1;
$highestType = false;
$weights = self::$weightings;
foreach ($tokens as $token) {
if (isset($weights[$token]) === true) {
$weight = $weights[$token];
}
else {
$weight = 0;
}
if ($weight > $highest) {
$highest = $weight;
$highestType = $token;
}
}
return $highestType;
}
//end getHighestWeightedToken()
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
Tokens::$arithmeticTokens | public static | property | Tokens that represent arithmetic operators. |
Tokens::$assignmentTokens | public static | property | Tokens that represent assignments. |
Tokens::$blockOpeners | public static | property | Tokens that open code blocks. |
Tokens::$booleanOperators | public static | property | Tokens that perform boolean operations. |
Tokens::$bracketTokens | public static | property | Tokens that represent brackets and parenthesis. |
Tokens::$castTokens | public static | property | Tokens that represent casting. |
Tokens::$commentTokens | public static | property | Tokens that are comments. |
Tokens::$comparisonTokens | public static | property | Tokens that represent comparison operator. |
Tokens::$contextSensitiveKeywords | public static | property | Tokens representing context sensitive keywords in PHP. |
Tokens::$emptyTokens | public static | property | Tokens that don't represent code. |
Tokens::$equalityTokens | public static | property | Tokens that represent equality comparisons. |
Tokens::$functionNameTokens | public static | property | Tokens that represent the names of called functions. |
Tokens::$heredocTokens | public static | property | Tokens that make up a heredoc string. |
Tokens::$includeTokens | public static | property | Tokens that include files. |
Tokens::$magicConstants | public static | property | Tokens representing PHP magic constants. |
Tokens::$methodPrefixes | public static | property | Tokens that can prefix a method name |
Tokens::$ooScopeTokens | public static | property | Tokens that open class and object scopes. |
Tokens::$operators | public static | property | Tokens that perform operations. |
Tokens::$parenthesisOpeners | public static | property | Token types that open parenthesis. |
Tokens::$phpcsCommentTokens | public static | property | Tokens that are comments containing PHPCS instructions. |
Tokens::$scopeModifiers | public static | property | Tokens that represent scope modifiers. |
Tokens::$scopeOpeners | public static | property | Tokens that are allowed to open scopes. |
Tokens::$stringTokens | public static | property | Tokens that represent strings. |
Tokens::$textStringTokens | public static | property | Tokens that represent text strings. |
Tokens::$weightings | public static | property | The token weightings. |
Tokens::getHighestWeightedToken | public static | function | Returns the highest weighted token type. |
Tokens::tokenName | public static | function | Given a token, returns the name of the token. |