LLDB mainline
ClangDeclVendor.h
Go to the documentation of this file.
1//===-- ClangDeclVendor.h ---------------------------------------*- 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#ifndef LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGDECLVENDOR_H
10#define LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGDECLVENDOR_H
11
13
14namespace clang {
15class NamedDecl;
16}
17
18namespace lldb_private {
19
20// A clang specialized extension to DeclVendor.
22public:
24
25 ~ClangDeclVendor() override = default;
26
28
29 uint32_t FindDecls(ConstString name, bool append, uint32_t max_matches,
30 std::vector<clang::NamedDecl *> &decls);
31
32 static bool classof(const DeclVendor *vendor) {
33 return vendor->GetKind() >= eClangDeclVendor &&
34 vendor->GetKind() < eLastClangDeclVendor;
35 }
36
37private:
39 const ClangDeclVendor &operator=(const ClangDeclVendor &) = delete;
40};
41} // namespace lldb_private
42
43#endif
~ClangDeclVendor() override=default
static bool classof(const DeclVendor *vendor)
ClangDeclVendor(const ClangDeclVendor &)=delete
uint32_t FindDecls(ConstString name, bool append, uint32_t max_matches, std::vector< clang::NamedDecl * > &decls)
const ClangDeclVendor & operator=(const ClangDeclVendor &)=delete
ClangDeclVendor(DeclVendorKind kind)
A uniqued constant string class.
Definition: ConstString.h:39
DeclVendorKind GetKind() const
Definition: DeclVendor.h:33
virtual uint32_t FindDecls(ConstString name, bool append, uint32_t max_matches, std::vector< CompilerDecl > &decls)=0
Look up the set of Decls that the DeclVendor currently knows about matching a given name.
A class that represents a running process on the host machine.