mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
basic source level debugging
This commit is contained in:
parent
a5b4f18dd7
commit
8d11b6e74a
@ -155,6 +155,16 @@ bytes const& CompilerStack::compile(string const& _sourceCode, bool _optimize)
|
|||||||
return getBytecode();
|
return getBytecode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
eth::AssemblyItems const& CompilerStack::getAssemblyItems(string const& _contractName) const
|
||||||
|
{
|
||||||
|
return getContract(_contractName).compiler->getAssemblyItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
eth::AssemblyItems const& CompilerStack::getRuntimeAssemblyItems(string const& _contractName) const
|
||||||
|
{
|
||||||
|
return getContract(_contractName).compiler->getRuntimeAssemblyItems();
|
||||||
|
}
|
||||||
|
|
||||||
bytes const& CompilerStack::getBytecode(string const& _contractName) const
|
bytes const& CompilerStack::getBytecode(string const& _contractName) const
|
||||||
{
|
{
|
||||||
return getContract(_contractName).bytecode;
|
return getContract(_contractName).bytecode;
|
||||||
|
@ -26,11 +26,18 @@
|
|||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
#include <vector>
|
||||||
#include <boost/noncopyable.hpp>
|
#include <boost/noncopyable.hpp>
|
||||||
#include <libdevcore/Common.h>
|
#include <libdevcore/Common.h>
|
||||||
#include <libdevcore/FixedHash.h>
|
#include <libdevcore/FixedHash.h>
|
||||||
|
|
||||||
namespace dev {
|
namespace dev {
|
||||||
|
|
||||||
|
namespace eth {
|
||||||
|
class AssemblyItem;
|
||||||
|
using AssemblyItems = std::vector<AssemblyItem>;
|
||||||
|
}
|
||||||
|
|
||||||
namespace solidity {
|
namespace solidity {
|
||||||
|
|
||||||
// forward declarations
|
// forward declarations
|
||||||
@ -85,6 +92,10 @@ public:
|
|||||||
bytes const& getBytecode(std::string const& _contractName = "") const;
|
bytes const& getBytecode(std::string const& _contractName = "") const;
|
||||||
/// @returns the runtime bytecode for the contract, i.e. the code that is returned by the constructor.
|
/// @returns the runtime bytecode for the contract, i.e. the code that is returned by the constructor.
|
||||||
bytes const& getRuntimeBytecode(std::string const& _contractName = "") const;
|
bytes const& getRuntimeBytecode(std::string const& _contractName = "") const;
|
||||||
|
/// @returns normal contract assembly items
|
||||||
|
eth::AssemblyItems const& getAssemblyItems(std::string const& _contractName = "") const;
|
||||||
|
/// @returns runtime contract assembly items
|
||||||
|
eth::AssemblyItems const& getRuntimeAssemblyItems(std::string const& _contractName = "") const;
|
||||||
/// @returns hash of the runtime bytecode for the contract, i.e. the code that is returned by the constructor.
|
/// @returns hash of the runtime bytecode for the contract, i.e. the code that is returned by the constructor.
|
||||||
dev::h256 getContractCodeHash(std::string const& _contractName = "") const;
|
dev::h256 getContractCodeHash(std::string const& _contractName = "") const;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user