Skip to content

Commit fe74111

Browse files
committed
EVMAssemblyStack: Add extra accessors that do not require contract name
1 parent 5baa791 commit fe74111

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

libevmasm/EVMAssemblyStack.cpp

+17-7
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,13 @@ void EVMAssemblyStack::assemble()
7474
LinkerObject const& EVMAssemblyStack::object(std::string const& _contractName) const
7575
{
7676
solAssert(_contractName == m_name);
77-
return m_object;
77+
return object();
7878
}
7979

8080
LinkerObject const& EVMAssemblyStack::runtimeObject(std::string const& _contractName) const
8181
{
8282
solAssert(_contractName == m_name);
83-
return m_runtimeObject;
83+
return runtimeObject();
8484
}
8585

8686
std::map<std::string, unsigned> EVMAssemblyStack::sourceIndices() const
@@ -95,13 +95,13 @@ std::map<std::string, unsigned> EVMAssemblyStack::sourceIndices() const
9595
std::string const* EVMAssemblyStack::sourceMapping(std::string const& _contractName) const
9696
{
9797
solAssert(_contractName == m_name);
98-
return &m_sourceMapping;
98+
return &sourceMapping();
9999
}
100100

101101
std::string const* EVMAssemblyStack::runtimeSourceMapping(std::string const& _contractName) const
102102
{
103103
solAssert(_contractName == m_name);
104-
return &m_runtimeSourceMapping;
104+
return &runtimeSourceMapping();
105105
}
106106

107107
Json EVMAssemblyStack::ethdebug(std::string const& _contractName) const
@@ -123,20 +123,30 @@ Json EVMAssemblyStack::ethdebug() const
123123
return {};
124124
}
125125

126-
Json EVMAssemblyStack::assemblyJSON(std::string const& _contractName) const
126+
Json EVMAssemblyStack::assemblyJSON() const
127127
{
128-
solAssert(_contractName == m_name);
129128
solAssert(m_evmAssembly);
130129
return m_evmAssembly->assemblyJSON(sourceIndices());
131130
}
132131

133-
std::string EVMAssemblyStack::assemblyString(std::string const& _contractName, StringMap const& _sourceCodes) const
132+
Json EVMAssemblyStack::assemblyJSON(std::string const& _contractName) const
134133
{
135134
solAssert(_contractName == m_name);
135+
return assemblyJSON();
136+
}
137+
138+
std::string EVMAssemblyStack::assemblyString(StringMap const& _sourceCodes) const
139+
{
136140
solAssert(m_evmAssembly);
137141
return m_evmAssembly->assemblyString(m_debugInfoSelection, _sourceCodes);
138142
}
139143

144+
std::string EVMAssemblyStack::assemblyString(std::string const& _contractName, StringMap const& _sourceCodes) const
145+
{
146+
solAssert(_contractName == m_name);
147+
return assemblyString(_sourceCodes);
148+
}
149+
140150
std::string const EVMAssemblyStack::filesystemFriendlyName(std::string const& _contractName) const
141151
{
142152
solAssert(_contractName == m_name);

libevmasm/EVMAssemblyStack.h

+6
Original file line numberDiff line numberDiff line change
@@ -58,20 +58,26 @@ class EVMAssemblyStack: public AbstractAssemblyStack
5858

5959
std::string const& name() const { return m_name; }
6060

61+
LinkerObject const& object() const { return m_object; }
6162
LinkerObject const& object(std::string const& _contractName) const override;
63+
LinkerObject const& runtimeObject() const { return m_runtimeObject; }
6264
LinkerObject const& runtimeObject(std::string const& _contractName) const override;
6365

6466
std::shared_ptr<evmasm::Assembly> const& evmAssembly() const { return m_evmAssembly; }
6567
std::shared_ptr<evmasm::Assembly> const& evmRuntimeAssembly() const { return m_evmRuntimeAssembly; }
6668

69+
std::string const& sourceMapping() const { return m_sourceMapping; }
6770
std::string const* sourceMapping(std::string const& _contractName) const override;
71+
std::string const& runtimeSourceMapping() const { return m_runtimeSourceMapping; }
6872
std::string const* runtimeSourceMapping(std::string const& _contractName) const override;
6973

7074
Json ethdebug(std::string const& _contractName) const override;
7175
Json ethdebugRuntime(std::string const& _contractName) const override;
7276
Json ethdebug() const override;
7377

78+
Json assemblyJSON() const;
7479
Json assemblyJSON(std::string const& _contractName) const override;
80+
std::string assemblyString(StringMap const& _sourceCodes) const;
7581
std::string assemblyString(std::string const& _contractName, StringMap const& _sourceCodes) const override;
7682

7783
std::string const filesystemFriendlyName(std::string const& _contractName) const override;

0 commit comments

Comments
 (0)