public function compile(ExpressionCompiler $compiler, FunctionExpression $function)
 {
     $compiler->compileInternal(new VariableExpression('container'))->write('->get(' . var_export($this->serviceId, true) . ')')->write('->' . $this->methodName . '(');
     $first = true;
     foreach ($function->args as $arg) {
         if (!$first) {
             $compiler->write(', ');
         }
         $first = false;
         $compiler->compileInternal($arg);
     }
     $compiler->write(')');
 }
 public function compile(ExpressionCompiler $compiler, FunctionExpression $function)
 {
     $compiler->compileInternal(new VariableExpression('permission_evaluator'))->write('->hasPermission(')->compileInternal(new VariableExpression('token'))->write(', ')->compileInternal($function->args[0])->write(', ');
     if ($function->args[1] instanceof ConstantExpression) {
         $compiler->write(var_export(strtoupper($function->args[1]->value), true) . ')');
         return;
     }
     $compiler->write('strtoupper(')->compileInternal($function->args[1])->write('))');
 }
 public function compile(ExpressionCompiler $compiler, FunctionExpression $function)
 {
     $compiler->compileInternal(new VariableExpression('permission_evaluator'))->write('->hasPermission(')->compileInternal(new VariableExpression('token'))->write(", new Symfony\\Component\\Security\\Acl\\Domain\\ObjectIdentity(")->compileInternal($function->args[0])->write(", -1), ");
     if ($function->args[1] instanceof ConstantExpression) {
         $compiler->write(var_export(strtoupper($function->args[1]->value), true) . ')');
         return;
     }
     $compiler->write('strtoupper(')->compileInternal($function->args[1])->write('))');
 }
 public function compile(ExpressionCompiler $compiler, FunctionExpression $function)
 {
     $compiler->compileInternal(new VariableExpression('trust_resolver'))->write("->isFullFledged(\$context['token'])");
 }
 public function compile(ExpressionCompiler $compiler, ExpressionInterface $parameter)
 {
     $compiler->compileInternal(new VariableExpression('object'))->write("->arguments[")->write("\${$compiler->attributes['parameter_mapping_name']}")->write("['{$parameter->name}']]");
 }