aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis/StaticAnalyzer.cpp
diff options
context:
space:
mode:
authorDaniel Kirchner <daniel@ekpyron.org>2018-04-05 22:25:20 +0800
committerDaniel Kirchner <daniel@ekpyron.org>2018-04-09 21:26:08 +0800
commitb918a105a40aa90fe9b89eecbcdfc7ac2937c141 (patch)
treea4dc43f3387888817455d03633b02850d86a9832 /libsolidity/analysis/StaticAnalyzer.cpp
parentb8fdb666e235bb6b19f11dba7740227026111598 (diff)
downloaddexon-solidity-b918a105a40aa90fe9b89eecbcdfc7ac2937c141.tar
dexon-solidity-b918a105a40aa90fe9b89eecbcdfc7ac2937c141.tar.gz
dexon-solidity-b918a105a40aa90fe9b89eecbcdfc7ac2937c141.tar.bz2
dexon-solidity-b918a105a40aa90fe9b89eecbcdfc7ac2937c141.tar.lz
dexon-solidity-b918a105a40aa90fe9b89eecbcdfc7ac2937c141.tar.xz
dexon-solidity-b918a105a40aa90fe9b89eecbcdfc7ac2937c141.tar.zst
dexon-solidity-b918a105a40aa90fe9b89eecbcdfc7ac2937c141.zip
Move constructor argument override check to TypeChecker and reuse annotations in ContractCompiler.
Diffstat (limited to 'libsolidity/analysis/StaticAnalyzer.cpp')
-rw-r--r--libsolidity/analysis/StaticAnalyzer.cpp42
1 files changed, 0 insertions, 42 deletions
diff --git a/libsolidity/analysis/StaticAnalyzer.cpp b/libsolidity/analysis/StaticAnalyzer.cpp
index 700c8a71..33b0e296 100644
--- a/libsolidity/analysis/StaticAnalyzer.cpp
+++ b/libsolidity/analysis/StaticAnalyzer.cpp
@@ -90,48 +90,6 @@ void StaticAnalyzer::endVisit(FunctionDefinition const&)
m_localVarUseCount.clear();
}
-bool StaticAnalyzer::visit(ModifierInvocation const& _modifier)
-{
- if (!m_constructor)
- return true;
-
- bool const v050 = m_currentContract->sourceUnit().annotation().experimentalFeatures.count(ExperimentalFeature::V050);
-
- if (auto contract = dynamic_cast<ContractDefinition const*>(_modifier.name()->annotation().referencedDeclaration))
- for (auto const& base: m_currentContract->annotation().linearizedBaseContracts)
- for (auto const& specifier: base->baseContracts())
- {
- Declaration const* parent = specifier->name().annotation().referencedDeclaration;
- if (contract == parent && !specifier->arguments().empty())
- {
- if (v050)
- {
- SecondarySourceLocation ssl;
- ssl.append("Second constructor call is here:", specifier->location());
-
- m_errorReporter.declarationError(
- _modifier.location(),
- ssl,
- "Duplicated super constructor call."
- );
- }
- else
- {
- SecondarySourceLocation ssl;
- ssl.append("Overridden constructor call is here:", specifier->location());
-
- m_errorReporter.warning(
- _modifier.location(),
- "Duplicated super constructor calls are deprecated.",
- ssl
- );
- }
- }
- }
-
- return true;
-}
-
bool StaticAnalyzer::visit(Identifier const& _identifier)
{
if (m_currentFunction)