Throwable method signatures.

This commit is contained in:
Aaron Piotrowski 2015-05-18 14:29:51 -05:00
parent 99640cd013
commit 5c54bf015d
2 changed files with 21 additions and 11 deletions

View File

@ -509,7 +509,7 @@ static int zend_implement_throwable(zend_class_entry *interface, zend_class_entr
if (instanceof_function(class_type, zend_exception_get_default()) || instanceof_function(class_type, zend_get_error())) {
return SUCCESS;
}
zend_error_noreturn(E_CORE_ERROR, "Class %s cannot implement interface %s, extend Exception instead",
zend_error_noreturn(E_CORE_ERROR, "Class %s cannot implement interface %s, extend Exception or Error instead",
class_type->name->val,
interface->name->val);
return FAILURE;
@ -565,7 +565,17 @@ const zend_function_entry zend_funcs_serializable[] = {
};
/* }}} */
const zend_function_entry *zend_funcs_throwable = NULL;
const zend_function_entry zend_funcs_throwable[] = {
ZEND_ABSTRACT_ME(throwable, getMessage, NULL)
ZEND_ABSTRACT_ME(throwable, getCode, NULL)
ZEND_ABSTRACT_ME(throwable, getFile, NULL)
ZEND_ABSTRACT_ME(throwable, getLine, NULL)
ZEND_ABSTRACT_ME(throwable, getTrace, NULL)
ZEND_ABSTRACT_ME(throwable, getPrevious, NULL)
ZEND_ABSTRACT_ME(throwable, getTraceAsString, NULL)
ZEND_ABSTRACT_ME(throwable, __toString, NULL)
ZEND_FE_END
};
#define REGISTER_ITERATOR_INTERFACE(class_name, class_name_str) \
{\

View File

@ -40,7 +40,7 @@ string(183) "Class [ <internal:Core> class stdClass ] {
}
"
string(1376) "Class [ <internal:Core> class Exception implements Throwable ] {
string(1544) "Class [ <internal:Core> class Exception implements Throwable ] {
- Constants [0] {
}
@ -74,28 +74,28 @@ string(1376) "Class [ <internal:Core> class Exception implements Throwable ] {
}
}
Method [ <internal:Core> final public method getMessage ] {
Method [ <internal:Core, prototype Throwable> final public method getMessage ] {
}
Method [ <internal:Core> final public method getCode ] {
Method [ <internal:Core, prototype Throwable> final public method getCode ] {
}
Method [ <internal:Core> final public method getFile ] {
Method [ <internal:Core, prototype Throwable> final public method getFile ] {
}
Method [ <internal:Core> final public method getLine ] {
Method [ <internal:Core, prototype Throwable> final public method getLine ] {
}
Method [ <internal:Core> final public method getTrace ] {
Method [ <internal:Core, prototype Throwable> final public method getTrace ] {
}
Method [ <internal:Core> final public method getPrevious ] {
Method [ <internal:Core, prototype Throwable> final public method getPrevious ] {
}
Method [ <internal:Core> final public method getTraceAsString ] {
Method [ <internal:Core, prototype Throwable> final public method getTraceAsString ] {
}
Method [ <internal:Core> public method __toString ] {
Method [ <internal:Core, prototype Throwable> public method __toString ] {
}
}
}