1 //===-- ClangDeclVendor.h ---------------------------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGDECLVENDOR_H
10 #define LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGDECLVENDOR_H
12 #include "lldb/Symbol/DeclVendor.h"
18 namespace lldb_private
{
20 // A clang specialized extension to DeclVendor.
21 class ClangDeclVendor
: public DeclVendor
{
23 ClangDeclVendor(DeclVendorKind kind
) : DeclVendor(kind
) {}
25 ~ClangDeclVendor() override
= default;
27 using DeclVendor::FindDecls
;
29 uint32_t FindDecls(ConstString name
, bool append
, uint32_t max_matches
,
30 std::vector
<clang::NamedDecl
*> &decls
);
32 static bool classof(const DeclVendor
*vendor
) {
33 return vendor
->GetKind() >= eClangDeclVendor
&&
34 vendor
->GetKind() < eLastClangDeclVendor
;
38 ClangDeclVendor(const ClangDeclVendor
&) = delete;
39 const ClangDeclVendor
&operator=(const ClangDeclVendor
&) = delete;
41 } // namespace lldb_private