diff options
author | chriseth <chris@ethereum.org> | 2018-09-21 03:20:46 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-21 03:20:46 +0800 |
commit | dc9853bb6e47e9774141813ad17691c78fdd204c (patch) | |
tree | ff581dfc39a191213afba77430accd415b316d5b /libsolidity/analysis | |
parent | e2baad54c50ca0383c839ec00519dd500759ae29 (diff) | |
parent | d0461c49fee20c5213f351bf3f1814112dcf3331 (diff) | |
download | dexon-solidity-dc9853bb6e47e9774141813ad17691c78fdd204c.tar dexon-solidity-dc9853bb6e47e9774141813ad17691c78fdd204c.tar.gz dexon-solidity-dc9853bb6e47e9774141813ad17691c78fdd204c.tar.bz2 dexon-solidity-dc9853bb6e47e9774141813ad17691c78fdd204c.tar.lz dexon-solidity-dc9853bb6e47e9774141813ad17691c78fdd204c.tar.xz dexon-solidity-dc9853bb6e47e9774141813ad17691c78fdd204c.tar.zst dexon-solidity-dc9853bb6e47e9774141813ad17691c78fdd204c.zip |
Merge pull request #5030 from ethereum/payableConversion
Make non-payable default for conversion to address.
Diffstat (limited to 'libsolidity/analysis')
-rw-r--r-- | libsolidity/analysis/TypeChecker.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/libsolidity/analysis/TypeChecker.cpp b/libsolidity/analysis/TypeChecker.cpp index 3056561b..c42a0068 100644 --- a/libsolidity/analysis/TypeChecker.cpp +++ b/libsolidity/analysis/TypeChecker.cpp @@ -1778,9 +1778,7 @@ bool TypeChecker::visit(FunctionCall const& _functionCall) } if (resultType->category() == Type::Category::Address) { - bool payable = true; - if (auto const* contractType = dynamic_cast<ContractType const*>(argType.get())) - payable = contractType->isPayable(); + bool payable = argType->isExplicitlyConvertibleTo(AddressType::addressPayable()); resultType = make_shared<AddressType>(payable ? StateMutability::Payable : StateMutability::NonPayable); } } |