php top-level property
Language
php
final
Implementation
final php = Language(
id: "php",
refs: {
'~contains~8': Mode(
relevance: 0,
match: [
"\\b",
"(?!fn\\b|function\\b|__CLASS__\\b|__DIR__\\b|__FILE__\\b|__FUNCTION__\\b|__COMPILER_HALT_OFFSET__\\b|__LINE__\\b|__METHOD__\\b|__NAMESPACE__\\b|__TRAIT__\\b|die\\b|echo\\b|exit\\b|include\\b|include_once\\b|print\\b|require\\b|require_once\\b|array\\b|abstract\\b|and\\b|as\\b|binary\\b|bool\\b|boolean\\b|break\\b|callable\\b|case\\b|catch\\b|class\\b|clone\\b|const\\b|continue\\b|declare\\b|default\\b|do\\b|double\\b|else\\b|elseif\\b|empty\\b|enddeclare\\b|endfor\\b|endforeach\\b|endif\\b|endswitch\\b|endwhile\\b|enum\\b|eval\\b|extends\\b|final\\b|finally\\b|float\\b|for\\b|foreach\\b|from\\b|global\\b|goto\\b|if\\b|implements\\b|instanceof\\b|insteadof\\b|int\\b|integer\\b|interface\\b|isset\\b|iterable\\b|list\\b|match\\b|mixed\\b|new\\b|never\\b|object\\b|or\\b|private\\b|protected\\b|public\\b|readonly\\b|real\\b|return\\b|string\\b|switch\\b|throw\\b|trait\\b|try\\b|unset\\b|use\\b|var\\b|void\\b|while\\b|xor\\b|yield|Error\\b|AppendIterator\\b|ArgumentCountError\\b|ArithmeticError\\b|ArrayIterator\\b|ArrayObject\\b|AssertionError\\b|BadFunctionCallException\\b|BadMethodCallException\\b|CachingIterator\\b|CallbackFilterIterator\\b|CompileError\\b|Countable\\b|DirectoryIterator\\b|DivisionByZeroError\\b|DomainException\\b|EmptyIterator\\b|ErrorException\\b|Exception\\b|FilesystemIterator\\b|FilterIterator\\b|GlobIterator\\b|InfiniteIterator\\b|InvalidArgumentException\\b|IteratorIterator\\b|LengthException\\b|LimitIterator\\b|LogicException\\b|MultipleIterator\\b|NoRewindIterator\\b|OutOfBoundsException\\b|OutOfRangeException\\b|OuterIterator\\b|OverflowException\\b|ParentIterator\\b|ParseError\\b|RangeException\\b|RecursiveArrayIterator\\b|RecursiveCachingIterator\\b|RecursiveCallbackFilterIterator\\b|RecursiveDirectoryIterator\\b|RecursiveFilterIterator\\b|RecursiveIterator\\b|RecursiveIteratorIterator\\b|RecursiveRegexIterator\\b|RecursiveTreeIterator\\b|RegexIterator\\b|RuntimeException\\b|SeekableIterator\\b|SplDoublyLinkedList\\b|SplFileInfo\\b|SplFileObject\\b|SplFixedArray\\b|SplHeap\\b|SplMaxHeap\\b|SplMinHeap\\b|SplObjectStorage\\b|SplObserver\\b|SplPriorityQueue\\b|SplQueue\\b|SplStack\\b|SplSubject\\b|SplTempFileObject\\b|TypeError\\b|UnderflowException\\b|UnexpectedValueException\\b|UnhandledMatchError\\b|ArrayAccess\\b|BackedEnum\\b|Closure\\b|Fiber\\b|Generator\\b|Iterator\\b|IteratorAggregate\\b|Serializable\\b|Stringable\\b|Throwable\\b|Traversable\\b|UnitEnum\\b|WeakReference\\b|WeakMap\\b|Directory\\b|__PHP_Incomplete_Class\\b|parent\\b|php_user_filter\\b|self\\b|static\\b|stdClass\\b)",
"[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![\$])",
"[ \t\n]*",
"(?=(?=\\())"
],
scope: {"3": "title.function.invoke"},
contains: [
Mode(
relevance: 0,
begin: "\\(",
end: "\\)",
keywords: {
"keyword": [
"__CLASS__",
"__DIR__",
"__FILE__",
"__FUNCTION__",
"__COMPILER_HALT_OFFSET__",
"__LINE__",
"__METHOD__",
"__NAMESPACE__",
"__TRAIT__",
"die",
"echo",
"exit",
"include",
"include_once",
"print",
"require",
"require_once",
"array",
"abstract",
"and",
"as",
"binary",
"bool",
"boolean",
"break",
"callable",
"case",
"catch",
"class",
"clone",
"const",
"continue",
"declare",
"default",
"do",
"double",
"else",
"elseif",
"empty",
"enddeclare",
"endfor",
"endforeach",
"endif",
"endswitch",
"endwhile",
"enum",
"eval",
"extends",
"final",
"finally",
"float",
"for",
"foreach",
"from",
"global",
"goto",
"if",
"implements",
"instanceof",
"insteadof",
"int",
"integer",
"interface",
"isset",
"iterable",
"list",
"match|0",
"mixed",
"new",
"never",
"object",
"or",
"private",
"protected",
"public",
"readonly",
"real",
"return",
"string",
"switch",
"throw",
"trait",
"try",
"unset",
"use",
"var",
"void",
"while",
"xor",
"yield"
],
"literal": ["false", "FALSE", "null", "NULL", "true", "TRUE"],
"built_in": [
"Error|0",
"AppendIterator",
"ArgumentCountError",
"ArithmeticError",
"ArrayIterator",
"ArrayObject",
"AssertionError",
"BadFunctionCallException",
"BadMethodCallException",
"CachingIterator",
"CallbackFilterIterator",
"CompileError",
"Countable",
"DirectoryIterator",
"DivisionByZeroError",
"DomainException",
"EmptyIterator",
"ErrorException",
"Exception",
"FilesystemIterator",
"FilterIterator",
"GlobIterator",
"InfiniteIterator",
"InvalidArgumentException",
"IteratorIterator",
"LengthException",
"LimitIterator",
"LogicException",
"MultipleIterator",
"NoRewindIterator",
"OutOfBoundsException",
"OutOfRangeException",
"OuterIterator",
"OverflowException",
"ParentIterator",
"ParseError",
"RangeException",
"RecursiveArrayIterator",
"RecursiveCachingIterator",
"RecursiveCallbackFilterIterator",
"RecursiveDirectoryIterator",
"RecursiveFilterIterator",
"RecursiveIterator",
"RecursiveIteratorIterator",
"RecursiveRegexIterator",
"RecursiveTreeIterator",
"RegexIterator",
"RuntimeException",
"SeekableIterator",
"SplDoublyLinkedList",
"SplFileInfo",
"SplFileObject",
"SplFixedArray",
"SplHeap",
"SplMaxHeap",
"SplMinHeap",
"SplObjectStorage",
"SplObserver",
"SplPriorityQueue",
"SplQueue",
"SplStack",
"SplSubject",
"SplTempFileObject",
"TypeError",
"UnderflowException",
"UnexpectedValueException",
"UnhandledMatchError",
"ArrayAccess",
"BackedEnum",
"Closure",
"Fiber",
"Generator",
"Iterator",
"IteratorAggregate",
"Serializable",
"Stringable",
"Throwable",
"Traversable",
"UnitEnum",
"WeakReference",
"WeakMap",
"Directory",
"__PHP_Incomplete_Class",
"parent",
"php_user_filter",
"self",
"static",
"stdClass"
]
},
contains: [
ModeReference('~contains~0~contains~0~contains~1'),
ModeReference('~contains~7'),
ModeReference('~contains~0~contains~0~contains~2'),
C_BLOCK_COMMENT_MODE,
ModeReference('~contains~0~contains~0~contains~4'),
ModeReference('~contains~0~contains~0~contains~5'),
ModeReference('~contains~0~contains~0~contains~6'),
ModeReference('~contains~8'),
],
),
],
),
'~contains~7': Mode(
scope: "variable",
match:
"\\\$+[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![\$])",
),
'~contains~0~contains~0~contains~6': Mode(
variants: [
Mode(
match: [
"new",
"[ \t\n]+",
"(?!Error\\b|AppendIterator\\b|ArgumentCountError\\b|ArithmeticError\\b|ArrayIterator\\b|ArrayObject\\b|AssertionError\\b|BadFunctionCallException\\b|BadMethodCallException\\b|CachingIterator\\b|CallbackFilterIterator\\b|CompileError\\b|Countable\\b|DirectoryIterator\\b|DivisionByZeroError\\b|DomainException\\b|EmptyIterator\\b|ErrorException\\b|Exception\\b|FilesystemIterator\\b|FilterIterator\\b|GlobIterator\\b|InfiniteIterator\\b|InvalidArgumentException\\b|IteratorIterator\\b|LengthException\\b|LimitIterator\\b|LogicException\\b|MultipleIterator\\b|NoRewindIterator\\b|OutOfBoundsException\\b|OutOfRangeException\\b|OuterIterator\\b|OverflowException\\b|ParentIterator\\b|ParseError\\b|RangeException\\b|RecursiveArrayIterator\\b|RecursiveCachingIterator\\b|RecursiveCallbackFilterIterator\\b|RecursiveDirectoryIterator\\b|RecursiveFilterIterator\\b|RecursiveIterator\\b|RecursiveIteratorIterator\\b|RecursiveRegexIterator\\b|RecursiveTreeIterator\\b|RegexIterator\\b|RuntimeException\\b|SeekableIterator\\b|SplDoublyLinkedList\\b|SplFileInfo\\b|SplFileObject\\b|SplFixedArray\\b|SplHeap\\b|SplMaxHeap\\b|SplMinHeap\\b|SplObjectStorage\\b|SplObserver\\b|SplPriorityQueue\\b|SplQueue\\b|SplStack\\b|SplSubject\\b|SplTempFileObject\\b|TypeError\\b|UnderflowException\\b|UnexpectedValueException\\b|UnhandledMatchError\\b|ArrayAccess\\b|BackedEnum\\b|Closure\\b|Fiber\\b|Generator\\b|Iterator\\b|IteratorAggregate\\b|Serializable\\b|Stringable\\b|Throwable\\b|Traversable\\b|UnitEnum\\b|WeakReference\\b|WeakMap\\b|Directory\\b|__PHP_Incomplete_Class\\b|parent\\b|php_user_filter\\b|self\\b|static\\b|stdClass\\b)",
"(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}(?![A-Za-z0-9])(?![\$])"
],
scope: {"1": "keyword", "4": "title.class"},
),
],
),
'~contains~0~contains~0~contains~5': Mode(
scope: "number",
variants: [
Mode(
begin: "\\b0[bB][01]+(?:_[01]+)*\\b",
),
Mode(
begin: "\\b0[oO][0-7]+(?:_[0-7]+)*\\b",
),
Mode(
begin: "\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b",
),
Mode(
begin:
"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?",
),
],
relevance: 0,
),
'~contains~0~contains~0~contains~4~variants~0~contains~1': Mode(
scope: "subst",
variants: [
Mode(
begin: "\\\$\\w+",
),
Mode(
begin: "\\{\\\$",
end: "\\}",
),
],
),
'~contains~0~contains~0~contains~4': Mode(
scope: "string",
variants: [
Mode(
scope: "string",
begin: "\"",
end: "\"",
illegal: null,
contains: [
BACKSLASH_ESCAPE,
ModeReference(
'~contains~0~contains~0~contains~4~variants~0~contains~1'),
],
),
Mode(
scope: "string",
begin: "'",
end: "'",
illegal: null,
contains: [
BACKSLASH_ESCAPE,
],
),
Mode(
begin: "<<<[ \\t]*(?:(\\w+)|\"(\\w+)\")\\n",
end: "[ \\t]*(\\w+)\\b",
contains: [
BACKSLASH_ESCAPE,
ModeReference(
'~contains~0~contains~0~contains~4~variants~0~contains~1'),
],
onBegin:
language_undefined_contains_0_contains_0_contains_0_variants_0_onBegin,
onEnd: endSameAsBeginOnEnd,
),
Mode(
begin: "<<<[ \\t]*'(\\w+)'\\n",
end: "[ \\t]*(\\w+)\\b",
onBegin: endSameAsBeginOnBegin,
onEnd: endSameAsBeginOnEnd,
),
],
),
'~contains~0~contains~0~contains~2': Mode(
variants: [
Mode(
match: [
"::(?=(?!class\\b))",
"[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![\$])\\b(?!\\()"
],
scope: {"2": "variable.constant"},
),
Mode(
match: ["::", "class"],
scope: {"2": "variable.language"},
),
Mode(
match: [
"(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}(?![A-Za-z0-9])(?![\$])",
"::(?=(?!class\\b))",
"[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![\$])\\b(?!\\()"
],
scope: {"1": "title.class", "3": "variable.constant"},
),
Mode(
match: [
"(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}(?![A-Za-z0-9])(?![\$])",
"::(?=(?!class\\b))"
],
scope: {"1": "title.class"},
),
Mode(
match: [
"(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}(?![A-Za-z0-9])(?![\$])",
"::",
"class"
],
scope: {"1": "title.class", "3": "variable.language"},
),
],
),
'~contains~0~contains~0~contains~1': Mode(
scope: "attr",
match:
"[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![\$])(?=:)(?=(?!::))",
),
},
case_insensitive: false,
keywords: {
"keyword": [
"__CLASS__",
"__DIR__",
"__FILE__",
"__FUNCTION__",
"__COMPILER_HALT_OFFSET__",
"__LINE__",
"__METHOD__",
"__NAMESPACE__",
"__TRAIT__",
"die",
"echo",
"exit",
"include",
"include_once",
"print",
"require",
"require_once",
"array",
"abstract",
"and",
"as",
"binary",
"bool",
"boolean",
"break",
"callable",
"case",
"catch",
"class",
"clone",
"const",
"continue",
"declare",
"default",
"do",
"double",
"else",
"elseif",
"empty",
"enddeclare",
"endfor",
"endforeach",
"endif",
"endswitch",
"endwhile",
"enum",
"eval",
"extends",
"final",
"finally",
"float",
"for",
"foreach",
"from",
"global",
"goto",
"if",
"implements",
"instanceof",
"insteadof",
"int",
"integer",
"interface",
"isset",
"iterable",
"list",
"match|0",
"mixed",
"new",
"never",
"object",
"or",
"private",
"protected",
"public",
"readonly",
"real",
"return",
"string",
"switch",
"throw",
"trait",
"try",
"unset",
"use",
"var",
"void",
"while",
"xor",
"yield"
],
"literal": ["false", "FALSE", "null", "NULL", "true", "TRUE"],
"built_in": [
"Error|0",
"AppendIterator",
"ArgumentCountError",
"ArithmeticError",
"ArrayIterator",
"ArrayObject",
"AssertionError",
"BadFunctionCallException",
"BadMethodCallException",
"CachingIterator",
"CallbackFilterIterator",
"CompileError",
"Countable",
"DirectoryIterator",
"DivisionByZeroError",
"DomainException",
"EmptyIterator",
"ErrorException",
"Exception",
"FilesystemIterator",
"FilterIterator",
"GlobIterator",
"InfiniteIterator",
"InvalidArgumentException",
"IteratorIterator",
"LengthException",
"LimitIterator",
"LogicException",
"MultipleIterator",
"NoRewindIterator",
"OutOfBoundsException",
"OutOfRangeException",
"OuterIterator",
"OverflowException",
"ParentIterator",
"ParseError",
"RangeException",
"RecursiveArrayIterator",
"RecursiveCachingIterator",
"RecursiveCallbackFilterIterator",
"RecursiveDirectoryIterator",
"RecursiveFilterIterator",
"RecursiveIterator",
"RecursiveIteratorIterator",
"RecursiveRegexIterator",
"RecursiveTreeIterator",
"RegexIterator",
"RuntimeException",
"SeekableIterator",
"SplDoublyLinkedList",
"SplFileInfo",
"SplFileObject",
"SplFixedArray",
"SplHeap",
"SplMaxHeap",
"SplMinHeap",
"SplObjectStorage",
"SplObserver",
"SplPriorityQueue",
"SplQueue",
"SplStack",
"SplSubject",
"SplTempFileObject",
"TypeError",
"UnderflowException",
"UnexpectedValueException",
"UnhandledMatchError",
"ArrayAccess",
"BackedEnum",
"Closure",
"Fiber",
"Generator",
"Iterator",
"IteratorAggregate",
"Serializable",
"Stringable",
"Throwable",
"Traversable",
"UnitEnum",
"WeakReference",
"WeakMap",
"Directory",
"__PHP_Incomplete_Class",
"parent",
"php_user_filter",
"self",
"static",
"stdClass"
]
},
contains: [
Mode(
begin:
"#\\[\\s*(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}(?![A-Za-z0-9])(?![\$])",
beginScope: "meta",
end: "]",
endScope: "meta",
keywords: {
"literal": ["false", "null", "true"],
"keyword": ["new", "array"]
},
contains: [
Mode(
begin: "\\[",
end: "]",
keywords: {
"literal": ["false", "null", "true"],
"keyword": ["new", "array"]
},
contains: [
ModeSelfReference(),
ModeReference('~contains~0~contains~0~contains~1'),
ModeReference('~contains~0~contains~0~contains~2'),
C_BLOCK_COMMENT_MODE,
ModeReference('~contains~0~contains~0~contains~4'),
ModeReference('~contains~0~contains~0~contains~5'),
ModeReference('~contains~0~contains~0~contains~6'),
],
),
ModeReference('~contains~0~contains~0~contains~1'),
ModeReference('~contains~0~contains~0~contains~2'),
C_BLOCK_COMMENT_MODE,
ModeReference('~contains~0~contains~0~contains~4'),
ModeReference('~contains~0~contains~0~contains~5'),
ModeReference('~contains~0~contains~0~contains~6'),
Mode(
scope: "meta",
match:
"(\\\\?[A-Z][a-z0-9_\\x7f-\\xff]+|\\\\?[A-Z]+(?=[A-Z][a-z0-9_\\x7f-\\xff])){1,}(?![A-Za-z0-9])(?![\$])",
),
],
),
HASH_COMMENT_MODE,
Mode(
scope: "comment",
begin: "//",
end: "\$",
contains: [
Mode(
scope: "doctag",
begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
),
Mode(
scope: "comment",
begin: "/\\*",
end: "\\*/",
contains: [
Mode(
scope: "doctag",
match: "@[A-Za-z]+",
),
Mode(
scope: "doctag",
begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
excludeBegin: true,
relevance: 0,
),
Mode(
begin:
"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
),
],
),
Mode(
match: "__halt_compiler\\(\\);",
keywords: "__halt_compiler",
starts: Mode(
scope: "comment",
end: "\\b\\B",
contains: [
Mode(
match: "\\?>",
scope: "meta",
endsParent: true,
),
],
),
),
Mode(
scope: "meta",
variants: [
Mode(
begin: "<\\?php",
relevance: 10,
),
Mode(
begin: "<\\?=",
),
Mode(
begin: "<\\?",
relevance: 0.1,
),
Mode(
begin: "\\?>",
),
],
),
Mode(
scope: "variable.language",
match: "\\\$this\\b",
),
ModeReference('~contains~7'),
ModeReference('~contains~8'),
ModeReference('~contains~0~contains~0~contains~2'),
Mode(
match: [
"const",
"\\s",
"[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*(?![A-Za-z0-9])(?![\$])"
],
scope: {"1": "keyword", "3": "variable.constant"},
),
ModeReference('~contains~0~contains~0~contains~6'),
Mode(
scope: "function",
relevance: 0,
beginKeywords: "fn function",
end: "[;{]",
excludeEnd: true,
illegal: "[\$%\\[]",
contains: [
Mode(
beginKeywords: "use",
),
UNDERSCORE_TITLE_MODE,
Mode(
begin: "=>",
endsParent: true,
),
Mode(
scope: "params",
begin: "\\(",
end: "\\)",
excludeBegin: true,
excludeEnd: true,
keywords: {
"keyword": [
"__CLASS__",
"__DIR__",
"__FILE__",
"__FUNCTION__",
"__COMPILER_HALT_OFFSET__",
"__LINE__",
"__METHOD__",
"__NAMESPACE__",
"__TRAIT__",
"die",
"echo",
"exit",
"include",
"include_once",
"print",
"require",
"require_once",
"array",
"abstract",
"and",
"as",
"binary",
"bool",
"boolean",
"break",
"callable",
"case",
"catch",
"class",
"clone",
"const",
"continue",
"declare",
"default",
"do",
"double",
"else",
"elseif",
"empty",
"enddeclare",
"endfor",
"endforeach",
"endif",
"endswitch",
"endwhile",
"enum",
"eval",
"extends",
"final",
"finally",
"float",
"for",
"foreach",
"from",
"global",
"goto",
"if",
"implements",
"instanceof",
"insteadof",
"int",
"integer",
"interface",
"isset",
"iterable",
"list",
"match|0",
"mixed",
"new",
"never",
"object",
"or",
"private",
"protected",
"public",
"readonly",
"real",
"return",
"string",
"switch",
"throw",
"trait",
"try",
"unset",
"use",
"var",
"void",
"while",
"xor",
"yield"
],
"literal": ["false", "FALSE", "null", "NULL", "true", "TRUE"],
"built_in": [
"Error|0",
"AppendIterator",
"ArgumentCountError",
"ArithmeticError",
"ArrayIterator",
"ArrayObject",
"AssertionError",
"BadFunctionCallException",
"BadMethodCallException",
"CachingIterator",
"CallbackFilterIterator",
"CompileError",
"Countable",
"DirectoryIterator",
"DivisionByZeroError",
"DomainException",
"EmptyIterator",
"ErrorException",
"Exception",
"FilesystemIterator",
"FilterIterator",
"GlobIterator",
"InfiniteIterator",
"InvalidArgumentException",
"IteratorIterator",
"LengthException",
"LimitIterator",
"LogicException",
"MultipleIterator",
"NoRewindIterator",
"OutOfBoundsException",
"OutOfRangeException",
"OuterIterator",
"OverflowException",
"ParentIterator",
"ParseError",
"RangeException",
"RecursiveArrayIterator",
"RecursiveCachingIterator",
"RecursiveCallbackFilterIterator",
"RecursiveDirectoryIterator",
"RecursiveFilterIterator",
"RecursiveIterator",
"RecursiveIteratorIterator",
"RecursiveRegexIterator",
"RecursiveTreeIterator",
"RegexIterator",
"RuntimeException",
"SeekableIterator",
"SplDoublyLinkedList",
"SplFileInfo",
"SplFileObject",
"SplFixedArray",
"SplHeap",
"SplMaxHeap",
"SplMinHeap",
"SplObjectStorage",
"SplObserver",
"SplPriorityQueue",
"SplQueue",
"SplStack",
"SplSubject",
"SplTempFileObject",
"TypeError",
"UnderflowException",
"UnexpectedValueException",
"UnhandledMatchError",
"ArrayAccess",
"BackedEnum",
"Closure",
"Fiber",
"Generator",
"Iterator",
"IteratorAggregate",
"Serializable",
"Stringable",
"Throwable",
"Traversable",
"UnitEnum",
"WeakReference",
"WeakMap",
"Directory",
"__PHP_Incomplete_Class",
"parent",
"php_user_filter",
"self",
"static",
"stdClass"
]
},
contains: [
ModeSelfReference(),
ModeReference('~contains~7'),
ModeReference('~contains~0~contains~0~contains~2'),
C_BLOCK_COMMENT_MODE,
ModeReference('~contains~0~contains~0~contains~4'),
ModeReference('~contains~0~contains~0~contains~5'),
],
),
],
),
Mode(
scope: "class",
variants: [
Mode(
beginKeywords: "enum",
illegal: "[(\$\"]",
),
Mode(
beginKeywords: "class interface trait",
illegal: "[:(\$\"]",
),
],
relevance: 0,
end: "\\{",
excludeEnd: true,
contains: [
Mode(
beginKeywords: "extends implements",
),
UNDERSCORE_TITLE_MODE,
],
),
Mode(
beginKeywords: "namespace",
relevance: 0,
end: ";",
illegal: "[.']",
contains: [
Mode(
scope: "title.class",
begin: "[a-zA-Z_]\\w*",
relevance: 0,
),
],
),
Mode(
beginKeywords: "use",
relevance: 0,
end: ";",
contains: [
Mode(
match: "\\b(as|const|function)\\b",
scope: "keyword",
),
UNDERSCORE_TITLE_MODE,
],
),
ModeReference('~contains~0~contains~0~contains~4'),
ModeReference('~contains~0~contains~0~contains~5'),
],
);