TypeVendor.h revision c718b9652bb1a7aea5d133123fcc8bc87277002c
1//===-- TypeVendor.h --------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef liblldb_TypeVendor_h_ 11#define liblldb_TypeVendor_h_ 12 13namespace lldb_private { 14 15//---------------------------------------------------------------------- 16// The type vendor class is intended as a generic interface to search 17// for Clang types that are not necessarily backed by a specific symbol 18// file. 19//---------------------------------------------------------------------- 20class TypeVendor 21{ 22public: 23 //------------------------------------------------------------------ 24 // Constructors and Destructors 25 //------------------------------------------------------------------ 26 TypeVendor() 27 { 28 } 29 30 virtual 31 ~TypeVendor() 32 { 33 } 34 35 virtual uint32_t 36 FindTypes (const ConstString &name, 37 bool append, 38 uint32_t max_matches, 39 std::vector <ClangASTType> &types) = 0; 40 41protected: 42 //------------------------------------------------------------------ 43 // Classes that inherit from TypeVendor can see and modify these 44 //------------------------------------------------------------------ 45 46private: 47 //------------------------------------------------------------------ 48 // For TypeVendor only 49 //------------------------------------------------------------------ 50 DISALLOW_COPY_AND_ASSIGN (TypeVendor); 51}; 52 53 54} // namespace lldb_private 55 56#endif 57