| 70 | } |
| 71 | |
| 72 | smtutil::Expression constructorCall(Predicate const& _pred, EncodingContext& _context, bool _internal) |
| 73 | { |
| 74 | auto const& contract = dynamic_cast<ContractDefinition const&>(*_pred.programNode()); |
| 75 | if (auto const* constructor = contract.constructor()) |
| 76 | return _pred(currentFunctionVariablesForCall(*constructor, &contract, _context, _internal)); |
| 77 | |
| 78 | auto& state = _context.state(); |
| 79 | std::vector<smtutil::Expression> stateExprs = getStateExpressionsForCall(state, _internal); |
| 80 | state.newState(); |
| 81 | stateExprs += std::vector<smtutil::Expression>{state.state()}; |
| 82 | stateExprs += currentStateVariables(contract, _context); |
| 83 | stateExprs += newStateVariables(contract, _context); |
| 84 | return _pred(stateExprs); |
| 85 | } |
| 86 | |
| 87 | smtutil::Expression function( |
| 88 | Predicate const& _pred, |
no test coverage detected