aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast/AST.cpp
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-10-26 22:13:36 +0800
committerchriseth <c@ethdev.com>2015-10-26 22:24:36 +0800
commitb4f561680a2a5169d1245271245e2b71822cb73a (patch)
tree6e3acecc9bbe825400e4297a32ff641df27d1943 /libsolidity/ast/AST.cpp
parentd6e77ce0e1da577e5f2c000f89b4fba3505d84a0 (diff)
downloaddexon-solidity-b4f561680a2a5169d1245271245e2b71822cb73a.tar.gz
dexon-solidity-b4f561680a2a5169d1245271245e2b71822cb73a.tar.zst
dexon-solidity-b4f561680a2a5169d1245271245e2b71822cb73a.zip
Store docstrings in AST annotations.
Diffstat (limited to 'libsolidity/ast/AST.cpp')
-rw-r--r--libsolidity/ast/AST.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/libsolidity/ast/AST.cpp b/libsolidity/ast/AST.cpp
index 71d80a36..9d1fb811 100644
--- a/libsolidity/ast/AST.cpp
+++ b/libsolidity/ast/AST.cpp
@@ -248,16 +248,37 @@ string FunctionDefinition::externalSignature() const
return FunctionType(*this).externalSignature();
}
+FunctionDefinitionAnnotation& FunctionDefinition::annotation() const
+{
+ if (!m_annotation)
+ m_annotation = new FunctionDefinitionAnnotation();
+ return static_cast<FunctionDefinitionAnnotation&>(*m_annotation);
+}
+
TypePointer ModifierDefinition::type(ContractDefinition const*) const
{
return make_shared<ModifierType>(*this);
}
+ModifierDefinitionAnnotation& ModifierDefinition::annotation() const
+{
+ if (!m_annotation)
+ m_annotation = new ModifierDefinitionAnnotation();
+ return static_cast<ModifierDefinitionAnnotation&>(*m_annotation);
+}
+
TypePointer EventDefinition::type(ContractDefinition const*) const
{
return make_shared<FunctionType>(*this);
}
+EventDefinitionAnnotation& EventDefinition::annotation() const
+{
+ if (!m_annotation)
+ m_annotation = new EventDefinitionAnnotation();
+ return static_cast<EventDefinitionAnnotation&>(*m_annotation);
+}
+
UserDefinedTypeNameAnnotation& UserDefinedTypeName::annotation() const
{
if (!m_annotation)