function resolve($path)
{
# Skip the load path if the path starts with `./`
if (preg_match('{^\\.(/|\\\\)}', $path)) {
$path = dirname($this->path) . DIRECTORY_SEPARATOR . $path;
}
# When resolving a directory either look for a file named
# "$dir/index.$ext" or return the path to the directory (e.g.
# for "require_tree").
if (is_dir($path)) {
$index = Path::join(array($path, "index{$this->getExtension()}"));
if (file_exists($index)) {
$path = $index;
} else {
$pathinfo = new PathInfo($path);
if ($pathinfo->isAbsolute()) {
return $path;
}
return $this->environment->loadPaths->find($path);
}
}
$pathinfo = new PathInfo($path);
if ($pathinfo->isAbsolute()) {
return $path;
}
return $this->environment->loadPaths->find($path);
}