mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Reject constant constructors
This commit is contained in:
parent
453490cb61
commit
319ec34093
@ -75,8 +75,12 @@ bool TypeChecker::visit(ContractDefinition const& _contract)
|
|||||||
checkContractAbstractConstructors(_contract);
|
checkContractAbstractConstructors(_contract);
|
||||||
|
|
||||||
FunctionDefinition const* function = _contract.constructor();
|
FunctionDefinition const* function = _contract.constructor();
|
||||||
if (function && !function->returnParameters().empty())
|
if (function) {
|
||||||
typeError(function->returnParameterList()->location(), "Non-empty \"returns\" directive for constructor.");
|
if (!function->returnParameters().empty())
|
||||||
|
typeError(function->returnParameterList()->location(), "Non-empty \"returns\" directive for constructor.");
|
||||||
|
if (function->isDeclaredConst())
|
||||||
|
typeError(function->location(), "Constructor cannot be defined as constant.");
|
||||||
|
}
|
||||||
|
|
||||||
FunctionDefinition const* fallbackFunction = nullptr;
|
FunctionDefinition const* fallbackFunction = nullptr;
|
||||||
for (FunctionDefinition const* function: _contract.definedFunctions())
|
for (FunctionDefinition const* function: _contract.definedFunctions())
|
||||||
|
Loading…
Reference in New Issue
Block a user