public function filter(MacroNode $node, PhpWriter $writer) { $files = array(); while ($file = $node->tokenizer->fetchWord()) { $files[] = $this->wwwDir . '/' . ($this->pathResolver ? $this->pathResolver->expandResource($file) : $file); } if (!count($files)) { throw new CompileException('Missing file name in {js}'); } eval('$args = ' . $writer->formatArray() . ';'); return '$_control[\'js\']->render(\'' . join('\', \'', $files) . '\', array(\'config\' => ' . var_export($args, true) . '));'; }