mirror of
https://github.com/danog/amp.git
synced 2024-11-27 04:24:42 +01:00
Don't use php7 ReflectionGenerator in PHP5.x branch
This commit is contained in:
parent
e6f1386b31
commit
0255049bbb
@ -538,9 +538,10 @@ function __coroutineAdvance($cs) {
|
||||
} else {
|
||||
$promisor = $cs->promisor;
|
||||
$cs->promisor = null;
|
||||
$promisor->fail(new \DomainException(
|
||||
__generateYieldError($cs->generator, $key, $yielded)
|
||||
));
|
||||
$promisor->fail(new \DomainException(sprintf(
|
||||
"Unexpected Generator yield (Promise|null expected); %s yielded at key %s",
|
||||
is_object($yielded) ? get_class($yielded) : gettype($yielded)
|
||||
)));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -580,19 +581,3 @@ function __coroutineSend($error, $result, $cs) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function __generateYieldError(\Generator $generator, $key, $yielded) {
|
||||
$reflectionGen = new \ReflectionGenerator($generator);
|
||||
$executingGen = $reflectionGen->getExecutingGenerator();
|
||||
if ($isSubgenerator = ($executingGen !== $generator)) {
|
||||
$reflectionGen = new \ReflectionGenerator($executingGen);
|
||||
}
|
||||
|
||||
return sprintf(
|
||||
"Unexpected Generator yield (Promise|null expected); %s yielded at key %s on line %s in %s",
|
||||
(is_object($yielded) ? get_class($yielded) : gettype($yielded)),
|
||||
$key,
|
||||
$reflectionGen->getExecutingLine(),
|
||||
$reflectionGen->getExecutingFile()
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user