aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/formal/SymbolicVariable.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-10-15 22:49:47 +0800
committerGitHub <noreply@github.com>2018-10-15 22:49:47 +0800
commit238494752192a2c834eb8913b244671afb48d693 (patch)
treed3e60cd464a03b98df9141386df9877bf418d577 /libsolidity/formal/SymbolicVariable.h
parent771de0c5adfe284c3824265999c1b9c07d66d0a1 (diff)
parent4a4620ac955d3c61b4778dfab3a9e05a91e4fc33 (diff)
downloaddexon-solidity-238494752192a2c834eb8913b244671afb48d693.tar.gz
dexon-solidity-238494752192a2c834eb8913b244671afb48d693.tar.zst
dexon-solidity-238494752192a2c834eb8913b244671afb48d693.zip
Merge pull request #5209 from ethereum/smt_ssa_refactor
[SMTChecker] Refactor SSAVariable such that it only uses Type and not Declaration
Diffstat (limited to 'libsolidity/formal/SymbolicVariable.h')
-rw-r--r--libsolidity/formal/SymbolicVariable.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/libsolidity/formal/SymbolicVariable.h b/libsolidity/formal/SymbolicVariable.h
index e29ded26..977515f8 100644
--- a/libsolidity/formal/SymbolicVariable.h
+++ b/libsolidity/formal/SymbolicVariable.h
@@ -19,7 +19,7 @@
#include <libsolidity/formal/SolverInterface.h>
-#include <libsolidity/ast/AST.h>
+#include <libsolidity/ast/Types.h>
#include <memory>
@@ -28,7 +28,7 @@ namespace dev
namespace solidity
{
-class Declaration;
+class Type;
/**
* This class represents the symbolic version of a program variable.
@@ -37,7 +37,8 @@ class SymbolicVariable
{
public:
SymbolicVariable(
- Declaration const& _decl,
+ Type const& _type,
+ std::string const& _uniqueName,
smt::SolverInterface& _interface
);
virtual ~SymbolicVariable() = default;
@@ -58,7 +59,8 @@ public:
protected:
virtual smt::Expression valueAtSequence(int _seq) const = 0;
- Declaration const& m_declaration;
+ Type const& m_type;
+ std::string m_uniqueName;
smt::SolverInterface& m_interface;
};