aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-07-10 17:47:12 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-08-04 21:03:37 +0800
commitc835bcec623d6b6166add70456f5b6bee5c90572 (patch)
tree7410af7755995eecceebb544ed3523ef4de9a87e /libsolidity/ast
parentdc0f85c4fb65fa385bb7145c73cc5edaba195483 (diff)
downloaddexon-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.h5
-rw-r--r--libsolidity/ast/ASTJsonConverter.cpp2
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)),