diff options
author | Lefteris Karapetsas <lefteris@refu.co> | 2015-01-13 22:59:42 +0800 |
---|---|---|
committer | Lefteris Karapetsas <lefteris@refu.co> | 2015-01-13 22:59:42 +0800 |
commit | 12e000e0d327ead61092c890d0e5a359a9b9a54d (patch) | |
tree | 0e2e54e42c7ceab279ff82351c244f40a344df10 /CompilerStack.h | |
parent | a253abf0623aec5ebbf8fa8b4ec3b00596c724ee (diff) | |
download | dexon-solidity-12e000e0d327ead61092c890d0e5a359a9b9a54d.tar.gz dexon-solidity-12e000e0d327ead61092c890d0e5a359a9b9a54d.tar.zst dexon-solidity-12e000e0d327ead61092c890d0e5a359a9b9a54d.zip |
A first version of Natspec warning popup
- Runtime Contract code hash can now be retrieved from the Compiler
- Using the hash the Natspec handler stores and later retrieves Natspec
JSON for a given contract.
Diffstat (limited to 'CompilerStack.h')
-rw-r--r-- | CompilerStack.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/CompilerStack.h b/CompilerStack.h index da0adf57..202f1b32 100644 --- a/CompilerStack.h +++ b/CompilerStack.h @@ -76,7 +76,13 @@ public: /// @returns the compiled bytecode bytes const& compile(std::string const& _sourceCode, bool _optimize = false); + /// Gets the assembled bytecode for a contract bytes const& getBytecode(std::string const& _contractName = "") const; + /// Get the runtime context's bytecode for a contract + bytes const& getRuntimeBytecode(std::string const& _contractName = "") const; + /// Get the runtime context's code hash for a contract + dev::h256 getContractCodeHash(std::string const& _contractName = "") const; + /// Streams a verbose version of the assembly to @a _outStream. /// Prerequisite: Successful compilation. void streamAssembly(std::ostream& _outStream, std::string const& _contractName = "") const; @@ -108,9 +114,6 @@ public: /// scanning the source code - this is useful for printing exception information. static bytes staticCompile(std::string const& _sourceCode, bool _optimize = false); - /// Get the runtime context's code hash for a contract. LTODO - dev::h256 getContractCodeHash(std::string const& _contractName); - private: /** * Information pertaining to one source unit, filled gradually during parsing and compilation. @@ -128,6 +131,7 @@ private: ContractDefinition const* contract = nullptr; std::shared_ptr<Compiler> compiler; bytes bytecode; + bytes runtimeBytecode; std::shared_ptr<InterfaceHandler> interfaceHandler; mutable std::unique_ptr<std::string const> interface; mutable std::unique_ptr<std::string const> solidityInterface; |