Skip to content

Commit e99d5d3

Browse files
committed
Add stubs for zend_test
1 parent 8039225 commit e99d5d3

File tree

3 files changed

+49
-23
lines changed

3 files changed

+49
-23
lines changed

ext/zend_test/test.c

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,34 +22,14 @@
2222
#include "php_ini.h"
2323
#include "ext/standard/info.h"
2424
#include "php_test.h"
25+
#include "test_arginfo.h"
2526

2627
static zend_class_entry *zend_test_interface;
2728
static zend_class_entry *zend_test_class;
2829
static zend_class_entry *zend_test_child_class;
2930
static zend_class_entry *zend_test_trait;
3031
static zend_object_handlers zend_test_class_handlers;
3132

32-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_zend_test_array_return, IS_ARRAY, 0)
33-
ZEND_END_ARG_INFO()
34-
35-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_zend_test_nullable_array_return, IS_ARRAY, 1)
36-
ZEND_END_ARG_INFO()
37-
38-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_zend_test_void_return, IS_VOID, 0)
39-
ZEND_END_ARG_INFO()
40-
41-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_zend_test_deprecated, IS_VOID, 0)
42-
ZEND_ARG_INFO(0, arg1)
43-
ZEND_END_ARG_INFO()
44-
45-
ZEND_BEGIN_ARG_INFO_EX(arginfo_zend_terminate_string, 0, 0, 1)
46-
ZEND_ARG_INFO(1, str)
47-
ZEND_END_ARG_INFO()
48-
49-
ZEND_BEGIN_ARG_INFO_EX(arginfo_zend_leak_variable, 0, 0, 1)
50-
ZEND_ARG_INFO(0, variable)
51-
ZEND_END_ARG_INFO()
52-
5333
ZEND_FUNCTION(zend_test_func)
5434
{
5535
RETVAL_STR_COPY(EX(func)->common.function_name);
@@ -336,9 +316,9 @@ static const zend_function_entry zend_test_functions[] = {
336316
ZEND_FE(zend_test_nullable_array_return, arginfo_zend_test_nullable_array_return)
337317
ZEND_FE(zend_test_void_return, arginfo_zend_test_void_return)
338318
ZEND_DEP_FE(zend_test_deprecated, arginfo_zend_test_deprecated)
339-
ZEND_FE(zend_create_unterminated_string, NULL)
319+
ZEND_FE(zend_create_unterminated_string, arginfo_zend_create_unterminated_string)
340320
ZEND_FE(zend_terminate_string, arginfo_zend_terminate_string)
341-
ZEND_FE(zend_leak_bytes, NULL)
321+
ZEND_FE(zend_leak_bytes, arginfo_zend_leak_bytes)
342322
ZEND_FE(zend_leak_variable, arginfo_zend_leak_variable)
343323
ZEND_FE_END
344324
};

ext/zend_test/test.stub.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
function zend_test_array_return(): array {}
4+
5+
function zend_test_nullable_array_return(): ?array {}
6+
7+
function zend_test_void_return(): void {}
8+
9+
function zend_test_deprecated(): void {}
10+
11+
function zend_create_unterminated_string(string $str): string {}
12+
13+
function zend_terminate_string(string &$str) {}
14+
15+
/** @param mixed $variable */
16+
function zend_leak_variable($variable): void {}
17+
18+
function zend_leak_bytes(int $bytes = 3): void {}

ext/zend_test/test_arginfo.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/* This is a generated file, edit the .stub.php file instead. */
2+
3+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_array_return, 0, 0, IS_ARRAY, 0)
4+
ZEND_END_ARG_INFO()
5+
6+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_nullable_array_return, 0, 0, IS_ARRAY, 1)
7+
ZEND_END_ARG_INFO()
8+
9+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_void_return, 0, 0, IS_VOID, 0)
10+
ZEND_END_ARG_INFO()
11+
12+
#define arginfo_zend_test_deprecated arginfo_zend_test_void_return
13+
14+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_create_unterminated_string, 0, 1, IS_STRING, 0)
15+
ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
16+
ZEND_END_ARG_INFO()
17+
18+
ZEND_BEGIN_ARG_INFO_EX(arginfo_zend_terminate_string, 0, 0, 1)
19+
ZEND_ARG_TYPE_INFO(1, str, IS_STRING, 0)
20+
ZEND_END_ARG_INFO()
21+
22+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_leak_variable, 0, 1, IS_VOID, 0)
23+
ZEND_ARG_INFO(0, variable)
24+
ZEND_END_ARG_INFO()
25+
26+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_leak_bytes, 0, 0, IS_VOID, 0)
27+
ZEND_ARG_TYPE_INFO(0, bytes, IS_LONG, 0)
28+
ZEND_END_ARG_INFO()

0 commit comments

Comments
 (0)