SummaryManager.h revision 9b663716449b618ba0390b1dbebc54fa8e971124
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