From 7f97e9d784d807708fcaa6af72ed8f2f24f91123 Mon Sep 17 00:00:00 2001 From: Drew Paroski Date: Thu, 2 May 2013 17:29:29 -0700 Subject: [PATCH] Remove "const char* cls" parameter from cppext static methods For cppext static methods we have a "ti_" method that takes an extra unused parameter "const char* cls" and then a "t_" wrapper method that calls the "ti_" method. This makes things unnecessarily complicated when writing HipHop extensions. Let's get rid of the extra unused parameter "cls" and the unnecessary "t_" wrapper method. --- hphp/idl/base.php | 28 ++------ .../ext/asio/gen_array_wait_handle.cpp | 2 +- .../ext/asio/reschedule_wait_handle.cpp | 2 +- .../asio/set_result_to_ref_wait_handle.cpp | 2 +- .../ext/asio/static_exception_wait_handle.cpp | 2 +- .../ext/asio/static_result_wait_handle.cpp | 2 +- hphp/runtime/ext/ext_asio.h | 29 ++------ hphp/runtime/ext/ext_collections.cpp | 28 ++++---- hphp/runtime/ext/ext_collections.h | 69 ++++--------------- hphp/runtime/ext/ext_datetime.cpp | 20 +++--- hphp/runtime/ext/ext_datetime.h | 25 ++----- hphp/runtime/ext/ext_icu_ucnv.cpp | 21 +++--- hphp/runtime/ext/ext_icu_ucnv.h | 38 ++-------- hphp/runtime/ext/ext_intl.cpp | 8 +-- hphp/runtime/ext/ext_intl.h | 15 +--- hphp/runtime/ext/ext_pdo.cpp | 2 +- hphp/runtime/ext/ext_pdo.h | 5 +- hphp/test/test_ext_intl.cpp | 6 +- hphp/tools/gen-ext-hhvm/gen-ext-hhvm.cpp | 17 ++--- hphp/tools/gen-ext-hhvm/idl.cpp | 4 -- 20 files changed, 90 insertions(+), 235 deletions(-) diff --git a/hphp/idl/base.php b/hphp/idl/base.php index 3270dcc5d..b519af937 100644 --- a/hphp/idl/base.php +++ b/hphp/idl/base.php @@ -608,14 +608,11 @@ function generateFuncArgsCPPHeader($func, $f, $forceRef = false, $var_arg = ($func['flags'] & VarArgsMask); $args = $func['args']; fprintf($f, "("); - if ($static) { - fprintf($f, "const char* cls "); - } if ($var_arg) fprintf($f, 'int _argc'); if ($var_arg && count($args) > 0) fprintf($f, ', '); for ($i = 0; $i < count($args); $i++) { $arg = $args[$i]; - if ($static || $i > 0) fprintf($f, ', '); + if ($i > 0) fprintf($f, ', '); fprintf($f, '%s %s', param_typename($arg, $forceRef), $arg['name']); if (isset($arg['default'])) { @@ -669,17 +666,6 @@ function generateFuncCPPHeader($func, $f, $method = false, $forceRef = false, } generateFuncArgsCPPHeader($func, $f, $forceRef, $static); fprintf($f, ";\n"); - - if ($static && $method) { - fprintf($f, ' public: static %s t_%s', typename($func['return']), - strtolower($func['name'])); - // for the actual static call there is no class name needed - generateFuncArgsCPPHeader($func, $f, $forceRef, false); - fprintf($f, " {\n return ti_%s(\"%s\"", strtolower($func['name']), - strtolower($class['name'])); - generateFuncArgsCall($func, $f); - fprintf($f, ");\n }\n"); - } } function generateConstCPPHeader($const, $f) { @@ -826,12 +812,10 @@ function generateMethodCPPHeader($method, $class, $f) { function generateMethodCPPImplementation($method, $class, $f) { if ($method['flags'] & IsStatic) { $prefix = "c_{$class['name']}::ti_"; - $sprop = 'const char *cls'; } else { $prefix = "c_{$class['name']}::t_"; - $sprop = ''; } - generateFuncCPPImplementation($method, $f, $prefix, $sprop); + generateFuncCPPImplementation($method, $f, $prefix); } function generatePropertyCPPHeader($property, $f) { @@ -855,7 +839,7 @@ function generatePreImplemented($method, $class, $f) { } } -function generateFuncCPPImplementation($func, $f, $prefix = 'f_', $sprop = '') { +function generateFuncCPPImplementation($func, $f, $prefix = 'f_') { $schema = ""; $schema_no = 0; if ($func['return'] == Object || $func['return'] == Resource) { @@ -870,13 +854,9 @@ function generateFuncCPPImplementation($func, $f, $prefix = 'f_', $sprop = '') { if ($var_arg && count($func['args']) > 0) fprintf($f, ', '); $params = ""; $params_no = 0; - if ($sprop) { - // For static class methods to inject class name - fprintf($f, $sprop); - } for ($i = 0; $i < count($func['args']); $i++) { $arg = $func['args'][$i]; - if ($sprop || ($i > 0)) fprintf($f, ', '); + if ($i > 0) fprintf($f, ', '); fprintf($f, '%s %s', param_typename($arg), $arg['name']); if (isset($arg['default'])) { diff --git a/hphp/runtime/ext/asio/gen_array_wait_handle.cpp b/hphp/runtime/ext/asio/gen_array_wait_handle.cpp index 1c7142fac..d52102223 100644 --- a/hphp/runtime/ext/asio/gen_array_wait_handle.cpp +++ b/hphp/runtime/ext/asio/gen_array_wait_handle.cpp @@ -49,7 +49,7 @@ void c_GenArrayWaitHandle::t___construct() { throw e; } -Object c_GenArrayWaitHandle::ti_create(const char* cls, CArrRef dependencies) { +Object c_GenArrayWaitHandle::ti_create(CArrRef dependencies) { Array deps = dependencies->copy(); for (ssize_t iter_pos = deps->iter_begin(); iter_pos != ArrayData::invalid_index; diff --git a/hphp/runtime/ext/asio/reschedule_wait_handle.cpp b/hphp/runtime/ext/asio/reschedule_wait_handle.cpp index ddc98ff0f..7c5acf99d 100644 --- a/hphp/runtime/ext/asio/reschedule_wait_handle.cpp +++ b/hphp/runtime/ext/asio/reschedule_wait_handle.cpp @@ -43,7 +43,7 @@ void c_RescheduleWaitHandle::t___construct() { throw e; } -Object c_RescheduleWaitHandle::ti_create(const char* cls, int queue, int priority) { +Object c_RescheduleWaitHandle::ti_create(int queue, int priority) { if (UNLIKELY( queue != q_RescheduleWaitHandle$$QUEUE_DEFAULT && queue != q_RescheduleWaitHandle$$QUEUE_NO_PENDING_IO)) { diff --git a/hphp/runtime/ext/asio/set_result_to_ref_wait_handle.cpp b/hphp/runtime/ext/asio/set_result_to_ref_wait_handle.cpp index 5e843db9a..5bb104515 100644 --- a/hphp/runtime/ext/asio/set_result_to_ref_wait_handle.cpp +++ b/hphp/runtime/ext/asio/set_result_to_ref_wait_handle.cpp @@ -43,7 +43,7 @@ void c_SetResultToRefWaitHandle::t___construct() { throw e; } -Object c_SetResultToRefWaitHandle::ti_create(const char* cls, CObjRef wait_handle, VRefParam ref) { +Object c_SetResultToRefWaitHandle::ti_create(CObjRef wait_handle, VRefParam ref) { TypedValue* var_or_cell = ref->asTypedValue(); if (wait_handle.isNull()) { tvSetNull(var_or_cell); diff --git a/hphp/runtime/ext/asio/static_exception_wait_handle.cpp b/hphp/runtime/ext/asio/static_exception_wait_handle.cpp index bd9ac76a3..800eb018a 100644 --- a/hphp/runtime/ext/asio/static_exception_wait_handle.cpp +++ b/hphp/runtime/ext/asio/static_exception_wait_handle.cpp @@ -40,7 +40,7 @@ void c_StaticExceptionWaitHandle::t___construct() { throw e; } -Object c_StaticExceptionWaitHandle::ti_create(const char* cls, CObjRef exception) { +Object c_StaticExceptionWaitHandle::ti_create(CObjRef exception) { if (!exception.instanceof(SystemLib::s_ExceptionClass)) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( "Expected exception to be an instance of Exception")); diff --git a/hphp/runtime/ext/asio/static_result_wait_handle.cpp b/hphp/runtime/ext/asio/static_result_wait_handle.cpp index 5bd8ae86a..00beea449 100644 --- a/hphp/runtime/ext/asio/static_result_wait_handle.cpp +++ b/hphp/runtime/ext/asio/static_result_wait_handle.cpp @@ -40,7 +40,7 @@ void c_StaticResultWaitHandle::t___construct() { throw e; } -Object c_StaticResultWaitHandle::ti_create(const char* cls, CVarRef result) { +Object c_StaticResultWaitHandle::ti_create(CVarRef result) { return Create(result.asTypedValue()); } diff --git a/hphp/runtime/ext/ext_asio.h b/hphp/runtime/ext/ext_asio.h index d2d888d5d..ea9231c20 100644 --- a/hphp/runtime/ext/ext_asio.h +++ b/hphp/runtime/ext/ext_asio.h @@ -133,11 +133,7 @@ class c_StaticResultWaitHandle : public c_StaticWaitHandle { public: c_StaticResultWaitHandle(VM::Class* cls = c_StaticResultWaitHandle::s_cls); public: ~c_StaticResultWaitHandle(); public: void t___construct(); - public: static Object ti_create(const char* cls , CVarRef result); - public: static Object t_create(CVarRef result) { - return ti_create("staticresultwaithandle", result); - } - + public: static Object ti_create(CVarRef result); public: static p_StaticResultWaitHandle Create(const TypedValue* result); @@ -159,11 +155,7 @@ class c_StaticExceptionWaitHandle : public c_StaticWaitHandle { public: c_StaticExceptionWaitHandle(VM::Class* cls = c_StaticExceptionWaitHandle::s_cls); public: ~c_StaticExceptionWaitHandle(); public: void t___construct(); - public: static Object ti_create(const char* cls , CObjRef exception); - public: static Object t_create(CObjRef exception) { - return ti_create("staticexceptionwaithandle", exception); - } - + public: static Object ti_create(CObjRef exception); public: static p_StaticExceptionWaitHandle Create(ObjectData* exception); @@ -328,11 +320,7 @@ class c_GenArrayWaitHandle : public c_BlockableWaitHandle { public: c_GenArrayWaitHandle(VM::Class* cls = c_GenArrayWaitHandle::s_cls); public: ~c_GenArrayWaitHandle(); public: void t___construct(); - public: static Object ti_create(const char* cls , CArrRef dependencies); - public: static Object t_create(CArrRef dependencies) { - return ti_create("genarraywaithandle", dependencies); - } - + public: static Object ti_create(CArrRef dependencies); public: String getName(); @@ -366,11 +354,7 @@ class c_SetResultToRefWaitHandle : public c_BlockableWaitHandle { public: c_SetResultToRefWaitHandle(VM::Class* cls = c_SetResultToRefWaitHandle::s_cls); public: ~c_SetResultToRefWaitHandle(); public: void t___construct(); - public: static Object ti_create(const char* cls , CObjRef wait_handle, VRefParam ref); - public: static Object t_create(CObjRef wait_handle, VRefParam ref) { - return ti_create("setresulttorefwaithandle", wait_handle, ref); - } - + public: static Object ti_create(CObjRef wait_handle, VRefParam ref); public: String getName(); @@ -410,10 +394,7 @@ class c_RescheduleWaitHandle : public c_WaitableWaitHandle { public: c_RescheduleWaitHandle(VM::Class* cls = c_RescheduleWaitHandle::s_cls); public: ~c_RescheduleWaitHandle(); public: void t___construct(); - public: static Object ti_create(const char* cls , int queue, int priority); - public: static Object t_create(int queue, int priority) { - return ti_create("reschedulewaithandle", queue, priority); - } + public: static Object ti_create(int queue, int priority); public: void run(); diff --git a/hphp/runtime/ext/ext_collections.cpp b/hphp/runtime/ext/ext_collections.cpp index 7c50b8131..191452209 100644 --- a/hphp/runtime/ext/ext_collections.cpp +++ b/hphp/runtime/ext/ext_collections.cpp @@ -609,7 +609,7 @@ Object c_Vector::t_put(CVarRef key, CVarRef value) { return t_set(key, value); } -Object c_Vector::ti_fromitems(const char* cls, CVarRef iterable) { +Object c_Vector::ti_fromitems(CVarRef iterable) { size_t sz; ArrayIter iter = getArrayIterHelper(iterable, sz); c_Vector* target; @@ -622,7 +622,7 @@ Object c_Vector::ti_fromitems(const char* cls, CVarRef iterable) { return ret; } -Object c_Vector::ti_fromarray(const char* cls, CVarRef arr) { +Object c_Vector::ti_fromarray(CVarRef arr) { if (!arr.isArray()) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( "Parameter arr must be an array")); @@ -646,7 +646,7 @@ Object c_Vector::ti_fromarray(const char* cls, CVarRef arr) { return ret; } -Object c_Vector::ti_fromvector(const char* cls, CVarRef vec) { +Object c_Vector::ti_fromvector(CVarRef vec) { if (!vec.isObject()) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( "vec must be an instance of Vector")); @@ -671,7 +671,7 @@ Object c_Vector::ti_fromvector(const char* cls, CVarRef vec) { return ret; } -Variant c_Vector::ti_slice(const char* cls, CVarRef vec, CVarRef offset, +Variant c_Vector::ti_slice(CVarRef vec, CVarRef offset, CVarRef len /* = null */) { if (!vec.isObject()) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( @@ -1535,7 +1535,7 @@ Object c_Map::t_zip(CVarRef iterable) { return obj; } -Object c_Map::ti_fromitems(const char* cls, CVarRef iterable) { +Object c_Map::ti_fromitems(CVarRef iterable) { size_t sz; ArrayIter iter = getArrayIterHelper(iterable, sz); c_Map* target; @@ -1568,7 +1568,7 @@ Object c_Map::ti_fromitems(const char* cls, CVarRef iterable) { return ret; } -Object c_Map::ti_fromarray(const char* cls, CVarRef arr) { +Object c_Map::ti_fromarray(CVarRef arr) { if (!arr.isArray()) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( "Parameter arr must be an array")); @@ -1591,7 +1591,7 @@ Object c_Map::ti_fromarray(const char* cls, CVarRef arr) { return ret; } -Object c_Map::ti_fromiterable(const char* cls, CVarRef it) { +Object c_Map::ti_fromiterable(CVarRef it) { if (!it.isObject()) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( "Parameter it must be an instance of Iterable")); @@ -2710,7 +2710,7 @@ Object c_StableMap::t_zip(CVarRef iterable) { return obj; } -Object c_StableMap::ti_fromitems(const char* cls, CVarRef iterable) { +Object c_StableMap::ti_fromitems(CVarRef iterable) { size_t sz; ArrayIter iter = getArrayIterHelper(iterable, sz); c_StableMap* target; @@ -2743,7 +2743,7 @@ Object c_StableMap::ti_fromitems(const char* cls, CVarRef iterable) { return ret; } -Object c_StableMap::ti_fromarray(const char* cls, CVarRef arr) { +Object c_StableMap::ti_fromarray(CVarRef arr) { if (!arr.isArray()) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( "Parameter arr must be an array")); @@ -2767,7 +2767,7 @@ Object c_StableMap::ti_fromarray(const char* cls, CVarRef arr) { return ret; } -Object c_StableMap::ti_fromiterable(const char* cls, CVarRef it) { +Object c_StableMap::ti_fromiterable(CVarRef it) { if (!it.isObject()) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( "Parameter it must be an instance of Iterable")); @@ -3671,7 +3671,7 @@ Object c_Set::t_zip(CVarRef iterable) { return obj; } -Object c_Set::ti_fromitems(const char* cls, CVarRef iterable) { +Object c_Set::ti_fromitems(CVarRef iterable) { size_t sz; ArrayIter iter = getArrayIterHelper(iterable, sz); c_Set* target; @@ -3689,7 +3689,7 @@ Object c_Set::ti_fromitems(const char* cls, CVarRef iterable) { return ret; } -Object c_Set::ti_fromarray(const char* cls, CVarRef arr) { +Object c_Set::ti_fromarray(CVarRef arr) { if (!arr.isArray()) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( "Parameter arr must be an array")); @@ -3758,7 +3758,7 @@ Object c_Set::t_updatefromiterablevalues(CVarRef iterable) { return this; } -Object c_Set::ti_fromarrays(const char* cls, int _argc, +Object c_Set::ti_fromarrays(int _argc, CArrRef _argv /* = null_array */) { c_Set* st; Object ret = st = NEWOBJ(c_Set)(); @@ -3778,7 +3778,7 @@ Object c_Set::ti_fromarrays(const char* cls, int _argc, return ret; } -Object c_Set::ti_fromiterablevalues(const char* cls, CVarRef iterable) { +Object c_Set::ti_fromiterablevalues(CVarRef iterable) { if (!iterable.isObject()) { Object e(SystemLib::AllocInvalidArgumentExceptionObject( "Parameter iterable must be an instance of Iterable")); diff --git a/hphp/runtime/ext/ext_collections.h b/hphp/runtime/ext/ext_collections.h index b9f29f4a8..eac752f2f 100644 --- a/hphp/runtime/ext/ext_collections.h +++ b/hphp/runtime/ext/ext_collections.h @@ -77,23 +77,14 @@ class c_Vector : public ExtObjectDataFlagsm_dt = NEWOBJ(DateTime); @@ -94,7 +94,7 @@ static const StaticString s_warnings("warnings"); static const StaticString s_error_count("error_count"); static const StaticString s_errors("errors"); -Array c_DateTime::ti_getlasterrors(const char* cls ) { +Array c_DateTime::ti_getlasterrors() { Array errors = DateTime::getLastErrors(); Array warnings = DateTime::getLastWarnings(); Array ret = Array::Create(); @@ -201,11 +201,11 @@ Array c_DateTimeZone::t_gettransitions() { return m_tz->transitions(); } -Array c_DateTimeZone::ti_listabbreviations(const char* cls) { +Array c_DateTimeZone::ti_listabbreviations() { return TimeZone::GetAbbreviations(); } -Array c_DateTimeZone::ti_listidentifiers(const char* cls) { +Array c_DateTimeZone::ti_listidentifiers() { return TimeZone::GetNames(); } @@ -307,7 +307,7 @@ Variant c_DateInterval::t___set(Variant member, Variant value) { throw Object(SystemLib::AllocExceptionObject(msg)); } -Object c_DateInterval::ti_createfromdatestring(const char* cls , CStrRef time) { +Object c_DateInterval::ti_createfromdatestring(CStrRef time) { SmartObject di(NEWOBJ(DateInterval)(time, true)); return c_DateInterval::wrap(di); } @@ -448,11 +448,11 @@ bool f_date_default_timezone_set(CStrRef name) { } Array f_timezone_identifiers_list() { - return c_DateTimeZone::t_listidentifiers(); + return c_DateTimeZone::ti_listidentifiers(); } Array f_timezone_abbreviations_list() { - return c_DateTimeZone::t_listabbreviations(); + return c_DateTimeZone::ti_listabbreviations(); } Variant f_timezone_name_from_abbr(CStrRef abbr, int gmtoffset /* = -1 */, @@ -506,7 +506,7 @@ Object f_date_add(CObjRef datetime, CObjRef interval) { Object f_date_create_from_format(CStrRef format, CStrRef time, CObjRef timezone /* = null_object */) { - return c_DateTime::t_createfromformat(format, time, timezone); + return c_DateTime::ti_createfromformat(format, time, timezone); } Object f_date_create(CStrRef time /* = null_string */, @@ -538,11 +538,11 @@ String f_date_format(CObjRef object, CStrRef format) { } Array f_date_get_last_errors() { - return c_DateTime::t_getlasterrors(); + return c_DateTime::ti_getlasterrors(); } Object f_date_interval_create_from_date_string(CStrRef time) { - return c_DateInterval::t_createfromdatestring(time); + return c_DateInterval::ti_createfromdatestring(time); } String f_date_interval_format(CObjRef interval, CStrRef format_spec) { diff --git a/hphp/runtime/ext/ext_datetime.h b/hphp/runtime/ext/ext_datetime.h index 7e16215b0..5e857fda9 100644 --- a/hphp/runtime/ext/ext_datetime.h +++ b/hphp/runtime/ext/ext_datetime.h @@ -51,16 +51,10 @@ class c_DateTime : public ExtObjectData { public: Object t_add(CObjRef interval); public: void t___construct(CStrRef time = "now", CObjRef timezone = null_object); - public: static Object ti_createfromformat(const char* cls , CStrRef format, CStrRef time, CObjRef timezone = null_object); - public: static Object t_createfromformat(CStrRef format, CStrRef time, CObjRef timezone = null_object) { - return ti_createfromformat("datetime", format, time, timezone); - } + public: static Object ti_createfromformat(CStrRef format, CStrRef time, CObjRef timezone = null_object); public: Object t_diff(CObjRef datetime2, bool absolute = false); public: String t_format(CStrRef format); - public: static Array ti_getlasterrors(const char* cls ); - public: static Array t_getlasterrors() { - return ti_getlasterrors("datetime"); - } + public: static Array ti_getlasterrors(); public: int64_t t_getoffset(); public: int64_t t_gettimestamp(); public: Variant t_gettimezone(); @@ -125,14 +119,8 @@ class c_DateTimeZone : public ExtObjectData { public: String t_getname(); public: int64_t t_getoffset(CObjRef datetime); public: Array t_gettransitions(); - public: static Array ti_listabbreviations(const char* cls ); - public: static Array t_listabbreviations() { - return ti_listabbreviations("datetimezone"); - } - public: static Array ti_listidentifiers(const char* cls ); - public: static Array t_listidentifiers() { - return ti_listidentifiers("datetimezone"); - } + public: static Array ti_listabbreviations(); + public: static Array ti_listidentifiers(); // Helper for TimeZone -> c_DateTimeZone conversion public: static Object wrap(SmartObject tz) { @@ -170,10 +158,7 @@ class c_DateInterval : public ExtObjectDataFlagsm_error)) { return uninit_null(); @@ -509,7 +508,7 @@ String c_UConverter::t_geterrormessage() { /* Ennumerators and lookups */ #define UCNV_REASON_CASE(v) case UCNV_ ## v : return String("REASON_" #v ); -String c_UConverter::ti_reasontext(const char* cls , int64_t reason) { +String c_UConverter::ti_reasontext(int64_t reason) { switch (reason) { UCNV_REASON_CASE(UNASSIGNED) UCNV_REASON_CASE(ILLEGAL) @@ -523,7 +522,7 @@ String c_UConverter::ti_reasontext(const char* cls , int64_t reason) { } } -Array c_UConverter::ti_getavailable(const char* cls ) { +Array c_UConverter::ti_getavailable() { int32_t i, count = ucnv_countAvailable(); Array ret = Array::Create(); @@ -534,7 +533,7 @@ Array c_UConverter::ti_getavailable(const char* cls ) { return ret; } -Array c_UConverter::ti_getaliases(const char* cls , CStrRef encoding) { +Array c_UConverter::ti_getaliases(CStrRef encoding) { UErrorCode error = U_ZERO_ERROR; int16_t i, count = ucnv_countAliases(encoding.data(), &error); @@ -556,7 +555,7 @@ Array c_UConverter::ti_getaliases(const char* cls , CStrRef encoding) { return ret; } -Array c_UConverter::ti_getstandards(const char* cls ) { +Array c_UConverter::ti_getstandards() { int16_t i, count = ucnv_countStandards(); Array ret = Array::Create(); @@ -572,9 +571,7 @@ Array c_UConverter::ti_getstandards(const char* cls ) { return ret; } -String c_UConverter::ti_getstandardname(const char* cls, - CStrRef name, - CStrRef standard) { +String c_UConverter::ti_getstandardname(CStrRef name, CStrRef standard) { UErrorCode error = U_ZERO_ERROR; const char *standard_name = ucnv_getStandardName(name.data(), standard.data(), @@ -588,8 +585,8 @@ String c_UConverter::ti_getstandardname(const char* cls, return String(standard_name, CopyString); } -String c_UConverter::ti_getmimename(const char* cls, CStrRef name) { - return ti_getstandardname(cls, name, "MIME"); +String c_UConverter::ti_getmimename(CStrRef name) { + return ti_getstandardname(name, "MIME"); } /////////////////////////////////////////////////////////////////////////////// diff --git a/hphp/runtime/ext/ext_icu_ucnv.h b/hphp/runtime/ext/ext_icu_ucnv.h index 56de7af6c..56e7b62af 100644 --- a/hphp/runtime/ext/ext_icu_ucnv.h +++ b/hphp/runtime/ext/ext_icu_ucnv.h @@ -103,42 +103,18 @@ class c_UConverter : public ExtObjectData { public: Variant t_toucallback(int64_t reason, CStrRef source, CStrRef codeunits, VRefParam error); public: Variant t_convert(CStrRef str, bool reverse = false); - public: static Variant ti_transcode(const char* cls , CStrRef str, + public: static Variant ti_transcode(CStrRef str, CStrRef toEncoding, CStrRef fromEncoding, CArrRef options = null_variant); - public: static Variant t_transcode(CStrRef str, - CStrRef toEncoding, CStrRef fromEncoding, - CArrRef options = null_variant) { - return ti_transcode("uconverter", str, toEncoding, fromEncoding, options); - } public: int64_t t_geterrorcode(); public: String t_geterrormessage(); - public: static String ti_reasontext(const char* cls , int64_t reason); - public: static String t_reasontext(int64_t reason) { - return ti_reasontext("uconverter", reason); - } - public: static Array ti_getavailable(const char* cls ); - public: static Array t_getavailable() { - return ti_getavailable("uconverter"); - } - public: static Array ti_getaliases(const char* cls , CStrRef encoding); - public: static Array t_getaliases(CStrRef encoding) { - return ti_getaliases("uconverter", encoding); - } - public: static Array ti_getstandards(const char* cls ); - public: static Array t_getstandards() { - return ti_getstandards("uconverter"); - } - public: static String ti_getstandardname(const char* cls, - CStrRef name, + public: static String ti_reasontext(int64_t reason); + public: static Array ti_getavailable(); + public: static Array ti_getaliases(CStrRef encoding); + public: static Array ti_getstandards(); + public: static String ti_getstandardname(CStrRef name, CStrRef standard); - public: static String t_getstandardname(CStrRef name, CStrRef standard) { - return ti_getstandardname("uconverter", name, standard); - } - public: static String ti_getmimename(const char* cls, CStrRef name); - public: static String t_getmimename(CStrRef name) { - return ti_getmimename("uconverter", name); - } + public: static String ti_getmimename(CStrRef name); private: static void throwFailure(UErrorCode error, const char *fname, diff --git a/hphp/runtime/ext/ext_intl.cpp b/hphp/runtime/ext/ext_intl.cpp index 07b713086..9b26dc577 100644 --- a/hphp/runtime/ext/ext_intl.cpp +++ b/hphp/runtime/ext/ext_intl.cpp @@ -193,7 +193,7 @@ Variant c_Collator::t_compare(CStrRef str1, CStrRef str2) { return ret; } -Variant c_Collator::ti_create(const char* cls, CStrRef locale) { +Variant c_Collator::ti_create(CStrRef locale) { p_Collator c(NEWOBJ(c_Collator)()); c.get()->t___construct(locale); return c; @@ -484,7 +484,7 @@ Variant f_collator_compare(CVarRef obj, CStrRef str1, CStrRef str2) { } Variant f_collator_create(CStrRef locale) { - return c_Collator::ti_create(nullptr, locale); + return c_Collator::ti_create(locale); } Variant f_collator_get_attribute(CVarRef obj, int64_t attr) { @@ -574,7 +574,7 @@ void c_Normalizer::t___construct() { /////////////////////////////////////////////////////////////////////////////// -Variant c_Normalizer::ti_isnormalized(const char* cls , CStrRef input, +Variant c_Normalizer::ti_isnormalized(CStrRef input, int64_t form /* = q_Normalizer$$FORM_C */) { s_intl_error->m_error.clear(); @@ -621,7 +621,7 @@ Variant c_Normalizer::ti_isnormalized(const char* cls , CStrRef input, return uret; } -Variant c_Normalizer::ti_normalize(const char* cls , CStrRef input, +Variant c_Normalizer::ti_normalize(CStrRef input, int64_t form /* = q_Normalizer$$FORM_C */) { s_intl_error->m_error.clear(); diff --git a/hphp/runtime/ext/ext_intl.h b/hphp/runtime/ext/ext_intl.h index bfa6136b8..e8565fa53 100644 --- a/hphp/runtime/ext/ext_intl.h +++ b/hphp/runtime/ext/ext_intl.h @@ -87,10 +87,7 @@ class c_Collator : public ExtObjectData, public Sweepable { public: void t___construct(CStrRef locale); public: bool t_asort(VRefParam arr, int64_t sort_flag = q_Collator$$SORT_REGULAR); public: Variant t_compare(CStrRef str1, CStrRef str2); - public: static Variant ti_create(const char* cls , CStrRef locale); - public: static Variant t_create(CStrRef locale) { - return ti_create("collator", locale); - } + public: static Variant ti_create(CStrRef locale); public: int64_t t_getattribute(int64_t attr); public: int64_t t_geterrorcode(); public: String t_geterrormessage(); @@ -144,14 +141,8 @@ class c_Normalizer : public ExtObjectData, public Sweepable { public: c_Normalizer(VM::Class* cls = c_Normalizer::s_cls); public: ~c_Normalizer(); public: void t___construct(); - public: static Variant ti_isnormalized(const char* cls , CStrRef input, int64_t form = q_Normalizer$$FORM_C); - public: static Variant t_isnormalized(CStrRef input, int64_t form = q_Normalizer$$FORM_C) { - return ti_isnormalized("normalizer", input, form); - } - public: static Variant ti_normalize(const char* cls , CStrRef input, int64_t form = q_Normalizer$$FORM_C); - public: static Variant t_normalize(CStrRef input, int64_t form = q_Normalizer$$FORM_C) { - return ti_normalize("normalizer", input, form); - } + public: static Variant ti_isnormalized(CStrRef input, int64_t form = q_Normalizer$$FORM_C); + public: static Variant ti_normalize(CStrRef input, int64_t form = q_Normalizer$$FORM_C); }; /////////////////////////////////////////////////////////////////////////////// diff --git a/hphp/runtime/ext/ext_pdo.cpp b/hphp/runtime/ext/ext_pdo.cpp index 3fd2d397b..d2491c0da 100644 --- a/hphp/runtime/ext/ext_pdo.cpp +++ b/hphp/runtime/ext/ext_pdo.cpp @@ -1482,7 +1482,7 @@ Variant c_PDO::t___sleep() { return uninit_null(); } -Array c_PDO::ti_getavailabledrivers(const char* cls) { +Array c_PDO::ti_getavailabledrivers() { return f_pdo_drivers(); } diff --git a/hphp/runtime/ext/ext_pdo.h b/hphp/runtime/ext/ext_pdo.h index 74e639203..d1906d466 100644 --- a/hphp/runtime/ext/ext_pdo.h +++ b/hphp/runtime/ext/ext_pdo.h @@ -134,10 +134,7 @@ class c_PDO : public ExtObjectData, public Sweepable { public: Variant t_quote(CStrRef str, int64_t paramtype = q_PDO$$PARAM_STR); public: Variant t___wakeup(); public: Variant t___sleep(); - public: static Array ti_getavailabledrivers(const char* cls ); - public: static Array t_getavailabledrivers() { - return ti_getavailabledrivers("pdo"); - } + public: static Array ti_getavailabledrivers(); public: sp_PDOConnection m_dbh; }; diff --git a/hphp/test/test_ext_intl.cpp b/hphp/test/test_ext_intl.cpp index 592f7c732..3b1f6dd08 100644 --- a/hphp/test/test_ext_intl.cpp +++ b/hphp/test/test_ext_intl.cpp @@ -169,9 +169,9 @@ bool TestExtIntl::test_Locale() { } bool TestExtIntl::test_Normalizer() { - VERIFY(c_Normalizer::ti_isnormalized(nullptr, "\xC3\x85")); - VERIFY(!c_Normalizer::ti_isnormalized(nullptr, "A\xCC\x8A")); - VS(c_Normalizer::ti_normalize(nullptr, "A\xCC\x8A", q_Normalizer$$FORM_C), + VERIFY(c_Normalizer::ti_isnormalized("\xC3\x85")); + VERIFY(!c_Normalizer::ti_isnormalized("A\xCC\x8A")); + VS(c_Normalizer::ti_normalize("A\xCC\x8A", q_Normalizer$$FORM_C), "\xC3\x85"); return Count(true); } diff --git a/hphp/tools/gen-ext-hhvm/gen-ext-hhvm.cpp b/hphp/tools/gen-ext-hhvm/gen-ext-hhvm.cpp index da4414c49..8ac12f922 100644 --- a/hphp/tools/gen-ext-hhvm/gen-ext-hhvm.cpp +++ b/hphp/tools/gen-ext-hhvm/gen-ext-hhvm.cpp @@ -98,15 +98,11 @@ void emitRemappedFuncDecl(const PhpFunc& func, isFirstParam = false; } - if (!func.className.empty()) { + if (!func.className.empty() && !func.isStatic) { if (!isFirstParam) { out << ", "; } - if (func.isStatic) { - out << "char const* cls_"; - } else { - out << "ObjectData* this_"; - } + out << "ObjectData* this_"; isFirstParam = false; } @@ -281,17 +277,12 @@ void emitCallExpression(const PhpFunc& func, const fbstring& prefix, } } - if (!func.className.empty()) { + if (!func.className.empty() && !func.isStatic) { if (!isFirstParam) { out << ", "; } isFirstParam = false; - - if (func.isStatic) { - out << '"' << func.className << '"'; - } else { - out << "(this_)"; - } + out << "(this_)"; } if (func.isVarargs) { diff --git a/hphp/tools/gen-ext-hhvm/idl.cpp b/hphp/tools/gen-ext-hhvm/idl.cpp index 971f9fbd9..d233baa32 100644 --- a/hphp/tools/gen-ext-hhvm/idl.cpp +++ b/hphp/tools/gen-ext-hhvm/idl.cpp @@ -203,10 +203,6 @@ fbstring PhpFunc::getCppSig() const { } bool firstParam = true; - if (isMethod() && isStatic) { - out << "char const*"; - firstParam = false; - } if (isVarargs) { if (!firstParam) { out << ", ";