Home | History | Annotate | Download | only in PathSensitive
      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
     62