clang
17.0.0git
include
clang
Tooling
Refactoring
Lookup.h
Go to the documentation of this file.
1
//===--- Lookup.h - Framework for clang refactoring tools --*- C++ -*------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file defines helper methods for clang tools performing name lookup.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_CLANG_TOOLING_REFACTORING_LOOKUP_H
14
#define LLVM_CLANG_TOOLING_REFACTORING_LOOKUP_H
15
16
#include "
clang/Basic/LLVM.h
"
17
#include "
clang/Basic/SourceLocation.h
"
18
#include <string>
19
20
namespace
clang
{
21
22
class
DeclContext;
23
class
NamedDecl;
24
class
NestedNameSpecifier;
25
26
namespace
tooling {
27
28
/// Emulate a lookup to replace one nested name specifier with another using as
29
/// few additional namespace qualifications as possible.
30
///
31
/// This does not perform a full C++ lookup so ADL will not work.
32
///
33
/// \param Use The nested name to be replaced.
34
/// \param UseLoc The location of name to be replaced.
35
/// \param UseContext The context in which the nested name is contained. This
36
/// will be used to minimize namespace qualifications.
37
/// \param FromDecl The declaration to which the nested name points.
38
/// \param ReplacementString The replacement nested name. Must be fully
39
/// qualified including a leading "::".
40
/// \returns The new name to be inserted in place of the current nested name.
41
std::string
replaceNestedName
(
const
NestedNameSpecifier *Use,
42
SourceLocation UseLoc,
43
const
DeclContext *UseContext,
44
const
NamedDecl *
FromDecl
,
45
StringRef ReplacementString);
46
47
}
// end namespace tooling
48
}
// end namespace clang
49
50
#endif // LLVM_CLANG_TOOLING_REFACTORING_LOOKUP_H
string
string(SUBSTRING ${CMAKE_CURRENT_BINARY_DIR} 0 ${PATH_LIB_START} PATH_HEAD) string(SUBSTRING $
Definition:
CMakeLists.txt:23
clang::tooling::replaceNestedName
std::string replaceNestedName(const NestedNameSpecifier *Use, SourceLocation UseLoc, const DeclContext *UseContext, const NamedDecl *FromDecl, StringRef ReplacementString)
Emulate a lookup to replace one nested name specifier with another using as few additional namespace ...
Definition:
Lookup.cpp:185
SourceLocation.h
LLVM.h
FromDecl
const NamedDecl * FromDecl
Definition:
USRLocFinder.cpp:169
clang
Definition:
CalledOnceCheck.h:17
Generated on Sat Jan 28 2023 08:31:55 for clang by
1.8.17