You are here

public function Twig_Node_Expression_Test_Constant::compile in Translation template extractor 6.3

Same name and namespace in other branches
  1. 7.3 vendor/Twig/Node/Expression/Test/Constant.php \Twig_Node_Expression_Test_Constant::compile()

Compiles the node to PHP.

Parameters

Twig_Compiler $compiler A Twig_Compiler instance:

Overrides Twig_Node_Expression_Test::compile

File

vendor/Twig/Node/Expression/Test/Constant.php, line 25

Class

Twig_Node_Expression_Test_Constant
Checks if a variable is the exact same value as a constant.

Code

public function compile(Twig_Compiler $compiler) {
  $compiler
    ->raw('(')
    ->subcompile($this
    ->getNode('node'))
    ->raw(' === constant(');
  if ($this
    ->getNode('arguments')
    ->hasNode(1)) {
    $compiler
      ->raw('get_class(')
      ->subcompile($this
      ->getNode('arguments')
      ->getNode(1))
      ->raw(')."::".');
  }
  $compiler
    ->subcompile($this
    ->getNode('arguments')
    ->getNode(0))
    ->raw('))');
}