Viewing file: Lookup.h (1.92 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
//===--- Lookup.h - Framework for clang refactoring tools --*- 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 // //===----------------------------------------------------------------------===// // // This file defines helper methods for clang tools performing name lookup. // //===----------------------------------------------------------------------===//
#ifndef LLVM_CLANG_TOOLING_REFACTORING_LOOKUP_H #define LLVM_CLANG_TOOLING_REFACTORING_LOOKUP_H
#include "clang/Basic/LLVM.h" #include "clang/Basic/SourceLocation.h" #include <string>
namespace clang {
class DeclContext; class NamedDecl; class NestedNameSpecifier;
namespace tooling {
/// Emulate a lookup to replace one nested name specifier with another using as /// few additional namespace qualifications as possible. /// /// This does not perform a full C++ lookup so ADL will not work. /// /// \param Use The nested name to be replaced. /// \param UseLoc The location of name to be replaced. /// \param UseContext The context in which the nested name is contained. This /// will be used to minimize namespace qualifications. /// \param FromDecl The declaration to which the nested name points. /// \param ReplacementString The replacement nested name. Must be fully /// qualified including a leading "::". /// \returns The new name to be inserted in place of the current nested name. std::string replaceNestedName(const NestedNameSpecifier *Use, SourceLocation UseLoc, const DeclContext *UseContext, const NamedDecl *FromDecl, StringRef ReplacementString);
} // end namespace tooling } // end namespace clang
#endif // LLVM_CLANG_TOOLING_REFACTORING_LOOKUP_H
|