diff options
author | Erik Kundt <bitshift@posteo.org> | 2018-12-05 21:34:27 +0800 |
---|---|---|
committer | Erik Kundt <bitshift@posteo.org> | 2018-12-07 18:55:53 +0800 |
commit | b2afb8cdda84f7e98fbee652c130bff0d9d30023 (patch) | |
tree | d297dd858f37da0e2fb7c4c70545c1d7ed205335 /libsolidity/analysis | |
parent | 52ff3c945531f1e6ca490475174688f496e78008 (diff) | |
download | dexon-solidity-b2afb8cdda84f7e98fbee652c130bff0d9d30023.tar.gz dexon-solidity-b2afb8cdda84f7e98fbee652c130bff0d9d30023.tar.zst dexon-solidity-b2afb8cdda84f7e98fbee652c130bff0d9d30023.zip |
Adds an additional message to failing type conversions.
Diffstat (limited to 'libsolidity/analysis')
-rw-r--r-- | libsolidity/analysis/TypeChecker.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libsolidity/analysis/TypeChecker.cpp b/libsolidity/analysis/TypeChecker.cpp index 5c8e0c6c..1c9f1956 100644 --- a/libsolidity/analysis/TypeChecker.cpp +++ b/libsolidity/analysis/TypeChecker.cpp @@ -1252,7 +1252,8 @@ void TypeChecker::endVisit(BinaryOperation const& _operation) { TypePointer const& leftType = type(_operation.leftExpression()); TypePointer const& rightType = type(_operation.rightExpression()); - TypePointer commonType = leftType->binaryOperatorResult(_operation.getOperator(), rightType); + TypeResult result = leftType->binaryOperatorResult(_operation.getOperator(), rightType); + TypePointer commonType = result.get(); if (!commonType) { m_errorReporter.typeError( @@ -1262,7 +1263,8 @@ void TypeChecker::endVisit(BinaryOperation const& _operation) " not compatible with types " + leftType->toString() + " and " + - rightType->toString() + rightType->toString() + + (!result.message().empty() ? ". " + result.message() : "") ); commonType = leftType; } |