llvm/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp

//== TraversalChecker.cpp -------------------------------------- -*- 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
//
//===----------------------------------------------------------------------===//
//
// These checkers print various aspects of the ExprEngine's traversal of the CFG
// as it builds the ExplodedGraph.
//
//===----------------------------------------------------------------------===//
#include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"
#include "clang/AST/ParentMap.h"
#include "clang/AST/StmtObjC.h"
#include "clang/StaticAnalyzer/Core/Checker.h"
#include "clang/StaticAnalyzer/Core/CheckerManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h"
#include "llvm/Support/raw_ostream.h"

usingnamespaceclang;
usingnamespaceento;

namespace {
class TraversalDumper : public Checker< check::BranchCondition,
                                        check::BeginFunction,
                                        check::EndFunction > {};
}

void TraversalDumper::checkBranchCondition(const Stmt *Condition,
                                           CheckerContext &C) const {}

void TraversalDumper::checkBeginFunction(CheckerContext &C) const {}

void TraversalDumper::checkEndFunction(const ReturnStmt *RS,
                                       CheckerContext &C) const {}

void ento::registerTraversalDumper(CheckerManager &mgr) {}

bool ento::shouldRegisterTraversalDumper(const CheckerManager &mgr) {}

//------------------------------------------------------------------------------

namespace {
class CallDumper : public Checker< check::PreCall,
                                   check::PostCall > {};
}

void CallDumper::checkPreCall(const CallEvent &Call, CheckerContext &C) const {}

void CallDumper::checkPostCall(const CallEvent &Call, CheckerContext &C) const {}

void ento::registerCallDumper(CheckerManager &mgr) {}

bool ento::shouldRegisterCallDumper(const CheckerManager &mgr) {}