From 26c3e317c1b1191210563802c7a19cd6097b92a6 Mon Sep 17 00:00:00 2001 From: Josh Date: Sat, 3 Jan 2026 15:37:17 -0500 Subject: [PATCH] refactor(LazyFolder): drop redundant normalizePath call in getFullPath isValidPath() already calls normalizePath() Signed-off-by: Josh --- lib/private/Files/Node/LazyFolder.php | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/lib/private/Files/Node/LazyFolder.php b/lib/private/Files/Node/LazyFolder.php index c23a7d03ada9e..d709d25c7f759 100644 --- a/lib/private/Files/Node/LazyFolder.php +++ b/lib/private/Files/Node/LazyFolder.php @@ -17,29 +17,22 @@ use Override; /** - * Class LazyFolder + * Folder implementation that defers instantiation of the underlying folder object until needed. * - * This is a lazy wrapper around a folder. So only - * once it is needed this will get initialized. + * Useful for optimizing performance and resource usage by loading folder data only on demand. + * Supports transparent delegation of most Folder interface methods. * * @package OC\Files\Node */ class LazyFolder implements Folder { - /** @var \Closure(): Folder */ - private \Closure $folderClosure; protected ?Folder $folder = null; - protected IRootFolder $rootFolder; - protected array $data; - /** - * @param IRootFolder $rootFolder - * @param \Closure(): Folder $folderClosure - * @param array $data - */ - public function __construct(IRootFolder $rootFolder, \Closure $folderClosure, array $data = []) { - $this->rootFolder = $rootFolder; - $this->folderClosure = $folderClosure; - $this->data = $data; + public function __construct( + protected readonly IRootFolder $rootFolder, + /** @var \Closure(): Folder */ + private \Closure $folderClosure, + protected array $data = [] + ) { } protected function getRootFolder(): IRootFolder { @@ -399,7 +392,6 @@ public function getExtension(): string { */ public function getFullPath($path) { if (isset($this->data['path'])) { - $path = PathHelper::normalizePath($path); if (!Filesystem::isValidPath($path)) { throw new NotPermittedException('Invalid path "' . $path . '"'); }