aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/formal/CVC4Interface.cpp
diff options
context:
space:
mode:
authorLeonardo <leo@ethereum.org>2018-11-17 16:48:22 +0800
committerGitHub <noreply@github.com>2018-11-17 16:48:22 +0800
commit5be45e736d2b111c9352ca2990a1c7a653c60c55 (patch)
tree1c52fe27dbdd73fc43967a427236e1662b74d47c /libsolidity/formal/CVC4Interface.cpp
parent460c58fbd194fef5add699405238d3ed302a003f (diff)
parent70bb0eaf95ab6a549f875b845395b31a5d49f99e (diff)
downloaddexon-solidity-5be45e736d2b111c9352ca2990a1c7a653c60c55.tar
dexon-solidity-5be45e736d2b111c9352ca2990a1c7a653c60c55.tar.gz
dexon-solidity-5be45e736d2b111c9352ca2990a1c7a653c60c55.tar.bz2
dexon-solidity-5be45e736d2b111c9352ca2990a1c7a653c60c55.tar.lz
dexon-solidity-5be45e736d2b111c9352ca2990a1c7a653c60c55.tar.xz
dexon-solidity-5be45e736d2b111c9352ca2990a1c7a653c60c55.tar.zst
dexon-solidity-5be45e736d2b111c9352ca2990a1c7a653c60c55.zip
Merge pull request #5307 from ethereum/smt_uf
[SMTChecker] Uninterpreted functions for blockhash()
Diffstat (limited to 'libsolidity/formal/CVC4Interface.cpp')
-rw-r--r--libsolidity/formal/CVC4Interface.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/libsolidity/formal/CVC4Interface.cpp b/libsolidity/formal/CVC4Interface.cpp
index 6cb91483..11822927 100644
--- a/libsolidity/formal/CVC4Interface.cpp
+++ b/libsolidity/formal/CVC4Interface.cpp
@@ -50,7 +50,7 @@ void CVC4Interface::pop()
m_solver.pop();
}
-void CVC4Interface::declareFunction(string _name, Sort _domain, Sort _codomain)
+void CVC4Interface::declareFunction(string _name, vector<Sort> const& _domain, Sort _codomain)
{
if (!m_functions.count(_name))
{
@@ -201,3 +201,11 @@ CVC4::Type CVC4Interface::cvc4Sort(Sort _sort)
// Cannot be reached.
return m_context.integerType();
}
+
+vector<CVC4::Type> CVC4Interface::cvc4Sort(vector<Sort> const& _sorts)
+{
+ vector<CVC4::Type> cvc4Sorts;
+ for (auto const& _sort: _sorts)
+ cvc4Sorts.push_back(cvc4Sort(_sort));
+ return cvc4Sorts;
+}