Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getBeforeOptimizationPasses example
/** * Returns all passes in order to be processed. * * @return CompilerPassInterface[] */
public
function
getPasses
(
)
: array
{
return
array_merge
(
[
$this
->mergePass
]
,
$this
->
getBeforeOptimizationPasses
(
)
,
$this
->
getOptimizationPasses
(
)
,
$this
->
getBeforeRemovingPasses
(
)
,
$this
->
getRemovingPasses
(
)
,
$this
->
getAfterRemovingPasses
(
)
)
;
}
/** * Adds a pass. * * @return void * * @throws InvalidArgumentException when a pass type doesn't exist */
public
function
testPassOrdering
(
)
{
$config
=
new
PassConfig
(
)
;
$config
->
setBeforeOptimizationPasses
(
[
]
)
;
$pass1
=
$this
->
createMock
(
CompilerPassInterface::
class
)
;
$config
->
addPass
(
$pass1
, PassConfig::TYPE_BEFORE_OPTIMIZATION, 10
)
;
$pass2
=
$this
->
createMock
(
CompilerPassInterface::
class
)
;
$config
->
addPass
(
$pass2
, PassConfig::TYPE_BEFORE_OPTIMIZATION, 30
)
;
$passes
=
$config
->
getBeforeOptimizationPasses
(
)
;
$this
->
assertSame
(
$pass2
,
$passes
[
0
]
)
;
$this
->
assertSame
(
$pass1
,
$passes
[
1
]
)
;
}
public
function
testPassOrderingWithoutPasses
(
)
{
$config
=
new
PassConfig
(
)
;
$config
->
setBeforeOptimizationPasses
(
[
]
)
;
$config
->
setAfterRemovingPasses
(
[
]
)
;
$config
->
setBeforeRemovingPasses
(
[
]
)
;
$config
->
setOptimizationPasses
(
[
]
)
;
/** * Returns all passes in order to be processed. * * @return CompilerPassInterface[] */
public
function
getPasses
(
)
: array
{
return
array_merge
(
[
$this
->mergePass
]
,
$this
->
getBeforeOptimizationPasses
(
)
,
$this
->
getOptimizationPasses
(
)
,
$this
->
getBeforeRemovingPasses
(
)
,
$this
->
getRemovingPasses
(
)
,
$this
->
getAfterRemovingPasses
(
)
)
;
}
/** * Adds a pass. * * @return void * * @throws InvalidArgumentException when a pass type doesn't exist */