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 namespace clang { 19 20 namespace ento { 21 22 namespace summMgr { 23 24 25 /* Key kinds: 26 27 - C functions 28 - C++ functions (name + parameter types) 29 - ObjC methods: 30 - Class, selector (class method) 31 - Class, selector (instance method) 32 - Category, selector (instance method) 33 - Protocol, selector (instance method) 34 - C++ methods 35 - Class, function name + parameter types + const 36 */ 37 38 class SummaryKey { 39 40 }; 41 42 } // end namespace clang::summMgr 43 44 class SummaryManagerImpl { 45 46 }; 47 48 49 template <typename T> 50 class SummaryManager : SummaryManagerImpl { 51 52 }; 53 54 } // end GR namespace 55 56 } // end clang namespace 57 58 #endif 59