2024-03-18 21:19:50 -05:00
|
|
|
<?php
|
|
|
|
|
|
2024-08-18 05:30:04 -05:00
|
|
|
namespace Foo\Bar;
|
|
|
|
|
//^^^^^^^ @keyword.type
|
|
|
|
|
|
|
|
|
|
use Foo\Baz as Baaz;
|
|
|
|
|
//^ @keyword.import
|
|
|
|
|
// ^^ @keyword.operator
|
2025-01-02 11:27:28 -06:00
|
|
|
|
2024-08-18 05:30:04 -05:00
|
|
|
use function Foo\foo as fooo;
|
|
|
|
|
// ^^^^^^^^ @keyword.function
|
2025-01-02 11:27:28 -06:00
|
|
|
|
2024-08-18 05:30:04 -05:00
|
|
|
use const Foo\FOO as FOOO;
|
|
|
|
|
// ^^^^^ @keyword.modifier
|
2025-01-02 11:27:28 -06:00
|
|
|
|
2024-08-18 05:30:04 -05:00
|
|
|
use Foo\Baz\{
|
|
|
|
|
function foo,
|
|
|
|
|
//^^^^^^^^ @keyword.function
|
|
|
|
|
const FOO,
|
|
|
|
|
//^^^^^ @keyword.modifier
|
|
|
|
|
};
|
|
|
|
|
|
2024-03-18 21:19:50 -05:00
|
|
|
abstract class A
|
|
|
|
|
{
|
|
|
|
|
protected readonly static $a;
|
|
|
|
|
//^^^^^^^^^ @keyword.modifier
|
|
|
|
|
// ^^^^^^^^ @keyword.modifier
|
|
|
|
|
// ^^^^^^ @keyword.modifier
|
|
|
|
|
public static function foo(): static {}
|
|
|
|
|
//^^^^^^ @keyword.modifier
|
|
|
|
|
// ^^^^^^ @keyword.modifier
|
|
|
|
|
// ^^^^^^^^ @keyword.function
|
|
|
|
|
// ^^^ @function.method
|
|
|
|
|
// ^^^^^^ @type.builtin
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class B extends A implements T
|
|
|
|
|
// ^ @type
|
|
|
|
|
// ^^^^^^^ @keyword
|
|
|
|
|
// ^^^^^^^^^^ @keyword
|
|
|
|
|
{
|
|
|
|
|
use T, U {
|
|
|
|
|
//^^^ @keyword.import
|
|
|
|
|
U::small insteadof T;
|
|
|
|
|
// ^ @type
|
2024-03-18 22:42:44 -05:00
|
|
|
// ^^^^^ @function.method
|
2024-03-18 21:19:50 -05:00
|
|
|
// ^^^^^^^^^ @keyword
|
|
|
|
|
// ^ @type
|
2024-03-18 22:42:44 -05:00
|
|
|
T::big as protected tBig;
|
|
|
|
|
// ^ @type
|
|
|
|
|
// ^^^ @function.method
|
|
|
|
|
// ^^ @keyword.operator
|
|
|
|
|
// ^^^^^^^^^ @keyword.modifier
|
|
|
|
|
// ^^^^ @function.method
|
|
|
|
|
big as private tBig;
|
|
|
|
|
// ^^^ @function.method
|
|
|
|
|
// ^^ @keyword.operator
|
|
|
|
|
// ^^^^^^^^^ @keyword.modifier
|
|
|
|
|
// ^^^^ @function.method
|
2024-03-18 21:19:50 -05:00
|
|
|
}
|
|
|
|
|
public function foo(callable $call): self
|
|
|
|
|
// ^^^^^^^^ @type.builtin
|
|
|
|
|
// ^^^^ @type.builtin
|
|
|
|
|
{
|
|
|
|
|
static $a;
|
|
|
|
|
// ^^^^^^ @keyword.modifier
|
|
|
|
|
yield $a;
|
|
|
|
|
// ^^^^^ @keyword.return
|
|
|
|
|
yield from $a;
|
|
|
|
|
// ^^^^ @keyword.return
|
|
|
|
|
print "a";
|
|
|
|
|
// ^^^^^ @keyword
|
|
|
|
|
print("a");
|
|
|
|
|
// ^^^^^ @keyword
|
|
|
|
|
exit;
|
2024-03-18 22:42:44 -05:00
|
|
|
// ^^^^ @keyword.return
|
2024-03-18 21:19:50 -05:00
|
|
|
exit();
|
|
|
|
|
// ^^^^ @function.builtin
|
|
|
|
|
exit(1);
|
|
|
|
|
// ^^^^ @function.builtin
|
|
|
|
|
}
|
|
|
|
|
}
|