Skip to content

Commit 778b1d9

Browse files
committed
Add Random\Random{Error,Exception} and Random\BrokenRandomEngineError
1 parent 822881b commit 778b1d9

File tree

4 files changed

+88
-1
lines changed

4 files changed

+88
-1
lines changed

ext/random/php_random.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,10 @@ typedef struct _php_random_randomizer {
260260
extern PHPAPI zend_class_entry *random_ce_Random_Engine;
261261
extern PHPAPI zend_class_entry *random_ce_Random_CryptoSafeEngine;
262262

263+
extern PHPAPI zend_class_entry *random_ce_Random_RandomError;
264+
extern PHPAPI zend_class_entry *random_ce_Random_BrokenRandomEngineError;
265+
extern PHPAPI zend_class_entry *random_ce_Random_RandomException;
266+
263267
extern PHPAPI zend_class_entry *random_ce_Random_Engine_PcgOneseq128XslRr64;
264268
extern PHPAPI zend_class_entry *random_ce_Random_Engine_Mt19937;
265269
extern PHPAPI zend_class_entry *random_ce_Random_Engine_Xoshiro256StarStar;

ext/random/random.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,13 @@ PHPAPI zend_class_entry *random_ce_Random_Engine_Mt19937;
7474
PHPAPI zend_class_entry *random_ce_Random_Engine_PcgOneseq128XslRr64;
7575
PHPAPI zend_class_entry *random_ce_Random_Engine_Xoshiro256StarStar;
7676
PHPAPI zend_class_entry *random_ce_Random_Engine_Secure;
77+
7778
PHPAPI zend_class_entry *random_ce_Random_Randomizer;
7879

80+
PHPAPI zend_class_entry *random_ce_Random_RandomError;
81+
PHPAPI zend_class_entry *random_ce_Random_BrokenRandomEngineError;
82+
PHPAPI zend_class_entry *random_ce_Random_RandomException;
83+
7984
static zend_object_handlers random_engine_mt19937_object_handlers;
8085
static zend_object_handlers random_engine_pcgoneseq128xslrr64_object_handlers;
8186
static zend_object_handlers random_engine_xoshiro256starstar_object_handlers;
@@ -832,6 +837,15 @@ PHP_MINIT_FUNCTION(random)
832837
/* Random\CryptoSafeEngine */
833838
random_ce_Random_CryptoSafeEngine = register_class_Random_CryptoSafeEngine(random_ce_Random_Engine);
834839

840+
/* Random\RandomError */
841+
random_ce_Random_RandomError = register_class_Random_RandomError(zend_ce_error);
842+
843+
/* Random\BrokenRandomEngineError */
844+
random_ce_Random_BrokenRandomEngineError = register_class_Random_BrokenRandomEngineError(random_ce_Random_RandomError);
845+
846+
/* Random\RandomException */
847+
random_ce_Random_RandomException = register_class_Random_RandomException(zend_ce_exception);
848+
835849
/* Random\Engine\Mt19937 */
836850
random_ce_Random_Engine_Mt19937 = register_class_Random_Engine_Mt19937(random_ce_Random_Engine);
837851
random_ce_Random_Engine_Mt19937->create_object = php_random_engine_mt19937_new;

ext/random/random.stub.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,4 +147,25 @@ public function __serialize(): array {}
147147

148148
public function __unserialize(array $data): void {}
149149
}
150+
151+
/**
152+
* @strict-properties
153+
*/
154+
class RandomError extends \Error
155+
{
156+
}
157+
158+
/**
159+
* @strict-properties
160+
*/
161+
class BrokenRandomEngineError extends RandomError
162+
{
163+
}
164+
165+
/**
166+
* @strict-properties
167+
*/
168+
class RandomException extends \Exception
169+
{
170+
}
150171
}

ext/random/random_arginfo.h

Lines changed: 49 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)