1353952Sdim//===-- ClangDeclVendor.h ---------------------------------------*- C++ -*-===// 2353952Sdim// 3353952Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353952Sdim// See https://llvm.org/LICENSE.txt for license information. 5353952Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6353952Sdim// 7353952Sdim//===----------------------------------------------------------------------===// 8353952Sdim 9353952Sdim#ifndef liblldb_ClangDeclVendor_h_ 10353952Sdim#define liblldb_ClangDeclVendor_h_ 11353952Sdim 12353952Sdim#include "lldb/Core/ClangForward.h" 13353952Sdim#include "lldb/Symbol/DeclVendor.h" 14353952Sdim 15353952Sdimnamespace lldb_private { 16353952Sdim 17353952Sdim// A clang specialized extension to DeclVendor. 18353952Sdimclass ClangDeclVendor : public DeclVendor { 19353952Sdimpublic: 20353952Sdim ClangDeclVendor(DeclVendorKind kind) : DeclVendor(kind) {} 21353952Sdim 22353952Sdim virtual ~ClangDeclVendor() {} 23353952Sdim 24357095Sdim using DeclVendor::FindDecls; 25353952Sdim 26353952Sdim uint32_t FindDecls(ConstString name, bool append, uint32_t max_matches, 27357095Sdim std::vector<clang::NamedDecl *> &decls); 28353952Sdim 29353952Sdim static bool classof(const DeclVendor *vendor) { 30353952Sdim return vendor->GetKind() >= eClangDeclVendor && 31353952Sdim vendor->GetKind() < eLastClangDeclVendor; 32353952Sdim } 33353952Sdim 34353952Sdimprivate: 35353952Sdim DISALLOW_COPY_AND_ASSIGN(ClangDeclVendor); 36353952Sdim}; 37353952Sdim} // namespace lldb_private 38353952Sdim 39353952Sdim#endif 40