/** * @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())]; }