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.
36 lines
1.1 KiB
36 lines
1.1 KiB
<?php
|
|
|
|
final class GenStubVersionFlagsTest extends BaseTest
|
|
{
|
|
public function testPersistentStringMetadataUsesANonRefcountedInternedZval(): void
|
|
{
|
|
global $translator;
|
|
$translator = \TypePhp\CompilerTest::create(ROOT_PATH);
|
|
|
|
$value = EvaluatedValue::createFromExpression(
|
|
new PhpParser\Node\Scalar\String_('PHP'),
|
|
null,
|
|
null,
|
|
[],
|
|
);
|
|
|
|
$code = $value->initializeZval('property_lang_default_value');
|
|
|
|
self::assertStringContainsString('zend_string_init_interned("PHP"', $code);
|
|
self::assertStringContainsString(
|
|
'ZVAL_INTERNED_STR(&property_lang_default_value, property_lang_default_value_str);',
|
|
$code,
|
|
);
|
|
}
|
|
|
|
public function testFlagIntroducedBeforeMinimumSupportedVersionRemainsEnabled(): void
|
|
{
|
|
$flags = new VersionFlags(['ZEND_ACC_PRIVATE']);
|
|
$flags->addForVersionsAbove('ZEND_ACC_STATIC', PHP_70_VERSION_ID);
|
|
|
|
self::assertSame(
|
|
'ZEND_ACC_PRIVATE|ZEND_ACC_STATIC',
|
|
$flags->generateVersionDependentFlagCode('%s', null),
|
|
);
|
|
}
|
|
}
|
|
|