GCC Code Coverage Report
Directory: . Exec Total Coverage
File: src/theory/bags/inference_manager.cpp Lines: 12 15 80.0 %
Date: 2021-03-23 Branches: 13 28 46.4 %

Line Exec Source
1
/*********************                                                        */
2
/*! \file inference_manager.cpp
3
 ** \verbatim
4
 ** Top contributors (to current version):
5
 **   Mudathir Mohamed, Morgan Deters, Gereon Kremer
6
 ** This file is part of the CVC4 project.
7
 ** Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
8
 ** in the top-level source directory and their institutional affiliations.
9
 ** All rights reserved.  See the file COPYING in the top-level source
10
 ** directory for licensing information.\endverbatim
11
 **
12
 ** \brief Implementation of the inference manager for the theory of bags
13
 **/
14
15
#include "theory/bags/inference_manager.h"
16
17
#include "theory/bags/solver_state.h"
18
19
using namespace std;
20
using namespace CVC4::kind;
21
22
namespace CVC4 {
23
namespace theory {
24
namespace bags {
25
26
8997
InferenceManager::InferenceManager(Theory& t,
27
                                   SolverState& s,
28
8997
                                   ProofNodeManager* pnm)
29
8997
    : InferenceManagerBuffered(t, s, pnm, "theory::bags"), d_state(s)
30
{
31
8997
  d_true = NodeManager::currentNM()->mkConst(true);
32
8997
  d_false = NodeManager::currentNM()->mkConst(false);
33
8997
}
34
35
11257
void InferenceManager::doPending()
36
{
37
11257
  doPendingFacts();
38
11257
  if (d_state.isInConflict())
39
  {
40
    // just clear the pending vectors, nothing else to do
41
    clearPendingLemmas();
42
    clearPendingPhaseRequirements();
43
    return;
44
  }
45
11257
  doPendingLemmas();
46
11257
  doPendingPhaseRequirements();
47
}
48
49
}  // namespace bags
50
}  // namespace theory
51
26685
}  // namespace CVC4