/**
* @return array of (code, file[])
*/
protected function generate($class, $generator)
{
$compiler = new Compiler();
$compiler->setClassName($class);
$code = call_user_func_array($generator, [&$compiler]) ?: $compiler->compile();
return ["<?php\n{$code}", serialize($compiler->exportDependencies())];
}