clang API Documentation
00001 //== SummaryManager.h - Generic handling of function summaries --*- C++ -*--==// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file defines SummaryManager and related classes, which provides 00011 // a generic mechanism for managing function summaries. 00012 // 00013 //===----------------------------------------------------------------------===// 00014 00015 #ifndef LLVM_CLANG_GR_SUMMARY 00016 #define LLVM_CLANG_GR_SUMMARY 00017 00018 #include "llvm/ADT/FoldingSet.h" 00019 #include "llvm/Support/Allocator.h" 00020 00021 namespace clang { 00022 00023 namespace ento { 00024 00025 namespace summMgr { 00026 00027 00028 /* Key kinds: 00029 00030 - C functions 00031 - C++ functions (name + parameter types) 00032 - ObjC methods: 00033 - Class, selector (class method) 00034 - Class, selector (instance method) 00035 - Category, selector (instance method) 00036 - Protocol, selector (instance method) 00037 - C++ methods 00038 - Class, function name + parameter types + const 00039 */ 00040 00041 class SummaryKey { 00042 00043 }; 00044 00045 } // end namespace clang::summMgr 00046 00047 class SummaryManagerImpl { 00048 00049 }; 00050 00051 00052 template <typename T> 00053 class SummaryManager : SummaryManagerImpl { 00054 00055 }; 00056 00057 } // end GR namespace 00058 00059 } // end clang namespace 00060 00061 #endif