TypePHP 编译器 https://swoole.com/aot/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

56 lines
1003 B

<?php
function call_cache_target(int $value): int
{
return $value + 1;
}
function call_cache_sites(mixed $callback, object $object, ?object $nullable, mixed $method): array
{
return [
$callback(1),
$object->$method(2),
$object->fixedMethod(3),
$nullable?->nullableMethod(4),
$nullable?->$method(5),
];
}
function call_cache_known_internal_method(ArrayObject $object): int
{
return $object->count();
}
class CallCacheStaticTarget
{
public static function fixedMethod(int $value): int
{
return $value + 1;
}
}
function call_cache_static_sites(mixed $class, mixed $method): array
{
return [
$class::$method(5),
CallCacheStaticTarget::$method(6),
$class::fixedMethod(7),
];
}
class CallCacheScopedTarget
{
private function hidden(): int
{
return 3;
}
public function invoke(mixed $method): int
{
return $this->$method();
}
}
function main(): void
{
}