1 //== SummaryManager.h - Generic handling of function summaries --*- C++ -*--==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 //  This file defines SummaryManager and related classes, which provides
10 //  a generic mechanism for managing function summaries.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_CLANG_GR_SUMMARY
15 #define LLVM_CLANG_GR_SUMMARY
16 
17 namespace clang {
18 
19 namespace ento {
20 
21 namespace summMgr {
22 
23 
24 /* Key kinds:
25 
26  - C functions
27  - C++ functions (name + parameter types)
28  - ObjC methods:
29    - Class, selector (class method)
30    - Class, selector (instance method)
31    - Category, selector (instance method)
32    - Protocol, selector (instance method)
33  - C++ methods
34   - Class, function name + parameter types + const
35  */
36 
37 class SummaryKey {
38 
39 };
40 
41 } // end namespace clang::summMgr
42 
43 class SummaryManagerImpl {
44 
45 };
46 
47 
48 template <typename T>
49 class SummaryManager : SummaryManagerImpl {
50 
51 };
52 
53 } // end GR namespace
54 
55 } // end clang namespace
56 
57 #endif
58