diff options
author | chriseth <c@ethdev.com> | 2017-03-06 21:12:20 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2017-03-06 21:12:42 +0800 |
commit | f300bdb020ca55b05f1725dc2157fb636c1e4801 (patch) | |
tree | 25bbe9e6a2e8f9196236b3650939f2ddec71cf63 /libsolidity/analysis | |
parent | ca4e2933dd9b149653070815dd6255e3b8735d6d (diff) | |
download | dexon-solidity-f300bdb020ca55b05f1725dc2157fb636c1e4801.tar dexon-solidity-f300bdb020ca55b05f1725dc2157fb636c1e4801.tar.gz dexon-solidity-f300bdb020ca55b05f1725dc2157fb636c1e4801.tar.bz2 dexon-solidity-f300bdb020ca55b05f1725dc2157fb636c1e4801.tar.lz dexon-solidity-f300bdb020ca55b05f1725dc2157fb636c1e4801.tar.xz dexon-solidity-f300bdb020ca55b05f1725dc2157fb636c1e4801.tar.zst dexon-solidity-f300bdb020ca55b05f1725dc2157fb636c1e4801.zip |
Move public constructor property into AST itself.
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 ff55ef1f..a9a2c82f 100644 --- a/libsolidity/analysis/TypeChecker.cpp +++ b/libsolidity/analysis/TypeChecker.cpp @@ -77,8 +77,6 @@ bool TypeChecker::visit(ContractDefinition const& _contract) FunctionDefinition const* function = _contract.constructor(); if (function) { - if (!function->isPublic()) - _contract.annotation().hasPublicConstructor = false; if (!function->returnParameters().empty()) typeError(function->returnParameterList()->location(), "Non-empty \"returns\" directive for constructor."); if (function->isDeclaredConst()) @@ -1290,7 +1288,7 @@ void TypeChecker::endVisit(NewExpression const& _newExpression) fatalTypeError(_newExpression.location(), "Identifier is not a contract."); if (!contract->annotation().isFullyImplemented) typeError(_newExpression.location(), "Trying to create an instance of an abstract contract."); - if (!contract->annotation().hasPublicConstructor) + if (!contract->constructorIsPublic()) typeError(_newExpression.location(), "Contract with internal constructor cannot be created directly."); solAssert(!!m_scope, ""); |