You are a developer and looking for Shopware projects?
Apply Now!
getExecutingGenerator example
$a
[
$prefix
.'this'
]
=
new
CutStub
(
$c
->
getThis
(
)
)
;
}
$function
=
$c
->
getFunction
(
)
;
$frame
=
[
'class' =>
$function
->class ?? null,
'type' =>
isset
(
$function
->class
)
?
(
$function
->
isStatic
(
)
? '::' : '->'
)
: null,
'function' =>
$function
->name,
'file' =>
$c
->
getExecutingFile
(
)
,
'line' =>
$c
->
getExecutingLine
(
)
,
]
;
if
(
$trace
=
$c
->
getTrace
(
\DEBUG_BACKTRACE_IGNORE_ARGS
)
)
{
$function
=
new
\
ReflectionGenerator
(
$c
->
getExecutingGenerator
(
)
)
;
array_unshift
(
$trace
,
[
'function' => 'yield',
'file' =>
$function
->
getExecutingFile
(
)
,
'line' =>
$function
->
getExecutingLine
(
)
,
]
)
;
$trace
[
]
=
$frame
;
$a
[
$prefix
.'trace'
]
=
new
TraceStub
(
$trace
, false, 0, -1, -1
)
;
}
else
{
$function
=
new
FrameStub
(
$frame
, false, true
)
;
$function
= ExceptionCaster::
castFrameStub
(
$function
,
[
]
,
$function
, true
)
;
$a
[
$prefix
.'executing'
]
=
$function
[
$prefix
.'src'
]
;
}
EODUMP;
$r
=
new
\
ReflectionGenerator
(
$generator
)
;
$this
->
assertDumpMatchesFormat
(
$expectedDump
,
[
$r
,
$r
->
getExecutingGenerator
(
)
]
)
;
foreach
(
$generator
as
$v
)
{
}
$expectedDump
= <<<'EODUMP' Generator { closed: true } EODUMP;
$this
->
assertDumpMatchesFormat
(
$expectedDump
,
$generator
)
;
}
$a
[
$prefix
.'this'
]
=
new
CutStub
(
$c
->
getThis
(
)
)
;
}
$function
=
$c
->
getFunction
(
)
;
$frame
=
[
'class' =>
$function
->class ?? null,
'type' =>
isset
(
$function
->class
)
?
(
$function
->
isStatic
(
)
? '::' : '->'
)
: null,
'function' =>
$function
->name,
'file' =>
$c
->
getExecutingFile
(
)
,
'line' =>
$c
->
getExecutingLine
(
)
,
]
;
if
(
$trace
=
$c
->
getTrace
(
\DEBUG_BACKTRACE_IGNORE_ARGS
)
)
{
$function
=
new
\
ReflectionGenerator
(
$c
->
getExecutingGenerator
(
)
)
;
array_unshift
(
$trace
,
[
'function' => 'yield',
'file' =>
$function
->
getExecutingFile
(
)
,
'line' =>
$function
->
getExecutingLine
(
)
,
]
)
;
$trace
[
]
=
$frame
;
$a
[
$prefix
.'trace'
]
=
new
TraceStub
(
$trace
, false, 0, -1, -1
)
;
}
else
{
$function
=
new
FrameStub
(
$frame
, false, true
)
;
$function
= ExceptionCaster::
castFrameStub
(
$function
,
[
]
,
$function
, true
)
;
$a
[
$prefix
.'executing'
]
=
$function
[
$prefix
.'src'
]
;
}