1 /* 2 +----------------------------------------------------------------------+ 3 | Copyright (c) The PHP Group | 4 +----------------------------------------------------------------------+ 5 | This source file is subject to version 3.01 of the PHP license, | 6 | that is bundled with this package in the file LICENSE, and is | 7 | available through the world-wide-web at the following url: | 8 | https://www.php.net/license/3_01.txt | 9 | If you did not receive a copy of the PHP license and are unable to | 10 | obtain it through the world-wide-web, please send a note to | 11 | license@php.net so we can mail you a copy immediately. | 12 +----------------------------------------------------------------------+ 13 | Authors: Marcus Boerger <helly@php.net> | 14 +----------------------------------------------------------------------+ 15 */ 16 17 #ifdef HAVE_CONFIG_H 18 # include "config.h" 19 #endif 20 21 #include "php.h" 22 #include "php_ini.h" 23 #include "ext/standard/info.h" 24 #include "zend_interfaces.h" 25 #include "zend_exceptions.h" 26 #include "spl_exceptions_arginfo.h" 27 28 #include "php_spl.h" 29 #include "spl_functions.h" 30 #include "spl_engine.h" 31 #include "spl_exceptions.h" 32 33 PHPAPI zend_class_entry *spl_ce_LogicException; 34 PHPAPI zend_class_entry *spl_ce_BadFunctionCallException; 35 PHPAPI zend_class_entry *spl_ce_BadMethodCallException; 36 PHPAPI zend_class_entry *spl_ce_DomainException; 37 PHPAPI zend_class_entry *spl_ce_InvalidArgumentException; 38 PHPAPI zend_class_entry *spl_ce_LengthException; 39 PHPAPI zend_class_entry *spl_ce_OutOfRangeException; 40 PHPAPI zend_class_entry *spl_ce_RuntimeException; 41 PHPAPI zend_class_entry *spl_ce_OutOfBoundsException; 42 PHPAPI zend_class_entry *spl_ce_OverflowException; 43 PHPAPI zend_class_entry *spl_ce_RangeException; 44 PHPAPI zend_class_entry *spl_ce_UnderflowException; 45 PHPAPI zend_class_entry *spl_ce_UnexpectedValueException; 46 47 #define spl_ce_Exception zend_ce_exception 48 49 /* {{{ PHP_MINIT_FUNCTION(spl_exceptions) */ PHP_MINIT_FUNCTION(spl_exceptions)50PHP_MINIT_FUNCTION(spl_exceptions) 51 { 52 spl_ce_LogicException = register_class_LogicException(zend_ce_exception); 53 spl_ce_BadFunctionCallException = register_class_BadFunctionCallException(spl_ce_LogicException); 54 spl_ce_BadMethodCallException = register_class_BadMethodCallException(spl_ce_BadFunctionCallException); 55 spl_ce_DomainException = register_class_DomainException(spl_ce_LogicException); 56 spl_ce_InvalidArgumentException = register_class_InvalidArgumentException(spl_ce_LogicException); 57 spl_ce_LengthException = register_class_LengthException(spl_ce_LogicException); 58 spl_ce_OutOfRangeException = register_class_OutOfRangeException(spl_ce_LogicException); 59 60 spl_ce_RuntimeException = register_class_RuntimeException(zend_ce_exception); 61 spl_ce_OutOfBoundsException = register_class_OutOfBoundsException(spl_ce_RuntimeException); 62 spl_ce_OverflowException = register_class_OverflowException(spl_ce_RuntimeException); 63 spl_ce_RangeException = register_class_RangeException(spl_ce_RuntimeException); 64 spl_ce_UnderflowException = register_class_UnderflowException(spl_ce_RuntimeException); 65 spl_ce_UnexpectedValueException = register_class_UnexpectedValueException(spl_ce_RuntimeException); 66 67 return SUCCESS; 68 } 69 /* }}} */ 70