//== SummaryManager.h - Generic handling of function summaries --*- C++ -*--==// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file defines SummaryManager and related classes, which provides // a generic mechanism for managing function summaries. // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_GR_SUMMARY #define LLVM_CLANG_GR_SUMMARY #include "llvm/ADT/FoldingSet.h" #include "llvm/Support/Allocator.h" namespace clang { namespace ento { namespace summMgr { /* Key kinds: - C functions - C++ functions (name + parameter types) - ObjC methods: - Class, selector (class method) - Class, selector (instance method) - Category, selector (instance method) - Protocol, selector (instance method) - C++ methods - Class, function name + parameter types + const */ class SummaryKey { }; } // end namespace clang::summMgr class SummaryManagerImpl { }; template class SummaryManager : SummaryManagerImpl { }; } // end GR namespace } // end clang namespace #endif