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.
Esse commit está contido em:
+4
-24
@@ -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'])) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -77,23 +77,14 @@ class c_Vector : public ExtObjectDataFlags<ObjectData::VectorAttrInit|
|
||||
Variant t___set(Variant name, Variant value);
|
||||
bool t___isset(Variant name);
|
||||
Variant t___unset(Variant name);
|
||||
static Object ti_fromitems(const char* cls, CVarRef iterable);
|
||||
static Object t_fromitems(CVarRef iterable) {
|
||||
return ti_fromitems("vector", iterable);
|
||||
}
|
||||
static Object ti_fromarray(const char* cls, CVarRef arr); // deprecated
|
||||
static Object t_fromarray(CVarRef arr) {
|
||||
return ti_fromarray("vector", arr);
|
||||
}
|
||||
static Object ti_fromvector(const char* cls, CVarRef vec); // deprecated
|
||||
static Object t_fromvector(CVarRef vec) {
|
||||
return ti_fromvector("vector", vec);
|
||||
}
|
||||
static Variant ti_slice(const char* cls, CVarRef vec, CVarRef offset,
|
||||
static Object ti_fromitems(CVarRef iterable);
|
||||
static Object ti_fromarray(CVarRef arr); // deprecated
|
||||
static Object ti_fromvector(CVarRef vec); // deprecated
|
||||
static Variant ti_slice(CVarRef vec, CVarRef offset,
|
||||
CVarRef len = uninit_null());
|
||||
static Variant t_slice(CVarRef vec, CVarRef offset,
|
||||
CVarRef len = uninit_null()) {
|
||||
return ti_slice("vector", vec, offset, len);
|
||||
return ti_slice(vec, offset, len);
|
||||
}
|
||||
|
||||
static void throwOOB(int64_t key) ATTRIBUTE_COLD ATTRIBUTE_NORETURN;
|
||||
@@ -266,18 +257,9 @@ class c_Map : public ExtObjectDataFlags<ObjectData::MapAttrInit|
|
||||
Variant t___set(Variant name, Variant value);
|
||||
bool t___isset(Variant name);
|
||||
Variant t___unset(Variant name);
|
||||
static Object ti_fromitems(const char* cls, CVarRef iterable);
|
||||
static Object t_fromitems(CVarRef iterable) {
|
||||
return ti_fromitems("map", iterable);
|
||||
}
|
||||
static Object ti_fromarray(const char* cls, CVarRef arr); // deprecated
|
||||
static Object t_fromarray(CVarRef arr) {
|
||||
return ti_fromarray("map", arr);
|
||||
}
|
||||
static Object ti_fromiterable(const char* cls, CVarRef vec); // deprecated
|
||||
static Object t_fromiterable(CVarRef vec) {
|
||||
return ti_fromiterable("map", vec);
|
||||
}
|
||||
static Object ti_fromitems(CVarRef iterable);
|
||||
static Object ti_fromarray(CVarRef arr); // deprecated
|
||||
static Object ti_fromiterable(CVarRef vec); // deprecated
|
||||
|
||||
static void throwOOB(int64_t key) ATTRIBUTE_COLD ATTRIBUTE_NORETURN;
|
||||
static void throwOOB(StringData* key) ATTRIBUTE_COLD ATTRIBUTE_NORETURN;
|
||||
@@ -576,18 +558,9 @@ class c_StableMap : public ExtObjectDataFlags<ObjectData::StableMapAttrInit|
|
||||
Variant t___set(Variant name, Variant value);
|
||||
bool t___isset(Variant name);
|
||||
Variant t___unset(Variant name);
|
||||
static Object ti_fromitems(const char* cls, CVarRef iterable);
|
||||
static Object t_fromitems(CVarRef iterable) {
|
||||
return ti_fromitems("stablemap", iterable);
|
||||
}
|
||||
static Object ti_fromarray(const char* cls, CVarRef arr); // deprecated
|
||||
static Object t_fromarray(CVarRef arr) {
|
||||
return ti_fromarray("stablemap", arr);
|
||||
}
|
||||
static Object ti_fromiterable(const char* cls, CVarRef vec); // deprecated
|
||||
static Object t_fromiterable(CVarRef vec) {
|
||||
return ti_fromiterable("stablemap", vec);
|
||||
}
|
||||
static Object ti_fromitems(CVarRef iterable);
|
||||
static Object ti_fromarray(CVarRef arr); // deprecated
|
||||
static Object ti_fromiterable(CVarRef vec); // deprecated
|
||||
|
||||
static void throwOOB(int64_t key) ATTRIBUTE_COLD ATTRIBUTE_NORETURN;
|
||||
static void throwOOB(StringData* key) ATTRIBUTE_COLD ATTRIBUTE_NORETURN;
|
||||
@@ -836,23 +809,11 @@ class c_Set : public ExtObjectDataFlags<ObjectData::SetAttrInit|
|
||||
Variant t___set(Variant name, Variant value);
|
||||
bool t___isset(Variant name);
|
||||
Variant t___unset(Variant name);
|
||||
static Object ti_fromitems(const char* cls, CVarRef iterable);
|
||||
static Object t_fromitems(CVarRef iterable) {
|
||||
return ti_fromitems("set", iterable);
|
||||
}
|
||||
static Object ti_fromarray(const char* cls, CVarRef arr);
|
||||
static Object t_fromarray(CVarRef arr) {
|
||||
return ti_fromarray("set", arr);
|
||||
}
|
||||
static Object ti_fromarrays(const char* cls, int _argc,
|
||||
static Object ti_fromitems(CVarRef iterable);
|
||||
static Object ti_fromarray(CVarRef arr);
|
||||
static Object ti_fromarrays(int _argc,
|
||||
CArrRef _argv = null_array);
|
||||
static Object t_fromarrays(int _argc, CArrRef _argv = null_array) {
|
||||
return ti_fromarrays("set", _argc, _argv);
|
||||
}
|
||||
static Object ti_fromiterablevalues(const char* cls, CVarRef iterable);
|
||||
static Object t_fromiterablevalues(CVarRef iterable) {
|
||||
return ti_fromiterablevalues("set", iterable);
|
||||
}
|
||||
static Object ti_fromiterablevalues(CVarRef iterable);
|
||||
|
||||
static void throwOOB(int64_t key) ATTRIBUTE_COLD ATTRIBUTE_NORETURN;
|
||||
static void throwOOB(StringData* key) ATTRIBUTE_COLD ATTRIBUTE_NORETURN;
|
||||
|
||||
@@ -73,7 +73,7 @@ void c_DateTime::t___construct(CStrRef time /*= "now"*/,
|
||||
}
|
||||
}
|
||||
|
||||
Object c_DateTime::ti_createfromformat(const char* cls , CStrRef format, CStrRef time,
|
||||
Object c_DateTime::ti_createfromformat(CStrRef format, CStrRef time,
|
||||
CObjRef timezone /*= null_object */) {
|
||||
c_DateTime *datetime = NEWOBJ(c_DateTime);
|
||||
datetime->m_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<DateInterval> 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) {
|
||||
|
||||
@@ -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<TimeZone> tz) {
|
||||
@@ -170,10 +158,7 @@ class c_DateInterval : public ExtObjectDataFlags<ObjectData::UseGet|ObjectData::
|
||||
public: void t___construct(CStrRef interval_spec);
|
||||
public: Variant t___get(Variant member);
|
||||
public: Variant t___set(Variant member, Variant value);
|
||||
public: static Object ti_createfromdatestring(const char* cls , CStrRef time);
|
||||
public: static Object t_createfromdatestring(CStrRef time) {
|
||||
return ti_createfromdatestring("dateinterval", time);
|
||||
}
|
||||
public: static Object ti_createfromdatestring(CStrRef time);
|
||||
public: String t_format(CStrRef format);
|
||||
|
||||
|
||||
|
||||
@@ -470,9 +470,8 @@ String c_UConverter::doConvert(CStrRef str,
|
||||
static const StaticString s_from_subst("from_subst");
|
||||
static const StaticString s_to_subst("to_subst");
|
||||
|
||||
Variant c_UConverter::ti_transcode(const char* cls , CStrRef str,
|
||||
CStrRef toEncoding, CStrRef fromEncoding,
|
||||
CArrRef options) {
|
||||
Variant c_UConverter::ti_transcode(CStrRef str, CStrRef toEncoding,
|
||||
CStrRef fromEncoding, CArrRef options) {
|
||||
UConverter *fromCnv = NULL, *toCnv = NULL;
|
||||
if (!setEncoding(fromEncoding, &fromCnv, s_intl_error->m_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");
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -203,10 +203,6 @@ fbstring PhpFunc::getCppSig() const {
|
||||
}
|
||||
|
||||
bool firstParam = true;
|
||||
if (isMethod() && isStatic) {
|
||||
out << "char const*";
|
||||
firstParam = false;
|
||||
}
|
||||
if (isVarargs) {
|
||||
if (!firstParam) {
|
||||
out << ", ";
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário