LLVM 20.0.0git
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
llvm::vfs::ProxyFileSystem Class Reference

By default, this delegates all calls to the underlying file system. More...

#include "llvm/Support/VirtualFileSystem.h"

Inheritance diagram for llvm::vfs::ProxyFileSystem:
Inheritance graph
[legend]

Public Member Functions

 ProxyFileSystem (IntrusiveRefCntPtr< FileSystem > FS)
 
llvm::ErrorOr< Statusstatus (const Twine &Path) override
 
bool exists (const Twine &Path) override
 
llvm::ErrorOr< std::unique_ptr< File > > openFileForRead (const Twine &Path) override
 
directory_iterator dir_begin (const Twine &Dir, std::error_code &EC) override
 
llvm::ErrorOr< std::string > getCurrentWorkingDirectory () const override
 
std::error_code setCurrentWorkingDirectory (const Twine &Path) override
 
std::error_code getRealPath (const Twine &Path, SmallVectorImpl< char > &Output) override
 
std::error_code isLocal (const Twine &Path, bool &Result) override
 
- Public Member Functions inherited from llvm::RTTIExtends< ProxyFileSystem, FileSystem >
const void * dynamicClassID () const override
 
bool isA () const
 Check whether this instance is a subclass of QueryT.
 
bool isA (const void *const ClassID) const override
 

Static Public Attributes

static const char ID = 0
 

Protected Member Functions

FileSystemgetUnderlyingFS () const
 
void visitChildFileSystems (VisitCallbackTy Callback) override
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::RTTIExtends< ProxyFileSystem, FileSystem >
static const void * classID ()
 
static bool classof (const T *R)
 

Detailed Description

By default, this delegates all calls to the underlying file system.

This is useful when derived file systems want to override some calls and still proxy other calls.

Definition at line 451 of file VirtualFileSystem.h.

Constructor & Destructor Documentation

◆ ProxyFileSystem()

llvm::vfs::ProxyFileSystem::ProxyFileSystem ( IntrusiveRefCntPtr< FileSystem FS)
inlineexplicit

Definition at line 454 of file VirtualFileSystem.h.

Member Function Documentation

◆ dir_begin()

directory_iterator llvm::vfs::ProxyFileSystem::dir_begin ( const Twine Dir,
std::error_code &  EC 
)
inlineoverride

Definition at line 465 of file VirtualFileSystem.h.

Referenced by llvm::vfs::TracingFileSystem::dir_begin().

◆ exists()

bool llvm::vfs::ProxyFileSystem::exists ( const Twine Path)
inlineoverride

Definition at line 460 of file VirtualFileSystem.h.

Referenced by llvm::vfs::TracingFileSystem::exists().

◆ getCurrentWorkingDirectory()

llvm::ErrorOr< std::string > llvm::vfs::ProxyFileSystem::getCurrentWorkingDirectory ( ) const
inlineoverride

Definition at line 468 of file VirtualFileSystem.h.

◆ getRealPath()

std::error_code llvm::vfs::ProxyFileSystem::getRealPath ( const Twine Path,
SmallVectorImpl< char > &  Output 
)
inlineoverride

Definition at line 474 of file VirtualFileSystem.h.

Referenced by llvm::vfs::TracingFileSystem::getRealPath().

◆ getUnderlyingFS()

FileSystem & llvm::vfs::ProxyFileSystem::getUnderlyingFS ( ) const
inlineprotected

Definition at line 483 of file VirtualFileSystem.h.

◆ isLocal()

std::error_code llvm::vfs::ProxyFileSystem::isLocal ( const Twine Path,
bool Result 
)
inlineoverride

Definition at line 478 of file VirtualFileSystem.h.

Referenced by llvm::vfs::TracingFileSystem::isLocal().

◆ openFileForRead()

llvm::ErrorOr< std::unique_ptr< File > > llvm::vfs::ProxyFileSystem::openFileForRead ( const Twine Path)
inlineoverride

Definition at line 462 of file VirtualFileSystem.h.

Referenced by llvm::vfs::TracingFileSystem::openFileForRead().

◆ setCurrentWorkingDirectory()

std::error_code llvm::vfs::ProxyFileSystem::setCurrentWorkingDirectory ( const Twine Path)
inlineoverride

Definition at line 471 of file VirtualFileSystem.h.

◆ status()

llvm::ErrorOr< Status > llvm::vfs::ProxyFileSystem::status ( const Twine Path)
inlineoverride

Definition at line 457 of file VirtualFileSystem.h.

Referenced by llvm::vfs::TracingFileSystem::status().

◆ visitChildFileSystems()

void llvm::vfs::ProxyFileSystem::visitChildFileSystems ( VisitCallbackTy  Callback)
inlineoverrideprotected

Definition at line 484 of file VirtualFileSystem.h.

Member Data Documentation

◆ ID

const char ProxyFileSystem::ID = 0
static

Definition at line 453 of file VirtualFileSystem.h.


The documentation for this class was generated from the following files: