aboutsummaryrefslogtreecommitdiffstats
path: root/InterfaceHandler.h
diff options
context:
space:
mode:
authorLefteris Karapetsas <lefteris@refu.co>2014-12-05 00:19:47 +0800
committerLefteris Karapetsas <lefteris@refu.co>2014-12-05 00:19:47 +0800
commit05964375f888e8b8a3ccf5bc01d9cfff8fd00566 (patch)
treea210bf1abee81bf7193a26414f6e5ae635d03eed /InterfaceHandler.h
parent3e803b40e1b22daf8e3ac45593aec6798d365ccb (diff)
downloaddexon-solidity-05964375f888e8b8a3ccf5bc01d9cfff8fd00566.tar.gz
dexon-solidity-05964375f888e8b8a3ccf5bc01d9cfff8fd00566.tar.zst
dexon-solidity-05964375f888e8b8a3ccf5bc01d9cfff8fd00566.zip
Natspec parsing @param doctags
- Plus additional work on generally parsing doctags. One important missing feature is to parse a tag midline - Adding more tests
Diffstat (limited to 'InterfaceHandler.h')
-rw-r--r--InterfaceHandler.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/InterfaceHandler.h b/InterfaceHandler.h
index 6f2f2937..2a70af95 100644
--- a/InterfaceHandler.h
+++ b/InterfaceHandler.h
@@ -42,6 +42,7 @@ enum docTagType
DOCTAG_NONE = 0,
DOCTAG_DEV,
DOCTAG_NOTICE,
+ DOCTAG_PARAM
};
class InterfaceHandler
@@ -74,7 +75,14 @@ public:
std::unique_ptr<std::string> getDevDocumentation(std::shared_ptr<ContractDefinition> _contractDef);
private:
+ void resetUser();
+ void resetDev();
+
+ size_t parseDocTagLine(std::string const& _string, std::string& _tagString, size_t _pos, enum docTagType _tagType);
+ size_t parseDocTagParam(std::string const& _string, size_t _startPos);
+ size_t appendDocTagParam(std::string const& _string, size_t _startPos);
void parseDocString(std::string const& _string, size_t _startPos = 0);
+ size_t appendDocTag(std::string const& _string, size_t _startPos);
size_t parseDocTag(std::string const& _string, std::string const& _tag, size_t _pos);
Json::StyledWriter m_writer;
@@ -83,6 +91,7 @@ private:
enum docTagType m_lastTag;
std::string m_notice;
std::string m_dev;
+ std::vector<std::pair<std::string, std::string>> m_params;
};
} //solidity NS