| //== SummaryManager.h - Generic handling of function summaries --*- C++ -*--==// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // 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 |
| |
| 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 <typename T> |
| class SummaryManager : SummaryManagerImpl { |
| |
| }; |
| |
| } // end GR namespace |
| |
| } // end clang namespace |
| |
| #endif |