123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- --TEST--
- ReflectionGenerator basic test
- --FILE--
- <?php
- function foo() {
- yield;
- }
- $gens = [
- (new class() {
- function a() {
- yield from foo();
- }
- })->a(),
- (function() {
- yield;
- })(),
- foo(),
- ];
- foreach ($gens as $gen) {
- var_dump($gen);
- $gen->valid(); // start Generator
- $ref = new ReflectionGenerator($gen);
- var_dump($ref->getTrace());
- var_dump($ref->getExecutingLine());
- var_dump($ref->getExecutingFile());
- var_dump($ref->getExecutingGenerator());
- var_dump($ref->getFunction());
- var_dump($ref->getThis());
- }
- ?>
- --EXPECTF--
- object(Generator)#2 (0) {
- }
- array(2) {
- [0]=>
- array(4) {
- ["file"]=>
- string(%d) "%s"
- ["line"]=>
- int(%d)
- ["function"]=>
- string(3) "foo"
- ["args"]=>
- array(0) {
- }
- }
- [1]=>
- array(5) {
- ["function"]=>
- string(1) "a"
- ["class"]=>
- string(%d) "class@anonymous%s"
- ["object"]=>
- object(class@anonymous)#%d (0) {
- }
- ["type"]=>
- string(2) "->"
- ["args"]=>
- array(0) {
- }
- }
- }
- int(%d)
- string(%d) "%sReflectionGenerator_basic.%s"
- object(Generator)#6 (0) {
- }
- object(ReflectionMethod)#8 (2) {
- ["name"]=>
- string(1) "a"
- ["class"]=>
- string(%d) "class@anonymous%s"
- }
- object(class@anonymous)#1 (0) {
- }
- object(Generator)#4 (0) {
- }
- array(1) {
- [0]=>
- array(2) {
- ["function"]=>
- string(9) "{closure}"
- ["args"]=>
- array(0) {
- }
- }
- }
- int(%d)
- string(%d) "%sReflectionGenerator_basic.%s"
- object(Generator)#4 (0) {
- }
- object(ReflectionFunction)#7 (1) {
- ["name"]=>
- string(9) "{closure}"
- }
- NULL
- object(Generator)#5 (0) {
- }
- array(1) {
- [0]=>
- array(2) {
- ["function"]=>
- string(3) "foo"
- ["args"]=>
- array(0) {
- }
- }
- }
- int(%d)
- string(%d) "%sReflectionGenerator_basic.%s"
- object(Generator)#5 (0) {
- }
- object(ReflectionFunction)#8 (1) {
- ["name"]=>
- string(3) "foo"
- }
- NULL
|