aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-09-25 19:58:32 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-09-28 21:53:41 +0800
commitaa6de494577e18dcca228df1f206e6dcbcd47902 (patch)
tree373670ae5d48989157feeb8a937662fefd1d4c9c /libsolidity/analysis
parent7cb4d714c7e058ab764b14575fc32078a0343fbc (diff)
downloaddexon-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.cpp34
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;