diff options
author | Craig Duncan <php@duncanc.co.uk> | 2019-08-10 12:39:53 +0100 |
---|---|---|
committer | Craig Duncan <duncan3dc@php.net> | 2019-08-10 16:04:30 +0100 |
commit | 7e7eaa0eb23fd67202ca669ff1b9e66993ba797a (patch) | |
tree | b9d9d3a96cb3ecd7fdcd990d7de1ef1efcd51a79 /ext/json | |
parent | ae721c488dc31c59a5a05b4220564ee8dbf8fbb0 (diff) | |
download | php-git-7e7eaa0eb23fd67202ca669ff1b9e66993ba797a.tar.gz |
Convert json functions arginfo to php stubs
Closes GH-4500
Diffstat (limited to 'ext/json')
-rw-r--r-- | ext/json/json.c | 22 | ||||
-rw-r--r-- | ext/json/json.stub.php | 11 | ||||
-rw-r--r-- | ext/json/json_arginfo.h | 20 |
3 files changed, 32 insertions, 21 deletions
diff --git a/ext/json/json.c b/ext/json/json.c index 8474642266..a68e6ea342 100644 --- a/ext/json/json.c +++ b/ext/json/json.c @@ -29,6 +29,7 @@ #include "php_json.h" #include "php_json_encoder.h" #include "php_json_parser.h" +#include "json_arginfo.h" #include <zend_exceptions.h> static PHP_MINFO_FUNCTION(json); @@ -42,27 +43,6 @@ PHP_JSON_API zend_class_entry *php_json_exception_ce; PHP_JSON_API ZEND_DECLARE_MODULE_GLOBALS(json) -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_json_encode, 0, 0, 1) - ZEND_ARG_INFO(0, value) - ZEND_ARG_INFO(0, options) - ZEND_ARG_INFO(0, depth) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_json_decode, 0, 0, 1) - ZEND_ARG_INFO(0, json) - ZEND_ARG_INFO(0, assoc) - ZEND_ARG_INFO(0, depth) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_json_last_error, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_json_last_error_msg, 0) -ZEND_END_ARG_INFO() -/* }}} */ - /* {{{ json_functions[] */ static const zend_function_entry json_functions[] = { PHP_FE(json_encode, arginfo_json_encode) diff --git a/ext/json/json.stub.php b/ext/json/json.stub.php new file mode 100644 index 0000000000..323cb6420d --- /dev/null +++ b/ext/json/json.stub.php @@ -0,0 +1,11 @@ +<?php + +/** @return string|false */ +function json_encode($value, int $options = 0, int $depth = 512) {} + +/** @return mixed */ +function json_decode(string $json, ?bool $assoc = null, int $depth = 512, int $options = 0) {} + +function json_last_error(): int {} + +function json_last_error_msg(): string {} diff --git a/ext/json/json_arginfo.h b/ext/json/json_arginfo.h new file mode 100644 index 0000000000..fa0dcea5ae --- /dev/null +++ b/ext/json/json_arginfo.h @@ -0,0 +1,20 @@ +/* This is a generated file, edit the .stub.php file instead. */ + +ZEND_BEGIN_ARG_INFO_EX(arginfo_json_encode, 0, 0, 1) + ZEND_ARG_INFO(0, value) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, depth, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_json_decode, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, json, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, assoc, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, depth, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_json_last_error, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_json_last_error_msg, 0, 0, IS_STRING, 0) +ZEND_END_ARG_INFO() |