// is a name (like obj) or an attribute (like obj.attr)
// In such a case, it's compiled to {{ obj is defined ? obj|default('bar') : 'bar' }}
if ('default' === $name && ($this->getNode('node') instanceof Twig_Node_Expression_Name || $this->getNode('node') instanceof Twig_Node_Expression_GetAttr)) {
+ $compiler->raw('(');
if ($this->getNode('node') instanceof Twig_Node_Expression_Name) {
$testMap = $compiler->getEnvironment()->getTests();
$compiler
$this->compileFilter($compiler, $filter);
$compiler->raw(' : ');
$compiler->subcompile($this->getNode('arguments')->getNode(0));
+ $compiler->raw(')');
} else {
$this->compileFilter($compiler, $filter);
}