Coverage Report

Created: 2025-06-13 06:43

/src/php-src/ext/spl/spl_exceptions.c
Line
Count
Source
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 "zend_interfaces.h"
23
#include "zend_exceptions.h"
24
#include "spl_exceptions_arginfo.h"
25
26
#include "spl_exceptions.h"
27
28
PHPAPI zend_class_entry *spl_ce_LogicException;
29
PHPAPI zend_class_entry *spl_ce_BadFunctionCallException;
30
PHPAPI zend_class_entry *spl_ce_BadMethodCallException;
31
PHPAPI zend_class_entry *spl_ce_DomainException;
32
PHPAPI zend_class_entry *spl_ce_InvalidArgumentException;
33
PHPAPI zend_class_entry *spl_ce_LengthException;
34
PHPAPI zend_class_entry *spl_ce_OutOfRangeException;
35
PHPAPI zend_class_entry *spl_ce_RuntimeException;
36
PHPAPI zend_class_entry *spl_ce_OutOfBoundsException;
37
PHPAPI zend_class_entry *spl_ce_OverflowException;
38
PHPAPI zend_class_entry *spl_ce_RangeException;
39
PHPAPI zend_class_entry *spl_ce_UnderflowException;
40
PHPAPI zend_class_entry *spl_ce_UnexpectedValueException;
41
42
#define spl_ce_Exception zend_ce_exception
43
44
/* {{{ PHP_MINIT_FUNCTION(spl_exceptions) */
45
PHP_MINIT_FUNCTION(spl_exceptions)
46
16
{
47
16
  spl_ce_LogicException = register_class_LogicException(zend_ce_exception);
48
16
  spl_ce_BadFunctionCallException = register_class_BadFunctionCallException(spl_ce_LogicException);
49
16
  spl_ce_BadMethodCallException = register_class_BadMethodCallException(spl_ce_BadFunctionCallException);
50
16
  spl_ce_DomainException = register_class_DomainException(spl_ce_LogicException);
51
16
  spl_ce_InvalidArgumentException = register_class_InvalidArgumentException(spl_ce_LogicException);
52
16
  spl_ce_LengthException = register_class_LengthException(spl_ce_LogicException);
53
16
  spl_ce_OutOfRangeException = register_class_OutOfRangeException(spl_ce_LogicException);
54
55
16
  spl_ce_RuntimeException = register_class_RuntimeException(zend_ce_exception);
56
16
  spl_ce_OutOfBoundsException = register_class_OutOfBoundsException(spl_ce_RuntimeException);
57
16
  spl_ce_OverflowException = register_class_OverflowException(spl_ce_RuntimeException);
58
16
  spl_ce_RangeException = register_class_RangeException(spl_ce_RuntimeException);
59
16
  spl_ce_UnderflowException = register_class_UnderflowException(spl_ce_RuntimeException);
60
16
  spl_ce_UnexpectedValueException = register_class_UnexpectedValueException(spl_ce_RuntimeException);
61
62
16
  return SUCCESS;
63
16
}
64
/* }}} */