Branch data Line data Source code
1 : : /****************************************************************************** 2 : : * Top contributors (to current version): 3 : : * Andrew Reynolds, Gereon Kremer, Aina Niemetz 4 : : * 5 : : * This file is part of the cvc5 project. 6 : : * 7 : : * Copyright (c) 2009-2025 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. 11 : : * **************************************************************************** 12 : : * 13 : : * The base class for everything that nees access to the environment (Env) 14 : : * instance, which gives access to global utilities available to internal code. 15 : : */ 16 : : 17 : : #include "smt/env_obj.h" 18 : : 19 : : #include "options/options.h" 20 : : #include "smt/env.h" 21 : : #include "theory/rewriter.h" 22 : : 23 : : namespace cvc5::internal { 24 : : 25 : 22944200 : EnvObj::EnvObj(Env& env) : d_env(env) {} 26 : : 27 : 101852000 : NodeManager* EnvObj::nodeManager() const { return d_env.getNodeManager(); } 28 : : 29 : 83072300 : Node EnvObj::rewrite(TNode node) const 30 : : { 31 : 83072300 : return d_env.getRewriter()->rewrite(node); 32 : : } 33 : : 34 : 8 : Node EnvObj::rewriteEqualityExt(TNode node) const 35 : : { 36 : 8 : return d_env.getRewriter()->rewriteEqualityExt(node); 37 : : } 38 : : 39 : 573063 : Node EnvObj::extendedRewrite(TNode node, bool aggr) const 40 : : { 41 : 573063 : return d_env.getRewriter()->extendedRewrite(node, aggr); 42 : : } 43 : 250224 : Node EnvObj::evaluate(TNode n, 44 : : const std::vector<Node>& args, 45 : : const std::vector<Node>& vals, 46 : : bool useRewriter) const 47 : : { 48 : 250224 : return d_env.evaluate(n, args, vals, useRewriter); 49 : : } 50 : 72000 : Node EnvObj::evaluate(TNode n, 51 : : const std::vector<Node>& args, 52 : : const std::vector<Node>& vals, 53 : : const std::unordered_map<Node, Node>& visited, 54 : : bool useRewriter) const 55 : : { 56 : 72000 : return d_env.evaluate(n, args, vals, visited, useRewriter); 57 : : } 58 : : 59 : 409973000 : const Options& EnvObj::options() const { return d_env.getOptions(); } 60 : : 61 : 80254800 : context::Context* EnvObj::context() const { return d_env.getContext(); } 62 : : 63 : 7413630 : context::UserContext* EnvObj::userContext() const 64 : : { 65 : 7413630 : return d_env.getUserContext(); 66 : : } 67 : : 68 : 528336000 : const LogicInfo& EnvObj::logicInfo() const { return d_env.getLogicInfo(); } 69 : : 70 : 14708600 : ResourceManager* EnvObj::resourceManager() const 71 : : { 72 : 14708600 : return d_env.getResourceManager(); 73 : : } 74 : : 75 : 9495950 : StatisticsRegistry& EnvObj::statisticsRegistry() const 76 : : { 77 : 9495950 : return d_env.getStatisticsRegistry(); 78 : : } 79 : : 80 : 6580840 : bool EnvObj::isOutputOn(OutputTag tag) const { return d_env.isOutputOn(tag); } 81 : : 82 : 23262 : std::ostream& EnvObj::output(OutputTag tag) const { return d_env.output(tag); } 83 : : 84 : 648 : bool EnvObj::isVerboseOn(int64_t level) const 85 : : { 86 : 648 : return d_env.isVerboseOn(level); 87 : : } 88 : : 89 : 1901540 : std::ostream& EnvObj::verbose(int64_t level) const 90 : : { 91 : 1901540 : return d_env.verbose(level); 92 : : } 93 : : 94 : 555 : std::ostream& EnvObj::warning() const { return verbose(0); } 95 : : 96 : : } // namespace cvc5::internal