diff options
author | chriseth <c@ethdev.com> | 2017-01-21 02:21:43 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2017-01-21 02:22:39 +0800 |
commit | 0ef460461ac280a9f8086d62d831dc9f7d2f5319 (patch) | |
tree | 8dd8f0b6007ed7979f5190bce87f1918a8c0f205 /libsolidity/interface | |
parent | df4ef74199392e9b29823d68e6a58dabd490e037 (diff) | |
download | dexon-solidity-0ef460461ac280a9f8086d62d831dc9f7d2f5319.tar.gz dexon-solidity-0ef460461ac280a9f8086d62d831dc9f7d2f5319.tar.zst dexon-solidity-0ef460461ac280a9f8086d62d831dc9f7d2f5319.zip |
Check if constructor is public or not.
Diffstat (limited to 'libsolidity/interface')
-rw-r--r-- | libsolidity/interface/CompilerStack.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libsolidity/interface/CompilerStack.cpp b/libsolidity/interface/CompilerStack.cpp index 85ec0fb1..b26bd501 100644 --- a/libsolidity/interface/CompilerStack.cpp +++ b/libsolidity/interface/CompilerStack.cpp @@ -624,7 +624,11 @@ void CompilerStack::compileContract( map<ContractDefinition const*, eth::Assembly const*>& _compiledContracts ) { - if (_compiledContracts.count(&_contract) || !_contract.annotation().isFullyImplemented) + if ( + _compiledContracts.count(&_contract) || + !_contract.annotation().isFullyImplemented || + !_contract.annotation().hasPublicConstructor + ) return; for (auto const* dependency: _contract.annotation().contractDependencies) compileContract(*dependency, _compiledContracts); |