Skip to content

Commit 3e48e52

Browse files
authored
Register parameter attributes via stub in ext/zend_test (#10183)
1 parent 8b37c4e commit 3e48e52

File tree

3 files changed

+58
-54
lines changed

3 files changed

+58
-54
lines changed

ext/zend_test/test.c

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -747,61 +747,12 @@ PHP_MINIT_FUNCTION(zend_test)
747747
zend_test_parameter_attribute = register_class_ZendTestParameterAttribute();
748748
zend_mark_internal_attribute(zend_test_parameter_attribute);
749749

750-
{
751-
zend_attribute *attr;
752-
753-
attr = zend_add_parameter_attribute(
754-
zend_hash_str_find_ptr(CG(function_table), "zend_test_parameter_with_attribute", sizeof("zend_test_parameter_with_attribute") - 1),
755-
0,
756-
zend_test_parameter_attribute->name,
757-
1
758-
);
759-
760-
ZVAL_PSTRING(&attr->args[0].value, "value1");
761-
}
762-
763750
zend_test_property_attribute = register_class_ZendTestPropertyAttribute();
764751
zend_mark_internal_attribute(zend_test_property_attribute);
765752

766753
zend_test_class_with_method_with_parameter_attribute = register_class_ZendTestClassWithMethodWithParameterAttribute();
767-
768-
{
769-
zend_attribute *attr;
770-
771-
attr = zend_add_parameter_attribute(
772-
zend_hash_str_find_ptr(&zend_test_class_with_method_with_parameter_attribute->function_table, "no_override", sizeof("no_override") - 1),
773-
0,
774-
zend_test_parameter_attribute->name,
775-
1
776-
);
777-
778-
ZVAL_PSTRING(&attr->args[0].value, "value2");
779-
780-
attr = zend_add_parameter_attribute(
781-
zend_hash_str_find_ptr(&zend_test_class_with_method_with_parameter_attribute->function_table, "override", sizeof("override") - 1),
782-
0,
783-
zend_test_parameter_attribute->name,
784-
1
785-
);
786-
787-
ZVAL_PSTRING(&attr->args[0].value, "value3");
788-
}
789-
790754
zend_test_child_class_with_method_with_parameter_attribute = register_class_ZendTestChildClassWithMethodWithParameterAttribute(zend_test_class_with_method_with_parameter_attribute);
791755

792-
{
793-
zend_attribute *attr;
794-
795-
attr = zend_add_parameter_attribute(
796-
zend_hash_str_find_ptr(&zend_test_child_class_with_method_with_parameter_attribute->function_table, "override", sizeof("override") - 1),
797-
0,
798-
zend_test_parameter_attribute->name,
799-
1
800-
);
801-
802-
ZVAL_PSTRING(&attr->args[0].value, "value4");
803-
}
804-
805756
zend_test_forbid_dynamic_call = register_class_ZendTestForbidDynamicCall();
806757

807758
zend_test_ns_foo_class = register_class_ZendTestNS_Foo();

ext/zend_test/test.stub.php

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,21 @@ public function __construct(string $parameter) {}
7474
}
7575

7676
class ZendTestClassWithMethodWithParameterAttribute {
77-
final public function no_override(string $parameter): int {}
78-
public function override(string $parameter): int {}
77+
final public function no_override(
78+
#[ZendTestParameterAttribute("value2")]
79+
string $parameter
80+
): int {}
81+
public function override(
82+
#[ZendTestParameterAttribute("value3")]
83+
string $parameter
84+
): int {}
7985
}
8086

8187
class ZendTestChildClassWithMethodWithParameterAttribute extends ZendTestClassWithMethodWithParameterAttribute {
82-
public function override(string $parameter): int {}
88+
public function override(
89+
#[ZendTestParameterAttribute("value4")]
90+
string $parameter
91+
): int {}
8392
}
8493

8594
final class ZendTestForbidDynamicCall {
@@ -151,7 +160,10 @@ function zend_weakmap_dump(): array {}
151160

152161
function zend_get_unit_enum(): ZendTestUnitEnum {}
153162

154-
function zend_test_parameter_with_attribute(string $parameter): int {}
163+
function zend_test_parameter_with_attribute(
164+
#[ZendTestParameterAttribute("value1")]
165+
string $parameter
166+
): int {}
155167

156168
function zend_get_current_func_name(): string {}
157169

ext/zend_test/test_arginfo.h

Lines changed: 42 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)