//===--- Cancellation.cpp -----------------------------------------*-C++-*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "support/Cancellation.h" #include <atomic> namespace clang { namespace clangd { char CancelledError::ID = …; // We don't want a cancelable scope to "shadow" an enclosing one. struct CancelState { … }; static Key<CancelState> StateKey; std::pair<Context, Canceler> cancelableTask(int Reason) { … } int isCancelled(const Context &Ctx) { … } } // namespace clangd } // namespace clang