aboutsummaryrefslogtreecommitdiffstats
path: root/InterfaceHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'InterfaceHandler.h')
-rw-r--r--InterfaceHandler.h125
1 files changed, 0 insertions, 125 deletions
diff --git a/InterfaceHandler.h b/InterfaceHandler.h
deleted file mode 100644
index 6aa3f72d..00000000
--- a/InterfaceHandler.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- This file is part of cpp-ethereum.
-
- cpp-ethereum is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- cpp-ethereum is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
-*/
-/**
- * @author Lefteris <lefteris@ethdev.com>
- * @date 2014
- * Takes the parsed AST and produces the Natspec
- * documentation and the ABI interface
- * https://github.com/ethereum/wiki/wiki/Ethereum-Natural-Specification-Format
- *
- * Can generally deal with JSON files
- */
-
-#pragma once
-
-#include <string>
-#include <memory>
-#include <json/json.h>
-
-namespace dev
-{
-namespace solidity
-{
-
-// Forward declarations
-class ContractDefinition;
-enum class DocumentationType: uint8_t;
-
-enum class DocTagType: uint8_t
-{
- None = 0,
- Dev,
- Notice,
- Param,
- Return,
- Author,
- Title
-};
-
-enum class CommentOwner
-{
- Contract,
- Function
-};
-
-class InterfaceHandler
-{
-public:
- InterfaceHandler();
-
- /// Get the given type of documentation
- /// @param _contractDef The contract definition
- /// @param _type The type of the documentation. Can be one of the
- /// types provided by @c DocumentationType
- /// @return A unique pointer contained string with the json
- /// representation of provided type
- std::unique_ptr<std::string> getDocumentation(ContractDefinition const& _contractDef,
- DocumentationType _type);
- /// Get the ABI Interface of the contract
- /// @param _contractDef The contract definition
- /// @return A unique pointer contained string with the json
- /// representation of the contract's ABI Interface
- std::unique_ptr<std::string> getABIInterface(ContractDefinition const& _contractDef);
- std::unique_ptr<std::string> getABISolidityInterface(ContractDefinition const& _contractDef);
- /// Get the User documentation of the contract
- /// @param _contractDef The contract definition
- /// @return A unique pointer contained string with the json
- /// representation of the contract's user documentation
- std::unique_ptr<std::string> getUserDocumentation(ContractDefinition const& _contractDef);
- /// Get the Developer's documentation of the contract
- /// @param _contractDef The contract definition
- /// @return A unique pointer contained string with the json
- /// representation of the contract's developer documentation
- std::unique_ptr<std::string> getDevDocumentation(ContractDefinition const& _contractDef);
-
-private:
- void resetUser();
- void resetDev();
-
- std::string::const_iterator parseDocTagLine(std::string::const_iterator _pos,
- std::string::const_iterator _end,
- std::string& _tagString,
- DocTagType _tagType,
- bool _appending);
- std::string::const_iterator parseDocTagParam(std::string::const_iterator _pos,
- std::string::const_iterator _end);
- std::string::const_iterator appendDocTagParam(std::string::const_iterator _pos,
- std::string::const_iterator _end);
- void parseDocString(std::string const& _string, CommentOwner _owner);
- std::string::const_iterator appendDocTag(std::string::const_iterator _pos,
- std::string::const_iterator _end,
- CommentOwner _owner);
- std::string::const_iterator parseDocTag(std::string::const_iterator _pos,
- std::string::const_iterator _end,
- std::string const& _tag,
- CommentOwner _owner);
-
- Json::StyledWriter m_writer;
-
- // internal state
- DocTagType m_lastTag;
- std::string m_notice;
- std::string m_dev;
- std::string m_return;
- std::string m_contractAuthor;
- std::string m_author;
- std::string m_title;
- std::vector<std::pair<std::string, std::string>> m_params;
-};
-
-} //solidity NS
-} // dev NS