1//== SummaryManager.h - Generic handling of function summaries --*- 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// This file defines SummaryManager and related classes, which provides 11// a generic mechanism for managing function summaries. 12// 13//===----------------------------------------------------------------------===// 14 15#ifndef LLVM_CLANG_GR_SUMMARY 16#define LLVM_CLANG_GR_SUMMARY 17 18#include "llvm/ADT/FoldingSet.h" 19#include "llvm/Support/Allocator.h" 20 21namespace clang { 22 23namespace ento { 24 25namespace summMgr { 26 27 28/* Key kinds: 29 30 - C functions 31 - C++ functions (name + parameter types) 32 - ObjC methods: 33 - Class, selector (class method) 34 - Class, selector (instance method) 35 - Category, selector (instance method) 36 - Protocol, selector (instance method) 37 - C++ methods 38 - Class, function name + parameter types + const 39 */ 40 41class SummaryKey { 42 43}; 44 45} // end namespace clang::summMgr 46 47class SummaryManagerImpl { 48 49}; 50 51 52template <typename T> 53class SummaryManager : SummaryManagerImpl { 54 55}; 56 57} // end GR namespace 58 59} // end clang namespace 60 61#endif 62