aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/interface/Exceptions.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-03-01 23:08:37 +0800
committerGitHub <noreply@github.com>2017-03-01 23:08:37 +0800
commit6ac2c15c2bbcce77cf60e5a1d6bb78b924609af7 (patch)
treef696d008ca98b90868d349e5172256020a8bd76a /libsolidity/interface/Exceptions.cpp
parentd2c79bf8e9400f783bf0feed34065882eae02a68 (diff)
parent41360ccd57997edfd6807c75a33f4dbc4b65558b (diff)
downloaddexon-solidity-6ac2c15c2bbcce77cf60e5a1d6bb78b924609af7.tar
dexon-solidity-6ac2c15c2bbcce77cf60e5a1d6bb78b924609af7.tar.gz
dexon-solidity-6ac2c15c2bbcce77cf60e5a1d6bb78b924609af7.tar.bz2
dexon-solidity-6ac2c15c2bbcce77cf60e5a1d6bb78b924609af7.tar.lz
dexon-solidity-6ac2c15c2bbcce77cf60e5a1d6bb78b924609af7.tar.xz
dexon-solidity-6ac2c15c2bbcce77cf60e5a1d6bb78b924609af7.tar.zst
dexon-solidity-6ac2c15c2bbcce77cf60e5a1d6bb78b924609af7.zip
Merge pull request #1719 from ethereum/fuzzerLine
Filter fuzzing errors by cause.
Diffstat (limited to 'libsolidity/interface/Exceptions.cpp')
-rw-r--r--libsolidity/interface/Exceptions.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/libsolidity/interface/Exceptions.cpp b/libsolidity/interface/Exceptions.cpp
index 90a680b4..41890b91 100644
--- a/libsolidity/interface/Exceptions.cpp
+++ b/libsolidity/interface/Exceptions.cpp
@@ -23,6 +23,7 @@
#include <libsolidity/interface/Exceptions.h>
#include <libsolidity/interface/Utils.h>
+using namespace std;
using namespace dev;
using namespace dev::solidity;
@@ -56,3 +57,16 @@ Error::Error(Type _type): m_type(_type)
break;
}
}
+
+string Exception::lineInfo() const
+{
+ char const* const* file = boost::get_error_info<boost::throw_file>(*this);
+ int const* line = boost::get_error_info<boost::throw_line>(*this);
+ string ret;
+ if (file)
+ ret += *file;
+ ret += ':';
+ if (line)
+ ret += boost::lexical_cast<string>(*line);
+ return ret;
+}