Slide 54
Slide 54 text
ReflectorVisitor
54
public function scan(
Codebase $codebase,
FileStorage $file_storage,
bool $storage_from_cache = false,
?Progress $progress = null
): void {
(略)
$traverser = new NodeTraverser();
$traverser->addVisitor(
new ReflectorVisitor($codebase, $this, $file_storage)
);
$traverser->traverse($stmts);
ReflectorVisitorは$codebaseや$file_storageを受け取る。これにより
traverse中にFileStorage, ClassLikeStorageの更新を可能にしている。
スキャン工程