aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis/DeclarationContainer.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-04-13 03:01:08 +0800
committerGitHub <noreply@github.com>2018-04-13 03:01:08 +0800
commit7054defdd6c202d0943c11cb87ac2748b9bdc62b (patch)
tree8a69eb34b9089b689d5f467b8cb56b4a74ad04b8 /libsolidity/analysis/DeclarationContainer.cpp
parent44416d1ac65b2cfae4bb15d39bc84b1a78211baa (diff)
parent966367305ad511900bedfd9af08114a0b1307399 (diff)
downloaddexon-solidity-7054defdd6c202d0943c11cb87ac2748b9bdc62b.tar
dexon-solidity-7054defdd6c202d0943c11cb87ac2748b9bdc62b.tar.gz
dexon-solidity-7054defdd6c202d0943c11cb87ac2748b9bdc62b.tar.bz2
dexon-solidity-7054defdd6c202d0943c11cb87ac2748b9bdc62b.tar.lz
dexon-solidity-7054defdd6c202d0943c11cb87ac2748b9bdc62b.tar.xz
dexon-solidity-7054defdd6c202d0943c11cb87ac2748b9bdc62b.tar.zst
dexon-solidity-7054defdd6c202d0943c11cb87ac2748b9bdc62b.zip
Merge pull request #3364 from ethereum/revertWithReason
Revert with reason
Diffstat (limited to 'libsolidity/analysis/DeclarationContainer.cpp')
-rw-r--r--libsolidity/analysis/DeclarationContainer.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/libsolidity/analysis/DeclarationContainer.cpp b/libsolidity/analysis/DeclarationContainer.cpp
index c7ba78d6..786272e4 100644
--- a/libsolidity/analysis/DeclarationContainer.cpp
+++ b/libsolidity/analysis/DeclarationContainer.cpp
@@ -45,7 +45,8 @@ Declaration const* DeclarationContainer::conflictingDeclaration(
if (
dynamic_cast<FunctionDefinition const*>(&_declaration) ||
- dynamic_cast<EventDefinition const*>(&_declaration)
+ dynamic_cast<EventDefinition const*>(&_declaration) ||
+ dynamic_cast<MagicVariableDeclaration const*>(&_declaration)
)
{
// check that all other declarations with the same name are functions or a public state variable or events.
@@ -68,6 +69,11 @@ Declaration const* DeclarationContainer::conflictingDeclaration(
!dynamic_cast<EventDefinition const*>(declaration)
)
return declaration;
+ if (
+ dynamic_cast<MagicVariableDeclaration const*>(&_declaration) &&
+ !dynamic_cast<MagicVariableDeclaration const*>(declaration)
+ )
+ return declaration;
// Or, continue.
}
}