Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
addSuggestions example
// try 2-words tests
$name
=
$name
.' '.
$this
->parser->
getCurrentToken
(
)
->
getValue
(
)
;
if
(
$test
=
$this
->env->
getTest
(
$name
)
)
{
$stream
->
next
(
)
;
return
[
$name
,
$test
]
;
}
}
$e
=
new
SyntaxError
(
sprintf
(
'Unknown "%s" test.',
$name
)
,
$line
,
$stream
->
getSourceContext
(
)
)
;
$e
->
addSuggestions
(
$name
,
array_keys
(
$this
->env->
getTests
(
)
)
)
;
throw
$e
;
}
private
function
getTestNodeClass
(
TwigTest
$test
)
: string
{
if
(
$test
->
isDeprecated
(
)
)
{
$stream
=
$this
->parser->
getStream
(
)
;
$message
=
sprintf
(
'Twig Test "%s" is deprecated',
$test
->
getName
(
)
)
;
if
(
$test
->
getDeprecatedVersion
(
)
)
{
if
(
!
$subparser
=
$this
->env->
getTokenParser
(
$token
->
getValue
(
)
)
)
{
if
(
null !==
$test
)
{
$e
=
new
SyntaxError
(
sprintf
(
'Unexpected "%s" tag',
$token
->
getValue
(
)
)
,
$token
->
getLine
(
)
,
$this
->stream->
getSourceContext
(
)
)
;
if
(
\
is_array
(
$test
)
&&
isset
(
$test
[
0
]
)
&&
$test
[
0
]
instanceof TokenParserInterface
)
{
$e
->
appendMessage
(
sprintf
(
' (expecting closing tag for the "%s" tag defined near line %s).',
$test
[
0
]
->
getTag
(
)
,
$lineno
)
)
;
}
}
else
{
$e
=
new
SyntaxError
(
sprintf
(
'Unknown "%s" tag.',
$token
->
getValue
(
)
)
,
$token
->
getLine
(
)
,
$this
->stream->
getSourceContext
(
)
)
;
$e
->
addSuggestions
(
$token
->
getValue
(
)
,
array_keys
(
$this
->env->
getTokenParsers
(
)
)
)
;
}
throw
$e
;
}
$this
->stream->
next
(
)
;
$subparser
->
setParser
(
$this
)
;
$node
=
$subparser
->
parse
(
$token
)
;
if
(
null !==
$node
)
{
$rv
[
]
=
$node
;
}