diff --git a/resources/php_compat_info.json b/resources/php_compat_info.json --- a/resources/php_compat_info.json +++ b/resources/php_compat_info.json @@ -1,13 +1,6 @@ { "@generated" : true, "params" : { - "is_a" : { - "2" : "5.3.9" - }, - "json_decode" : { - "2" : "5.3.0", - "3" : "5.4.0" - }, "assert" : { "1" : "5.4.8" }, @@ -26,233 +19,457 @@ }, "getopt" : { "1" : "5.3.0" + }, + "json_decode" : { + "2" : "5.3.0", + "3" : "5.4.0" + }, + "is_a" : { + "2" : "5.3.9" } }, "functions" : { - "apcu_add" : "5.3.0", - "apcu_bin_dump" : "5.3.0", - "apcu_bin_dumpfile" : "5.3.0", - "apcu_bin_load" : "5.3.0", - "apcu_bin_loadfile" : "5.3.0", - "apcu_cache_info" : "5.3.0", - "apcu_cas" : "5.3.0", - "apcu_clear_cache" : "5.3.0", - "apcu_dec" : "5.3.0", - "apcu_delete" : "5.3.0", - "apcu_exists" : "5.3.0", - "apcu_fetch" : "5.3.0", - "apcu_inc" : "5.3.0", - "apcu_sma_info" : "5.3.0", - "apcu_store" : "5.3.0", - "class_alias" : "5.3.0", - "gc_collect_cycles" : "5.3.0", - "gc_disable" : "5.3.0", - "gc_enable" : "5.3.0", - "gc_enabled" : "5.3.0", - "get_called_class" : "5.3.0", - "get_declared_traits" : "5.4.0", - "trait_exists" : "5.4.0", - "date_add" : "5.3.0", - "date_create_from_format" : "5.3.0", - "date_diff" : "5.3.0", - "date_get_last_errors" : "5.3.0", - "date_interval_create_from_date_string" : "5.3.0", - "date_interval_format" : "5.3.0", - "date_parse_from_format" : "5.3.0", - "date_sub" : "5.3.0", - "date_timestamp_get" : "5.3.0", - "date_timestamp_set" : "5.3.0", - "timezone_location_get" : "5.3.0", - "timezone_version_get" : "5.3.0", - "mime_content_type" : "5.3.0", - "imagecreatefromwebp" : "5.4.0", - "imagewebp" : "5.4.0", - "gmp_testbit" : "5.3.0", - "hash_copy" : "5.3.0", - "imap_fetchmime" : "5.3.6", - "imap_gc" : "5.3.0", - "imap_mutf7_to_utf8" : "5.3.0", - "imap_utf8_to_mutf7" : "5.3.0", - "datefmt_create" : "5.2.4", - "datefmt_format" : "5.2.4", - "datefmt_get_calendar" : "5.2.4", - "datefmt_get_datetype" : "5.2.4", - "datefmt_get_error_code" : "5.2.4", - "datefmt_get_error_message" : "5.2.4", - "datefmt_get_locale" : "5.2.4", - "datefmt_get_pattern" : "5.2.4", - "datefmt_get_timetype" : "5.2.4", - "datefmt_get_timezone_id" : "5.2.4", - "datefmt_is_lenient" : "5.2.4", - "datefmt_localtime" : "5.2.4", - "datefmt_parse" : "5.2.4", - "datefmt_set_calendar" : "5.2.4", - "datefmt_set_lenient" : "5.2.4", - "datefmt_set_pattern" : "5.2.4", - "datefmt_set_timezone_id" : "5.2.4", - "grapheme_extract" : "5.2.4", - "grapheme_stripos" : "5.2.4", - "grapheme_stristr" : "5.2.4", - "grapheme_strlen" : "5.2.4", - "grapheme_strpos" : "5.2.4", - "grapheme_strripos" : "5.2.4", - "grapheme_strrpos" : "5.2.4", - "grapheme_strstr" : "5.2.4", - "grapheme_substr" : "5.2.4", - "locale_accept_from_http" : "5.2.4", - "idn_to_ascii" : "5.2.4", - "idn_to_utf8" : "5.2.4", - "collator_get_sort_key" : "5.2.4", - "resourcebundle_count" : "5.2.4", - "resourcebundle_create" : "5.2.4", - "resourcebundle_get" : "5.2.4", - "resourcebundle_get_error_code" : "5.2.4", - "resourcebundle_get_error_message" : "5.2.4", - "resourcebundle_locales" : "5.2.4", - "transliterator_create" : "5.4.0", - "transliterator_create_from_rules" : "5.4.0", - "transliterator_create_inverse" : "5.4.0", - "transliterator_get_error_code" : "5.4.0", - "transliterator_get_error_message" : "5.4.0", - "transliterator_list_ids" : "5.4.0", - "transliterator_transliterate" : "5.4.0", - "json_last_error" : "5.3.0", - "ldap_control_paged_result" : "5.4.0", - "ldap_control_paged_result_response" : "5.4.0", - "event_add" : "5.3.0", - "event_base_free" : "5.3.0", - "event_base_loop" : "5.3.0", - "event_base_loopbreak" : "5.3.0", - "event_base_loopexit" : "5.3.0", - "event_base_new" : "5.3.0", - "event_base_priority_init" : "5.3.0", - "event_base_set" : "5.3.0", - "event_buffer_base_set" : "5.3.0", - "event_buffer_disable" : "5.3.0", - "event_buffer_enable" : "5.3.0", - "event_buffer_fd_set" : "5.3.0", - "event_buffer_free" : "5.3.0", - "event_buffer_new" : "5.3.0", - "event_buffer_priority_set" : "5.3.0", - "event_buffer_read" : "5.3.0", - "event_buffer_timeout_set" : "5.3.0", - "event_buffer_watermark_set" : "5.3.0", - "event_buffer_write" : "5.3.0", - "event_del" : "5.3.0", - "event_free" : "5.3.0", - "event_new" : "5.3.0", - "event_set" : "5.3.0", - "event_timer_add" : "5.3.0", - "event_timer_del" : "5.3.0", - "event_timer_new" : "5.3.0", - "event_timer_pending" : "5.3.0", - "event_timer_set" : "5.3.0", - "event_buffer_set_callback" : "5.3.0", - "event_priority_set" : "5.3.0", - "libxml_disable_entity_loader" : "5.2.11", - "libxml_set_external_entity_loader" : "5.4.0", - "mb_encoding_aliases" : "5.3.0", - "mb_ereg_replace_callback" : "5.4.1", - "mysqli_error_list" : "5.4.0", - "mysqli_refresh" : "5.3.0", - "mysqli_stmt_error_list" : "5.4.0", - "openssl_cipher_iv_length" : "5.3.3", - "openssl_decrypt" : "5.3.0", - "openssl_dh_compute_key" : "5.3.0", - "openssl_digest" : "5.3.0", - "openssl_encrypt" : "5.3.0", - "openssl_get_cipher_methods" : "5.3.0", - "openssl_get_md_methods" : "5.3.0", - "openssl_random_pseudo_bytes" : "5.3.0", - "pcntl_errno" : "5.3.4", - "pcntl_get_last_error" : "5.3.4", - "pcntl_signal_dispatch" : "5.3.0", - "pcntl_sigprocmask" : "5.3.0", - "pcntl_sigtimedwait" : "5.3.0", - "pcntl_sigwaitinfo" : "5.3.0", - "pcntl_strerror" : "5.3.4", - "preg_filter" : "5.3.0", - "pg_escape_identifier" : "5.4.4", - "pg_escape_literal" : "5.4.4", - "session_register_shutdown" : "5.4.0", - "session_status" : "5.4.0", - "socket_import_stream" : "5.4.0", - "class_uses" : "5.4.0", - "php_ini_loaded_file" : "5.2.4", - "stream_is_local" : "5.2.4", - "array_replace" : "5.3.0", - "array_replace_recursive" : "5.3.0", - "forward_static_call" : "5.3.0", - "forward_static_call_array" : "5.3.0", - "gethostname" : "5.3.0", - "header_remove" : "5.3.0", - "lcfirst" : "5.3.0", - "parse_ini_string" : "5.3.0", - "quoted_printable_encode" : "5.3.0", - "str_getcsv" : "5.3.0", - "stream_context_get_params" : "5.3.0", - "stream_context_set_default" : "5.3.0", - "stream_supports_lock" : "5.3.0", - "realpath_cache_get" : "5.3.2", - "realpath_cache_size" : "5.3.2", - "stream_resolve_include_path" : "5.3.2", - "stream_set_read_buffer" : "5.3.3", - "getimagesizefromstring" : "5.4.0", - "header_register_callback" : "5.4.0", - "hex2bin" : "5.4.0", - "http_response_code" : "5.4.0", - "stream_set_chunk_size" : "5.4.0", - "msg_queue_exists" : "5.3.0", - "shm_has_var" : "5.3.0", - "gzdecode" : "5.4.0", - "zlib_decode" : "5.4.0", - "zlib_encode" : "5.4.0" + "preg_filter" : "5.3.0", + "imagecreatefromwebp" : "5.4.0", + "imagewebp" : "5.4.0", + "imageaffine" : "5.5.0", + "imageaffinematrixconcat" : "5.5.0", + "imageaffinematrixget" : "5.5.0", + "imagecrop" : "5.5.0", + "imagecropauto" : "5.5.0", + "imageflip" : "5.5.0", + "imagepalettetotruecolor" : "5.5.0", + "imagescale" : "5.5.0", + "imagesetinterpolation" : "5.5.0", + "gzdecode" : "5.4.0", + "zlib_decode" : "5.4.0", + "zlib_encode" : "5.4.0", + "mhash" : "5.3.0", + "mhash_count" : "5.3.0", + "mhash_get_block_size" : "5.3.0", + "mhash_get_hash_name" : "5.3.0", + "mhash_keygen_s2k" : "5.3.0", + "gmp_testbit" : "5.3.0", + "php_ini_loaded_file" : "5.2.4", + "stream_is_local" : "5.2.4", + "array_replace" : "5.3.0", + "array_replace_recursive" : "5.3.0", + "forward_static_call" : "5.3.0", + "forward_static_call_array" : "5.3.0", + "gethostname" : "5.3.0", + "header_remove" : "5.3.0", + "lcfirst" : "5.3.0", + "parse_ini_string" : "5.3.0", + "quoted_printable_encode" : "5.3.0", + "str_getcsv" : "5.3.0", + "stream_context_get_params" : "5.3.0", + "stream_context_set_default" : "5.3.0", + "stream_supports_lock" : "5.3.0", + "realpath_cache_get" : "5.3.2", + "realpath_cache_size" : "5.3.2", + "stream_resolve_include_path" : "5.3.2", + "stream_set_read_buffer" : "5.3.3", + "getimagesizefromstring" : "5.4.0", + "header_register_callback" : "5.4.0", + "hex2bin" : "5.4.0", + "http_response_code" : "5.4.0", + "stream_set_chunk_size" : "5.4.0", + "array_column" : "5.5.0", + "boolval" : "5.5.0", + "cli_get_process_title" : "5.5.0", + "cli_set_process_title" : "5.5.0", + "password_get_info" : "5.5.0", + "password_hash" : "5.5.0", + "password_needs_rehash" : "5.5.0", + "password_verify" : "5.5.0", + "class_uses" : "5.4.0", + "pg_escape_identifier" : "5.4.4", + "pg_escape_literal" : "5.4.4", + "socket_import_stream" : "5.4.0", + "socket_cmsg_space" : "5.5.0", + "socket_recvmsg" : "5.5.0", + "socket_sendmsg" : "5.5.0", + "libxml_disable_entity_loader" : "5.2.11", + "libxml_set_external_entity_loader" : "5.4.0", + "msg_queue_exists" : "5.3.0", + "mb_encoding_aliases" : "5.3.0", + "mb_ereg_replace_callback" : "5.4.1", + "hash_copy" : "5.3.0", + "hash_pbkdf2" : "5.5.0", + "imap_fetchmime" : "5.3.6", + "imap_gc" : "5.3.0", + "imap_mutf7_to_utf8" : "5.3.0", + "imap_utf8_to_mutf7" : "5.3.0", + "ldap_control_paged_result" : "5.4.0", + "ldap_control_paged_result_response" : "5.4.0", + "pcntl_errno" : "5.3.4", + "pcntl_get_last_error" : "5.3.4", + "pcntl_signal_dispatch" : "5.3.0", + "pcntl_sigprocmask" : "5.3.0", + "pcntl_sigtimedwait" : "5.3.0", + "pcntl_sigwaitinfo" : "5.3.0", + "pcntl_strerror" : "5.3.4", + "shm_has_var" : "5.3.0", + "apcu_add" : "5.3.0", + "apcu_bin_dump" : "5.3.0", + "apcu_bin_dumpfile" : "5.3.0", + "apcu_bin_load" : "5.3.0", + "apcu_bin_loadfile" : "5.3.0", + "apcu_cache_info" : "5.3.0", + "apcu_cas" : "5.3.0", + "apcu_clear_cache" : "5.3.0", + "apcu_dec" : "5.3.0", + "apcu_delete" : "5.3.0", + "apcu_exists" : "5.3.0", + "apcu_fetch" : "5.3.0", + "apcu_inc" : "5.3.0", + "apcu_sma_info" : "5.3.0", + "apcu_store" : "5.3.0", + "apcu_key_info" : "5.3.0", + "openssl_cipher_iv_length" : "5.3.3", + "openssl_decrypt" : "5.3.0", + "openssl_dh_compute_key" : "5.3.0", + "openssl_digest" : "5.3.0", + "openssl_encrypt" : "5.3.0", + "openssl_get_cipher_methods" : "5.3.0", + "openssl_get_md_methods" : "5.3.0", + "openssl_pbkdf2" : "5.5.0", + "openssl_random_pseudo_bytes" : "5.3.0", + "mime_content_type" : "5.3.0", + "json_last_error" : "5.3.0", + "json_last_error_msg" : "5.5.0", + "jsmin" : "5.3.10", + "jsmin_last_error" : "5.3.10", + "jsmin_last_error_msg" : "5.3.10", + "event_add" : "5.3.0", + "event_base_free" : "5.3.0", + "event_base_loop" : "5.3.0", + "event_base_loopbreak" : "5.3.0", + "event_base_loopexit" : "5.3.0", + "event_base_new" : "5.3.0", + "event_base_priority_init" : "5.3.0", + "event_base_set" : "5.3.0", + "event_buffer_base_set" : "5.3.0", + "event_buffer_disable" : "5.3.0", + "event_buffer_enable" : "5.3.0", + "event_buffer_fd_set" : "5.3.0", + "event_buffer_free" : "5.3.0", + "event_buffer_new" : "5.3.0", + "event_buffer_priority_set" : "5.3.0", + "event_buffer_read" : "5.3.0", + "event_buffer_timeout_set" : "5.3.0", + "event_buffer_watermark_set" : "5.3.0", + "event_buffer_write" : "5.3.0", + "event_del" : "5.3.0", + "event_free" : "5.3.0", + "event_new" : "5.3.0", + "event_set" : "5.3.0", + "event_timer_add" : "5.3.0", + "event_timer_del" : "5.3.0", + "event_timer_new" : "5.3.0", + "event_timer_pending" : "5.3.0", + "event_timer_set" : "5.3.0", + "event_buffer_set_callback" : "5.3.0", + "event_priority_set" : "5.3.0", + "event_base_reinit" : "5.3.0", + "curl_file_create" : "5.5.0", + "curl_share_close" : "5.5.0", + "curl_share_init" : "5.5.0", + "curl_share_setopt" : "5.5.0", + "curl_multi_strerror" : "5.5.0", + "curl_strerror" : "5.5.0", + "curl_reset" : "5.5.0", + "curl_escape" : "5.5.0", + "curl_unescape" : "5.5.0", + "curl_multi_setopt" : "5.5.0", + "curl_pause" : "5.5.0", + "session_register_shutdown" : "5.4.0", + "session_status" : "5.4.0", + "datefmt_create" : "5.2.4", + "datefmt_format" : "5.2.4", + "datefmt_get_calendar" : "5.2.4", + "datefmt_get_datetype" : "5.2.4", + "datefmt_get_error_code" : "5.2.4", + "datefmt_get_error_message" : "5.2.4", + "datefmt_get_locale" : "5.2.4", + "datefmt_get_pattern" : "5.2.4", + "datefmt_get_timetype" : "5.2.4", + "datefmt_get_timezone_id" : "5.2.4", + "datefmt_is_lenient" : "5.2.4", + "datefmt_localtime" : "5.2.4", + "datefmt_parse" : "5.2.4", + "datefmt_set_calendar" : "5.2.4", + "datefmt_set_lenient" : "5.2.4", + "datefmt_set_pattern" : "5.2.4", + "datefmt_set_timezone_id" : "5.2.4", + "grapheme_extract" : "5.2.4", + "grapheme_stripos" : "5.2.4", + "grapheme_stristr" : "5.2.4", + "grapheme_strlen" : "5.2.4", + "grapheme_strpos" : "5.2.4", + "grapheme_strripos" : "5.2.4", + "grapheme_strrpos" : "5.2.4", + "grapheme_strstr" : "5.2.4", + "grapheme_substr" : "5.2.4", + "locale_accept_from_http" : "5.2.4", + "idn_to_ascii" : "5.2.4", + "idn_to_utf8" : "5.2.4", + "collator_get_sort_key" : "5.2.4", + "resourcebundle_count" : "5.2.4", + "resourcebundle_create" : "5.2.4", + "resourcebundle_get" : "5.2.4", + "resourcebundle_get_error_code" : "5.2.4", + "resourcebundle_get_error_message" : "5.2.4", + "resourcebundle_locales" : "5.2.4", + "transliterator_create" : "5.4.0", + "transliterator_create_from_rules" : "5.4.0", + "transliterator_create_inverse" : "5.4.0", + "transliterator_get_error_code" : "5.4.0", + "transliterator_get_error_message" : "5.4.0", + "transliterator_list_ids" : "5.4.0", + "transliterator_transliterate" : "5.4.0", + "datefmt_format_object" : "5.5.0", + "datefmt_get_calendar_object" : "5.5.0", + "datefmt_get_timezone" : "5.5.0", + "datefmt_set_timezone" : "5.5.0", + "intlgregcal_create_instance" : "5.5.0", + "intlgregcal_get_gregorian_change" : "5.5.0", + "intlgregcal_is_leap_year" : "5.5.0", + "intlgregcal_set_gregorian_change" : "5.5.0", + "intlcal_add" : "5.5.0", + "intlcal_after" : "5.5.0", + "intlcal_before" : "5.5.0", + "intlcal_clear" : "5.5.0", + "intlcal_create_instance" : "5.5.0", + "intlcal_equals" : "5.5.0", + "intlcal_field_difference" : "5.5.0", + "intlcal_from_date_time" : "5.5.0", + "intlcal_get" : "5.5.0", + "intlcal_get_actual_maximum" : "5.5.0", + "intlcal_get_actual_minimum" : "5.5.0", + "intlcal_get_available_locales" : "5.5.0", + "intlcal_get_day_of_week_type" : "5.5.0", + "intlcal_get_error_code" : "5.5.0", + "intlcal_get_error_message" : "5.5.0", + "intlcal_get_first_day_of_week" : "5.5.0", + "intlcal_get_greatest_minimum" : "5.5.0", + "intlcal_get_keyword_values_for_locale" : "5.5.0", + "intlcal_get_least_maximum" : "5.5.0", + "intlcal_get_locale" : "5.5.0", + "intlcal_get_maximum" : "5.5.0", + "intlcal_get_minimal_days_in_first_week" : "5.5.0", + "intlcal_get_minimum" : "5.5.0", + "intlcal_get_now" : "5.5.0", + "intlcal_get_time" : "5.5.0", + "intlcal_get_time_zone" : "5.5.0", + "intlcal_get_type" : "5.5.0", + "intlcal_get_weekend_transition" : "5.5.0", + "intlcal_in_daylight_time" : "5.5.0", + "intlcal_is_equivalent_to" : "5.5.0", + "intlcal_is_lenient" : "5.5.0", + "intlcal_is_set" : "5.5.0", + "intlcal_is_weekend" : "5.5.0", + "intlcal_roll" : "5.5.0", + "intlcal_set" : "5.5.0", + "intlcal_set_first_day_of_week" : "5.5.0", + "intlcal_set_lenient" : "5.5.0", + "intlcal_set_time" : "5.5.0", + "intlcal_set_time_zone" : "5.5.0", + "intlcal_to_date_time" : "5.5.0", + "intltz_count_equivalent_ids" : "5.5.0", + "intltz_create_default" : "5.5.0", + "intltz_create_enumeration" : "5.5.0", + "intltz_create_time_zone" : "5.5.0", + "intltz_from_date_time_zone" : "5.5.0", + "intltz_get_canonical_id" : "5.5.0", + "intltz_get_equivalent_id" : "5.5.0", + "intltz_get_gmt" : "5.5.0", + "intltz_get_display_name" : "5.5.0", + "intltz_get_dst_savings" : "5.5.0", + "intltz_get_error_code" : "5.5.0", + "intltz_get_error_message" : "5.5.0", + "intltz_get_id" : "5.5.0", + "intltz_get_offset" : "5.5.0", + "intltz_get_raw_offset" : "5.5.0", + "intltz_get_tz_data_version" : "5.5.0", + "intltz_has_same_rules" : "5.5.0", + "intltz_to_date_time_zone" : "5.5.0", + "intltz_use_daylight_time" : "5.5.0", + "intlcal_set_minimal_days_in_first_week" : "5.5.1", + "date_add" : "5.3.0", + "date_create_from_format" : "5.3.0", + "date_diff" : "5.3.0", + "date_get_last_errors" : "5.3.0", + "date_interval_create_from_date_string" : "5.3.0", + "date_interval_format" : "5.3.0", + "date_parse_from_format" : "5.3.0", + "date_sub" : "5.3.0", + "date_timestamp_get" : "5.3.0", + "date_timestamp_set" : "5.3.0", + "timezone_location_get" : "5.3.0", + "timezone_version_get" : "5.3.0", + "date_create_immutable" : "5.5.0", + "date_create_immutable_from_format" : "5.5.0", + "mysqli_begin_transaction" : "5.5.0", + "mysqli_error_list" : "5.4.0", + "mysqli_refresh" : "5.3.0", + "mysqli_release_savepoint" : "5.5.0", + "mysqli_savepoint" : "5.5.0", + "mysqli_stmt_error_list" : "5.4.0", + "class_alias" : "5.3.0", + "gc_collect_cycles" : "5.3.0", + "gc_disable" : "5.3.0", + "gc_enable" : "5.3.0", + "gc_enabled" : "5.3.0", + "get_called_class" : "5.3.0", + "get_declared_traits" : "5.4.0", + "trait_exists" : "5.4.0" }, "classes" : { - "closure" : "5.3.0", - "dateinterval" : "5.3.0", - "dateperiod" : "5.3.0", - "gender\\gender" : "5.3.0", - "intldateformatter" : "5.2.4", - "resourcebundle" : "5.2.4", - "spoofchecker" : "5.4.0", - "transliterator" : "5.4.0", - "mongoresultexception" : "5.2.6", - "mongoclient" : "5.2.6", - "cond" : "5.3.0", - "mutex" : "5.3.0", - "stackable" : "5.3.0", - "thread" : "5.3.0", - "worker" : "5.3.0", - "reflectionzendextension" : "5.4.0", - "sessionhandler" : "5.4.0", - "snmp" : "5.4.0", - "snmpexception" : "5.4.0", - "filesystemiterator" : "5.3.0", - "globiterator" : "5.3.0", - "multipleiterator" : "5.3.0", - "recursivetreeiterator" : "5.3.0", - "spldoublylinkedlist" : "5.3.0", - "splfixedarray" : "5.3.0", - "splheap" : "5.3.0", - "splmaxheap" : "5.3.0", - "splminheap" : "5.3.0", - "splpriorityqueue" : "5.3.0", - "splqueue" : "5.3.0", - "splstack" : "5.3.0", - "callbackfilteriterator" : "5.4.0", - "recursivecallbackfilteriterator" : "5.4.0", - "sqlite3" : "5.3.0", - "sqlite3result" : "5.3.0", - "sqlite3stmt" : "5.3.0", - "varnishadmin" : "5.3.0", - "varnishstat" : "5.3.0", - "varnishlog" : "5.3.0", - "varnishexception" : "5.3.0" + "reflectionzendextension" : "5.4.0", + "mongoresultexception" : "5.2.6", + "mongoclient" : "5.2.6", + "gender\\gender" : "5.3.0", + "http\\exception\\runtimeexception" : "5.3.0", + "http\\exception\\unexpectedvalueexception" : "5.3.0", + "http\\exception\\badmethodcallexception" : "5.3.0", + "http\\exception\\invalidargumentexception" : "5.3.0", + "http\\exception\\badheaderexception" : "5.3.0", + "http\\exception\\badurlexception" : "5.3.0", + "http\\exception\\badmessageexception" : "5.3.0", + "http\\exception\\badconversionexception" : "5.3.0", + "http\\exception\\badquerystringexception" : "5.3.0", + "http\\cookie" : "5.3.0", + "http\\encoding\\stream" : "5.3.0", + "http\\encoding\\stream\\deflate" : "5.3.0", + "http\\encoding\\stream\\inflate" : "5.3.0", + "http\\encoding\\stream\\dechunk" : "5.3.0", + "http\\header" : "5.3.0", + "http\\message" : "5.3.0", + "http\\message\\body" : "5.3.0", + "http\\querystring" : "5.3.0", + "http\\client" : "5.3.0", + "http\\client\\request" : "5.3.0", + "http\\client\\response" : "5.3.0", + "http\\url" : "5.3.0", + "http\\env" : "5.3.0", + "http\\env\\request" : "5.3.0", + "http\\env\\response" : "5.3.0", + "http\\params" : "5.3.0", + "filesystemiterator" : "5.3.0", + "globiterator" : "5.3.0", + "multipleiterator" : "5.3.0", + "recursivetreeiterator" : "5.3.0", + "spldoublylinkedlist" : "5.3.0", + "splfixedarray" : "5.3.0", + "splheap" : "5.3.0", + "splmaxheap" : "5.3.0", + "splminheap" : "5.3.0", + "splpriorityqueue" : "5.3.0", + "splqueue" : "5.3.0", + "splstack" : "5.3.0", + "callbackfilteriterator" : "5.4.0", + "recursivecallbackfilteriterator" : "5.4.0", + "cond" : "5.3.0", + "mutex" : "5.3.0", + "stackable" : "5.3.0", + "thread" : "5.3.0", + "worker" : "5.3.0", + "varnishadmin" : "5.3.0", + "varnishstat" : "5.3.0", + "varnishlog" : "5.3.0", + "varnishexception" : "5.3.0", + "riak\\bucket" : "5.3.0", + "riak\\connection" : "5.3.0", + "riak\\exception\\badargumentsexception" : "5.3.0", + "riak\\exception\\communicationexception" : "5.3.0", + "riak\\exception\\connectionexception" : "5.3.0", + "riak\\exception\\riakexception" : "5.3.0", + "riak\\link" : "5.3.0", + "riak\\mapreduce\\phase\\phase" : "5.3.0", + "riak\\mapreduce\\phase\\reducephase" : "5.3.0", + "riak\\mapreduce\\mapreduce" : "5.3.0", + "riak\\object" : "5.3.0", + "riak\\query\\indexquery" : "5.3.0", + "riak\\bucketpropertylist" : "5.3.0", + "riak\\exception\\unexpectedresponseexception" : "5.3.0", + "riak\\input\\deleteinput" : "5.3.0", + "riak\\input\\getinput" : "5.3.0", + "riak\\input\\input" : "5.3.0", + "riak\\input\\putinput" : "5.3.0", + "riak\\mapreduce\\functions\\basefunction" : "5.3.0", + "riak\\mapreduce\\functions\\erlangfunction" : "5.3.0", + "riak\\mapreduce\\functions\\javascriptfunction" : "5.3.0", + "riak\\mapreduce\\output\\output" : "5.3.0", + "riak\\mapreduce\\phase\\mapphase" : "5.3.0", + "riak\\objectlist" : "5.3.0", + "riak\\output\\getoutput" : "5.3.0", + "riak\\output\\output" : "5.3.0", + "riak\\output\\putoutput" : "5.3.0", + "riak\\poolinfo" : "5.3.0", + "riak\\search\\input\\parameterbag" : "5.3.0", + "riak\\search\\output\\documentoutput" : "5.3.0", + "riak\\search\\output\\output" : "5.3.0", + "riak\\search\\search" : "5.3.0", + "riak\\mapreduce\\input\\bucketinput" : "5.3.0", + "riak\\mapreduce\\input\\input" : "5.3.0", + "riak\\mapreduce\\input\\keydatalistinput" : "5.3.0", + "riak\\mapreduce\\input\\keylistinput" : "5.3.0", + "riak\\property\\commithook" : "5.3.0", + "riak\\property\\commithooklist" : "5.3.0", + "riak\\property\\modulefunction" : "5.3.0", + "riak\\property\\replicationmode\\disabled" : "5.3.0", + "riak\\property\\replicationmode\\fullsynconly" : "5.3.0", + "riak\\property\\replicationmode\\realtimeandfullsync" : "5.3.0", + "riak\\property\\replicationmode\\realtimeonly" : "5.3.0", + "riak\\input\\indexinput" : "5.3.0", + "riak\\output\\indexoutput" : "5.3.0", + "riak\\output\\indexresult" : "5.3.0", + "riak\\output\\indexresultlist" : "5.3.0", + "riak\\crdt\\counter" : "5.3.0", + "riak\\crdt\\input\\getinput" : "5.3.0", + "riak\\crdt\\input\\updateinput" : "5.3.0", + "riak\\serverinfo" : "5.3.0", + "sqlite3" : "5.3.0", + "sqlite3result" : "5.3.0", + "sqlite3stmt" : "5.3.0", + "curlfile" : "5.5.0", + "snmp" : "5.4.0", + "snmpexception" : "5.4.0", + "sessionhandler" : "5.4.0", + "intldateformatter" : "5.2.4", + "resourcebundle" : "5.2.4", + "spoofchecker" : "5.4.0", + "transliterator" : "5.4.0", + "intlbreakiterator" : "5.5.0", + "intlcalendar" : "5.5.0", + "intlcodepointbreakiterator" : "5.5.0", + "intlgregoriancalendar" : "5.5.0", + "intliterator" : "5.5.0", + "intlpartsiterator" : "5.5.0", + "intlrulebasedbreakiterator" : "5.5.0", + "intltimezone" : "5.5.0", + "uconverter" : "5.5.0", + "dateinterval" : "5.3.0", + "dateperiod" : "5.3.0", + "datetimeimmutable" : "5.5.0", + "closure" : "5.3.0", + "generator" : "5.5.0" }, "interfaces" : { - "jsonserializable" : "5.4.0", - "sessionhandlerinterface" : "5.4.0" + "http\\exception" : "5.3.0", + "arrayaccess" : "5.3.0", + "iterator" : "5.3.0", + "iteratoraggregate" : "5.3.0", + "serializable" : "5.3.0", + "traversable" : "5.3.0", + "riak\\mapreduce\\output\\streamoutput" : "5.3.0", + "riak\\output\\keystreamoutput" : "5.3.0", + "riak\\property\\replicationmode\\replicationmode" : "5.3.0", + "jsonserializable" : "5.4.0", + "sessionhandlerinterface" : "5.4.0", + "sessionidinterface" : "5.5.1", + "datetimeinterface" : "5.5.0" }, "functions_windows" : { "apache_child_terminate" : "", diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -80,6 +80,8 @@ 'ArcanistGetConfigWorkflow' => 'workflow/ArcanistGetConfigWorkflow.php', 'ArcanistGitAPI' => 'repository/api/ArcanistGitAPI.php', 'ArcanistGitHookPreReceiveWorkflow' => 'workflow/ArcanistGitHookPreReceiveWorkflow.php', + 'ArcanistGoLintLinter' => 'lint/linter/ArcanistGoLintLinter.php', + 'ArcanistGoLintLinterTestCase' => 'lint/linter/__tests__/ArcanistGoLintLinterTestCase.php', 'ArcanistHelpWorkflow' => 'workflow/ArcanistHelpWorkflow.php', 'ArcanistHgClientChannel' => 'hgdaemon/ArcanistHgClientChannel.php', 'ArcanistHgProxyClient' => 'hgdaemon/ArcanistHgProxyClient.php', @@ -258,6 +260,8 @@ 'ArcanistGetConfigWorkflow' => 'ArcanistBaseWorkflow', 'ArcanistGitAPI' => 'ArcanistRepositoryAPI', 'ArcanistGitHookPreReceiveWorkflow' => 'ArcanistBaseWorkflow', + 'ArcanistGoLintLinter' => 'ArcanistExternalLinter', + 'ArcanistGoLintLinterTestCase' => 'ArcanistArcanistLinterTestCase', 'ArcanistHelpWorkflow' => 'ArcanistBaseWorkflow', 'ArcanistHgClientChannel' => 'PhutilProtocolChannel', 'ArcanistHgServerChannel' => 'PhutilProtocolChannel', diff --git a/src/lint/linter/ArcanistGoLintLinter.php b/src/lint/linter/ArcanistGoLintLinter.php new file mode 100644 --- /dev/null +++ b/src/lint/linter/ArcanistGoLintLinter.php @@ -0,0 +1,56 @@ +setPath($path); + $message->setLine($matches[1]); + $message->setChar($matches[2]); + $message->setCode($this->getLinterName()); + $message->setDescription(ucfirst(trim($matches[3]))); + $message->setSeverity(ArcanistLintSeverity::SEVERITY_ADVICE); + + $messages[] = $message; + } + } + + return $messages; + } + +} diff --git a/src/lint/linter/__tests__/ArcanistGoLintLinterTestCase.php b/src/lint/linter/__tests__/ArcanistGoLintLinterTestCase.php new file mode 100644 --- /dev/null +++ b/src/lint/linter/__tests__/ArcanistGoLintLinterTestCase.php @@ -0,0 +1,12 @@ +executeTestsInDirectory( + dirname(__FILE__).'/golint/', + new ArcanistGoLintLinter()); + } + +} diff --git a/src/lint/linter/__tests__/golint/1.lint-test b/src/lint/linter/__tests__/golint/1.lint-test new file mode 100644 --- /dev/null +++ b/src/lint/linter/__tests__/golint/1.lint-test @@ -0,0 +1,18 @@ +package main + +import ( + "rand" +) + +type Exported string + +func main() { + if rand.Intn(10) > 5 { + return true + } else { + return false + } +} +~~~~~~~~~~ +advice:7:6 +advice:12:12