]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / llvm / tools / clang / include / clang / StaticAnalyzer / Core / PathSensitive / SummaryManager.h
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
21 namespace clang {
22
23 namespace ento {
24
25 namespace 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   
41 class SummaryKey {
42   
43 };
44
45 } // end namespace clang::summMgr
46   
47 class SummaryManagerImpl {
48   
49 };
50
51   
52 template <typename T>
53 class SummaryManager : SummaryManagerImpl {
54   
55 };
56
57 } // end GR namespace
58
59 } // end clang namespace
60
61 #endif