1 //===- FunctionSummary.cpp - Stores summaries of functions. ---------------===// 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 a summary of a function gathered/used by static analysis. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #include "clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h" 14 15 using namespace clang; 16 using namespace ento; 17 getTotalNumBasicBlocks()18unsigned FunctionSummariesTy::getTotalNumBasicBlocks() { 19 unsigned Total = 0; 20 for (const auto &I : Map) 21 Total += I.second.TotalBasicBlocks; 22 return Total; 23 } 24 getTotalNumVisitedBasicBlocks()25unsigned FunctionSummariesTy::getTotalNumVisitedBasicBlocks() { 26 unsigned Total = 0; 27 for (const auto &I : Map) 28 Total += I.second.VisitedBasicBlocks.count(); 29 return Total; 30 } 31