diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2017-09-25 19:58:32 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2017-09-28 21:53:41 +0800 |
commit | aa6de494577e18dcca228df1f206e6dcbcd47902 (patch) | |
tree | 373670ae5d48989157feeb8a937662fefd1d4c9c /libsolidity/analysis | |
parent | 7cb4d714c7e058ab764b14575fc32078a0343fbc (diff) | |
download | dexon-solidity-aa6de494577e18dcca228df1f206e6dcbcd47902.tar dexon-solidity-aa6de494577e18dcca228df1f206e6dcbcd47902.tar.gz dexon-solidity-aa6de494577e18dcca228df1f206e6dcbcd47902.tar.bz2 dexon-solidity-aa6de494577e18dcca228df1f206e6dcbcd47902.tar.lz dexon-solidity-aa6de494577e18dcca228df1f206e6dcbcd47902.tar.xz dexon-solidity-aa6de494577e18dcca228df1f206e6dcbcd47902.tar.zst dexon-solidity-aa6de494577e18dcca228df1f206e6dcbcd47902.zip |
Simplify address overloading
Diffstat (limited to 'libsolidity/analysis')
-rw-r--r-- | libsolidity/analysis/TypeChecker.cpp | 34 |
1 files changed, 6 insertions, 28 deletions
diff --git a/libsolidity/analysis/TypeChecker.cpp b/libsolidity/analysis/TypeChecker.cpp index 43a77002..43930125 100644 --- a/libsolidity/analysis/TypeChecker.cpp +++ b/libsolidity/analysis/TypeChecker.cpp @@ -1720,34 +1720,12 @@ bool TypeChecker::visit(MemberAccess const& _memberAccess) ); } else if (possibleMembers.size() > 1) - { - // Remove builtins (i.e. not having a declaration) first - for (auto it = possibleMembers.begin(); it != possibleMembers.end();) - if ( - ( - // Overloaded functions without declaration (e.g. transfer(), send(), call(), etc.) - it->type->category() == Type::Category::Function && - !dynamic_cast<FunctionType const&>(*it->type).hasDeclaration() - ) - || - ( - // Overloaded members (e.g. balance) - it->type->category() == Type::Category::Integer && - memberName == "balance" - ) - ) - it = possibleMembers.erase(it); - else - ++it; - - if (possibleMembers.size() > 1) - m_errorReporter.fatalTypeError( - _memberAccess.location(), - "Member \"" + memberName + "\" not unique " - "after argument-dependent lookup in " + exprType->toString() + - (memberName == "value" ? " - did you forget the \"payable\" modifier?" : "") - ); - } + m_errorReporter.fatalTypeError( + _memberAccess.location(), + "Member \"" + memberName + "\" not unique " + "after argument-dependent lookup in " + exprType->toString() + + (memberName == "value" ? " - did you forget the \"payable\" modifier?" : "") + ); auto& annotation = _memberAccess.annotation(); annotation.referencedDeclaration = possibleMembers.front().declaration; |