/**
* Loads from annotations from a file.
*
* @throws \InvalidArgumentException When the file does not exist or its routes cannot be parsed
*/
public function load(mixed
$file, string
$type = null
): ?RouteCollection
{ $path =
$this->locator->
locate($file);
$collection =
new RouteCollection();
if ($class =
$this->
findClass($path)) { $refl =
new \
ReflectionClass($class);
if ($refl->
isAbstract()) { return null;
} $collection->
addResource(new FileResource($path));
$collection->
addCollection($this->loader->
load($class,
$type));
} gc_mem_caches();