blob: e4aae1aad591d83778ecfa03f95cd00ac261cecc [file] [log] [blame]
//===--- FileSystemProvider.h - ---------------------------------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_SOURCEKITD_FILESYSTEMPROVIDER_H
#define LLVM_SOURCEKITD_FILESYSTEMPROVIDER_H
#include "clang/Basic/InMemoryOutputFileSystem.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "sourcekitd.h"
namespace SourceKit {
/// Subsequent requests will write temporary output files to this filesystem
/// rather than to the real filesystem.
///
/// Is not threadsafe.
///
/// \param FS may be null, which makes subsequent requests start writing
/// temporary output files to the real filesystem again.
void SOURCEKITD_PUBLIC setGlobalInMemoryOutputFileSystem(
llvm::IntrusiveRefCntPtr<clang::InMemoryOutputFileSystem> FS);
} // namespace SourceKit
#endif