protected function compileCode(&$code)
{
if ($this->isStatic) {
$code .= 'static ';
}
$code .= 'function ';
if ($this->returnsReference) {
$code .= '& ';
}
$code .= '(';
if (!empty($this->parameters)) {
$code .= implode(',', self::compileAll($this->parameters));
}
$code .= ')';
if (!empty($this->usedVariables)) {
$code .= 'use (';
$code .= implode(',', self::compileAll($this->usedVariables));
$code .= ')';
}
$code .= '{';
foreach ($this->bodyExpressions as $expression) {
$expression->compileCode($code);
$code .= ';';
}
$code .= '}';
}