Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
compileCallable example
$this
->
setAttribute
(
'type', 'function'
)
;
$this
->
setAttribute
(
'needs_environment',
$function
->
needsEnvironment
(
)
)
;
$this
->
setAttribute
(
'needs_context',
$function
->
needsContext
(
)
)
;
$this
->
setAttribute
(
'arguments',
$function
->
getArguments
(
)
)
;
$callable
=
$function
->
getCallable
(
)
;
if
(
'constant' ===
$name
&&
$this
->
getAttribute
(
'is_defined_test'
)
)
{
$callable
= 'twig_constant_is_defined';
}
$this
->
setAttribute
(
'callable',
$callable
)
;
$this
->
setAttribute
(
'is_variadic',
$function
->
isVariadic
(
)
)
;
$this
->
compileCallable
(
$compiler
)
;
}
}
public
function
compile
(
Compiler
$compiler
)
: void
{
$name
=
$this
->
getAttribute
(
'name'
)
;
$test
=
$compiler
->
getEnvironment
(
)
->
getTest
(
$name
)
;
$this
->
setAttribute
(
'name',
$name
)
;
$this
->
setAttribute
(
'type', 'test'
)
;
$this
->
setAttribute
(
'arguments',
$test
->
getArguments
(
)
)
;
$this
->
setAttribute
(
'callable',
$test
->
getCallable
(
)
)
;
$this
->
setAttribute
(
'is_variadic',
$test
->
isVariadic
(
)
)
;
$this
->
compileCallable
(
$compiler
)
;
}
}
$name
=
$this
->
getNode
(
'filter'
)
->
getAttribute
(
'value'
)
;
$filter
=
$compiler
->
getEnvironment
(
)
->
getFilter
(
$name
)
;
$this
->
setAttribute
(
'name',
$name
)
;
$this
->
setAttribute
(
'type', 'filter'
)
;
$this
->
setAttribute
(
'needs_environment',
$filter
->
needsEnvironment
(
)
)
;
$this
->
setAttribute
(
'needs_context',
$filter
->
needsContext
(
)
)
;
$this
->
setAttribute
(
'arguments',
$filter
->
getArguments
(
)
)
;
$this
->
setAttribute
(
'callable',
$filter
->
getCallable
(
)
)
;
$this
->
setAttribute
(
'is_variadic',
$filter
->
isVariadic
(
)
)
;
$this
->
compileCallable
(
$compiler
)
;
}
}