diff options
-rw-r--r-- | libsolidity/ASTJsonConverter.cpp | 10 | ||||
-rw-r--r-- | libsolidity/ASTJsonConverter.h | 1 | ||||
-rw-r--r-- | libsolidity/ASTPrinter.cpp | 5 |
3 files changed, 15 insertions, 1 deletions
diff --git a/libsolidity/ASTJsonConverter.cpp b/libsolidity/ASTJsonConverter.cpp index 3edcb77e..d0f76fb8 100644 --- a/libsolidity/ASTJsonConverter.cpp +++ b/libsolidity/ASTJsonConverter.cpp @@ -124,7 +124,10 @@ bool ASTJsonConverter::visit(FunctionDefinition const& _node) bool ASTJsonConverter::visit(VariableDeclaration const& _node) { - addJsonNode("VariableDeclaration", { make_pair("name", _node.name()) }, true); + addJsonNode("VariableDeclaration", { + make_pair("name", _node.name()), + make_pair("name", _node.name()), + }, true); return true; } @@ -444,5 +447,10 @@ string ASTJsonConverter::type(Expression const& _expression) return _expression.annotation().type ? _expression.annotation().type->toString() : "Unknown"; } +string ASTJsonConverter::type(VariableDeclaration const& _varDecl) +{ + return _varDecl.annotation().type ? _varDecl.annotation().type->toString() : "Unknown"; +} + } } diff --git a/libsolidity/ASTJsonConverter.h b/libsolidity/ASTJsonConverter.h index a44df876..61f87860 100644 --- a/libsolidity/ASTJsonConverter.h +++ b/libsolidity/ASTJsonConverter.h @@ -116,6 +116,7 @@ private: std::initializer_list<std::pair<std::string const, std::string const>> _list, bool _hasChildren); std::string type(Expression const& _expression); + std::string type(VariableDeclaration const& _varDecl); inline void goUp() { solAssert(!m_jsonNodePtrs.empty(), "Uneven json nodes stack. Internal error."); diff --git a/libsolidity/ASTPrinter.cpp b/libsolidity/ASTPrinter.cpp index 5762051d..cebf6b8b 100644 --- a/libsolidity/ASTPrinter.cpp +++ b/libsolidity/ASTPrinter.cpp @@ -105,6 +105,11 @@ bool ASTPrinter::visit(FunctionDefinition const& _node) bool ASTPrinter::visit(VariableDeclaration const& _node) { writeLine("VariableDeclaration \"" + _node.name() + "\""); + *m_ostream << indentation() << ( + _node.annotation().type ? + string(" Type: ") + _node.annotation().type->toString() : + string(" Type unknown.") + ) << "\n"; printSourcePart(_node); return goDeeper(); } |