diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2017-07-10 17:47:12 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2017-08-04 21:03:37 +0800 |
commit | c835bcec623d6b6166add70456f5b6bee5c90572 (patch) | |
tree | 7410af7755995eecceebb544ed3523ef4de9a87e /libsolidity/ast | |
parent | dc0f85c4fb65fa385bb7145c73cc5edaba195483 (diff) | |
download | dexon-solidity-c835bcec623d6b6166add70456f5b6bee5c90572.tar dexon-solidity-c835bcec623d6b6166add70456f5b6bee5c90572.tar.gz dexon-solidity-c835bcec623d6b6166add70456f5b6bee5c90572.tar.bz2 dexon-solidity-c835bcec623d6b6166add70456f5b6bee5c90572.tar.lz dexon-solidity-c835bcec623d6b6166add70456f5b6bee5c90572.tar.xz dexon-solidity-c835bcec623d6b6166add70456f5b6bee5c90572.tar.zst dexon-solidity-c835bcec623d6b6166add70456f5b6bee5c90572.zip |
Replace isFullyImplemented with unimplementedFunctions in ASTAnnotations
Diffstat (limited to 'libsolidity/ast')
-rw-r--r-- | libsolidity/ast/ASTAnnotations.h | 5 | ||||
-rw-r--r-- | libsolidity/ast/ASTJsonConverter.cpp | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/libsolidity/ast/ASTAnnotations.h b/libsolidity/ast/ASTAnnotations.h index 45a6dd1a..ecddbe21 100644 --- a/libsolidity/ast/ASTAnnotations.h +++ b/libsolidity/ast/ASTAnnotations.h @@ -79,8 +79,9 @@ struct TypeDeclarationAnnotation: ASTAnnotation struct ContractDefinitionAnnotation: TypeDeclarationAnnotation, DocumentedAnnotation { - /// Whether all functions are implemented. - bool isFullyImplemented = true; + /// List of functions without a body. Can also contain functions from base classes, + /// especially constructors. + std::vector<FunctionDefinition const*> unimplementedFunctions; /// List of all (direct and indirect) base contracts in order from derived to /// base, including the contract itself. std::vector<ContractDefinition const*> linearizedBaseContracts; diff --git a/libsolidity/ast/ASTJsonConverter.cpp b/libsolidity/ast/ASTJsonConverter.cpp index eda70b63..e4a602cb 100644 --- a/libsolidity/ast/ASTJsonConverter.cpp +++ b/libsolidity/ast/ASTJsonConverter.cpp @@ -253,7 +253,7 @@ bool ASTJsonConverter::visit(ContractDefinition const& _node) make_pair("name", _node.name()), make_pair("documentation", _node.documentation() ? Json::Value(*_node.documentation()) : Json::nullValue), make_pair("contractKind", contractKind(_node.contractKind())), - make_pair("fullyImplemented", _node.annotation().isFullyImplemented), + make_pair("fullyImplemented", _node.annotation().unimplementedFunctions.empty()), make_pair("linearizedBaseContracts", getContainerIds(_node.annotation().linearizedBaseContracts)), make_pair("baseContracts", toJson(_node.baseContracts())), make_pair("contractDependencies", getContainerIds(_node.annotation().contractDependencies)), |