]> granicus.if.org Git - php/commitdiff
Various function info fixes
authorNikita Popov <nikic@php.net>
Fri, 14 Oct 2016 22:13:24 +0000 (00:13 +0200)
committerNikita Popov <nikic@php.net>
Sat, 15 Oct 2016 21:58:31 +0000 (23:58 +0200)
ext/opcache/Optimizer/zend_func_info.c

index 528f0d637bf34379273e459101497240affc1684..d9e3d5ee4ffcc052b72369c806751211d71d57f5 100644 (file)
@@ -237,7 +237,7 @@ static const func_info_t func_infos[] = {
        F0("is_subclass_of",          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE), // TODO: inline
        F0("is_a",                    MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE), // TODO: inline
        F1("get_class_vars",          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF),
-       F1("get_object_vars",         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF),
+       FN("get_object_vars",         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF),
        F1("get_class_methods",       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F0("method_exists",           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
        F0("property_exists",         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
@@ -256,7 +256,7 @@ static const func_info_t func_infos[] = {
        F1("get_declared_interfaces", MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F1("get_defined_functions",   MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ARRAY),
        I1("get_defined_vars",        MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF),
-       F1("create_function",         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_STRING),
+       FN("create_function",         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_STRING),
        F1("get_resource_type",       MAY_BE_NULL | MAY_BE_STRING),
        F1("get_defined_constants",   MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_NULL | MAY_BE_ARRAY_OF_FALSE | MAY_BE_ARRAY_OF_TRUE | MAY_BE_ARRAY_OF_LONG | MAY_BE_ARRAY_OF_DOUBLE | MAY_BE_ARRAY_OF_STRING | MAY_BE_ARRAY_OF_RESOURCE | MAY_BE_ARRAY_OF_ARRAY),
        F0("debug_print_backtrace",   MAY_BE_NULL),
@@ -637,11 +637,11 @@ static const func_info_t func_infos[] = {
        F0("stream_context_set_params",    MAY_BE_FALSE | MAY_BE_TRUE),
        F1("stream_context_get_params",    MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
        F0("stream_context_set_option",    MAY_BE_FALSE | MAY_BE_TRUE),
-       F1("stream_context_get_options",   MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
+       FN("stream_context_get_options",   MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
        FN("stream_context_get_default",   MAY_BE_FALSE | MAY_BE_RESOURCE),
        FN("stream_context_set_default",   MAY_BE_FALSE | MAY_BE_RESOURCE),
-       F1("stream_filter_prepend",        MAY_BE_FALSE | MAY_BE_RESOURCE),
-       F1("stream_filter_append",         MAY_BE_FALSE | MAY_BE_RESOURCE),
+       FN("stream_filter_prepend",        MAY_BE_FALSE | MAY_BE_RESOURCE),
+       FN("stream_filter_append",         MAY_BE_FALSE | MAY_BE_RESOURCE),
        F0("stream_filter_remove",         MAY_BE_FALSE | MAY_BE_TRUE),
        F1("stream_socket_client",         MAY_BE_FALSE | MAY_BE_RESOURCE),
        F1("stream_socket_server",         MAY_BE_FALSE | MAY_BE_RESOURCE),
@@ -698,7 +698,7 @@ static const func_info_t func_infos[] = {
        F1("unpack",                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY),
        F1("get_browser",                  MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_OBJECT | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
        F1("crypt",                        MAY_BE_NULL | MAY_BE_STRING),
-       F1("opendir",                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_RESOURCE),
+       FN("opendir",                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_RESOURCE),
        F0("closedir",                     MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
        F0("chdir",                        MAY_BE_FALSE | MAY_BE_TRUE),
 #if defined(HAVE_CHROOT) && !defined(ZTS) && ENABLE_CHROOT_FUNC
@@ -844,7 +844,7 @@ static const func_info_t func_infos[] = {
        F0("array_sum",                    MAY_BE_NULL | MAY_BE_LONG | MAY_BE_DOUBLE),
        F0("array_product",                MAY_BE_NULL | MAY_BE_LONG | MAY_BE_DOUBLE),
        F1("array_filter",                 MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_ARRAY_OF_ANY),
-       F1("array_map",                    MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_ARRAY_OF_ANY),
+       FN("array_map",                    MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_ARRAY_OF_ANY),
        F1("array_chunk",                  MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_ARRAY_OF_ANY),
        F1("array_combine",                MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_ARRAY_OF_ANY),
        F0("array_key_exists",             MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
@@ -921,14 +921,14 @@ static const func_info_t func_infos[] = {
        F1("date_sun_info",                         MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_FALSE | MAY_BE_ARRAY_OF_TRUE | MAY_BE_ARRAY_OF_LONG),
 
        /* ext/preg */
-       F0("preg_match",                                            MAY_BE_FALSE | MAY_BE_LONG),
-       F0("preg_match_all",                                MAY_BE_FALSE | MAY_BE_LONG),
-       F1("preg_replace",                                      MAY_BE_FALSE | MAY_BE_STRING | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_STRING),
-       F1("preg_replace_callback",                     MAY_BE_FALSE | MAY_BE_STRING | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_STRING),
+       F0("preg_match",                                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
+       F0("preg_match_all",                                MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
+       FN("preg_replace",                                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_STRING),
+       FN("preg_replace_callback",                     MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_STRING),
        F1("preg_filter",                                           MAY_BE_FALSE | MAY_BE_STRING | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_STRING),
-       F1("preg_split",                                            MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
+       F1("preg_split",                                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING | MAY_BE_ARRAY_OF_ARRAY),
        F1("preg_quote",                                            MAY_BE_NULL | MAY_BE_STRING),
-       F1("preg_grep",                                         MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_ARRAY_OF_ANY),
+       F1("preg_grep",                                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_REF | MAY_BE_ARRAY_OF_ANY),
        F0("preg_last_error",                               MAY_BE_NULL | MAY_BE_LONG),
 
        /* ext/ereg */
@@ -1029,7 +1029,7 @@ static const func_info_t func_infos[] = {
        F0("curl_multi_remove_handle",              MAY_BE_NULL | MAY_BE_LONG),
        F0("curl_multi_select",                     MAY_BE_NULL | MAY_BE_LONG),
        F0("curl_multi_exec",                       MAY_BE_NULL | MAY_BE_LONG),
-       F1("curl_multi_getcontent",                 MAY_BE_NULL | MAY_BE_STRING),
+       FN("curl_multi_getcontent",                 MAY_BE_NULL | MAY_BE_STRING),
        F1("curl_multi_info_read",                  MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_LONG | MAY_BE_ARRAY_OF_RESOURCE),
        F0("curl_multi_close",                      MAY_BE_NULL),
        F0("curl_multi_setopt",                     MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
@@ -1042,30 +1042,30 @@ static const func_info_t func_infos[] = {
        F1("mb_convert_case",                       MAY_BE_FALSE | MAY_BE_STRING),
        F1("mb_strtoupper",                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        F1("mb_strtolower",                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
-       F1("mb_language",                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
-       F1("mb_internal_encoding",                  MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_language",                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_STRING),
+       F1("mb_internal_encoding",                  MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_STRING),
        F1("mb_http_input",                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
-       F1("mb_http_output",                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_http_output",                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_STRING),
        F1("mb_detect_order",                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
-       F1("mb_substitute_character",               MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG | MAY_BE_STRING),
+       F1("mb_substitute_character",               MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_LONG | MAY_BE_STRING),
        F0("mb_parse_str",                          MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
        F1("mb_output_handler",                     MAY_BE_NULL | MAY_BE_STRING),
        F1("mb_preferred_mime_name",                MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
-       F0("mb_strlen",                             MAY_BE_FALSE | MAY_BE_LONG),
-       F0("mb_strpos",                             MAY_BE_FALSE | MAY_BE_LONG),
-       F0("mb_strrpos",                            MAY_BE_FALSE | MAY_BE_LONG),
-       F0("mb_stripos",                            MAY_BE_FALSE | MAY_BE_LONG),
-       F0("mb_strripos",                           MAY_BE_FALSE | MAY_BE_LONG),
-       F1("mb_strstr",                             MAY_BE_FALSE | MAY_BE_STRING),
-       F1("mb_strrchr",                            MAY_BE_FALSE | MAY_BE_STRING),
-       F1("mb_stristr",                            MAY_BE_FALSE | MAY_BE_STRING),
-       F1("mb_strrichr",                           MAY_BE_FALSE | MAY_BE_STRING),
+       F0("mb_strlen",                             MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
+       F0("mb_strpos",                             MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
+       F0("mb_strrpos",                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
+       F0("mb_stripos",                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
+       F0("mb_strripos",                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
+       F1("mb_strstr",                             MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_strrchr",                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_stristr",                            MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_strrichr",                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        F0("mb_substr_count",                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
        F1("mb_substr",                             MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        F1("mb_strcut",                             MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        F0("mb_strwidth",                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
        F1("mb_strimwidth",                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
-       F1("mb_convert_encoding",                   MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_convert_encoding",                   MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY),
        F1("mb_detect_encoding",                    MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        F1("mb_list_encodings",                     MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F1("mb_encoding_aliases",                   MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
@@ -1079,13 +1079,13 @@ static const func_info_t func_infos[] = {
        F1("mb_get_info",                           MAY_BE_FALSE | MAY_BE_LONG | MAY_BE_STRING | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_LONG | MAY_BE_ARRAY_OF_STRING | MAY_BE_ARRAY_OF_ARRAY),
        F0("mb_check_encoding",                     MAY_BE_FALSE | MAY_BE_TRUE),
 
-       F1("mb_regex_encoding",                     MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_regex_encoding",                     MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_STRING),
        F1("mb_regex_set_options",                  MAY_BE_FALSE | MAY_BE_STRING),
        F0("mb_ereg",                               MAY_BE_FALSE | MAY_BE_LONG),
        F0("mb_eregi",                              MAY_BE_FALSE | MAY_BE_LONG),
-       F1("mb_ereg_replace",                       MAY_BE_FALSE | MAY_BE_STRING),
-       F1("mb_eregi_replace",                      MAY_BE_FALSE | MAY_BE_STRING),
-       F1("mb_ereg_replace_callback",              MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_ereg_replace",                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_eregi_replace",                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
+       F1("mb_ereg_replace_callback",              MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        F1("mb_split",                              MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F0("mb_ereg_match",                         MAY_BE_FALSE | MAY_BE_TRUE),
        F0("mb_ereg_search",                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
@@ -1130,8 +1130,8 @@ static const func_info_t func_infos[] = {
        F1("json_last_error_msg",                   MAY_BE_NULL | MAY_BE_STRING),
 
        /* ext/xml */
-       F1("xml_parser_create",                     MAY_BE_FALSE | MAY_BE_RESOURCE),
-       F1("xml_parser_create_ns",                  MAY_BE_FALSE | MAY_BE_RESOURCE),
+       FN("xml_parser_create",                     MAY_BE_FALSE | MAY_BE_RESOURCE),
+       FN("xml_parser_create_ns",                  MAY_BE_FALSE | MAY_BE_RESOURCE),
        F0("xml_set_object",                        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
        F0("xml_set_element_handler",               MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
        F0("xml_set_character_data_handler",        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),