12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #pragma once
- #ifdef __GNUC__
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wunused-parameter"
- #endif
- //===--- 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
- #ifdef __GNUC__
- #pragma GCC diagnostic pop
- #endif
|