mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Moved program_options add_options to a helper function to allow defaults to be set by derived class constructor before immutable options are created by parent
This commit is contained in:
parent
20ca5c1361
commit
f47e918caa
@ -91,6 +91,11 @@ CommonOptions::CommonOptions(std::string _caption):
|
||||
po::options_description::m_default_line_length,
|
||||
po::options_description::m_default_line_length - 23
|
||||
)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void CommonOptions::addOptions()
|
||||
{
|
||||
options.add_options()
|
||||
("evm-version", po::value(&evmVersionString), "which evm version to use")
|
||||
|
@ -70,6 +70,7 @@ struct CommonOptions
|
||||
|
||||
langutil::EVMVersion evmVersion() const;
|
||||
|
||||
virtual addOptions();
|
||||
virtual bool parse(int argc, char const* const* argv);
|
||||
// Throws a ConfigException on error
|
||||
virtual void validate() const;
|
||||
|
@ -58,6 +58,13 @@ std::string editorPath()
|
||||
|
||||
IsolTestOptions::IsolTestOptions(std::string* _editor):
|
||||
CommonOptions(description)
|
||||
{
|
||||
enforceViaYul = true;
|
||||
enforceGasTest = (evmVersion() == langutil::EVMVersion{});
|
||||
enforceGasTestMinValue = 100000;
|
||||
}
|
||||
|
||||
void IsolTestOptions::addOptions()
|
||||
{
|
||||
options.add_options()
|
||||
("editor", po::value<std::string>(_editor)->default_value(editorPath()), "Path to editor for opening test files.")
|
||||
@ -76,9 +83,6 @@ bool IsolTestOptions::parse(int _argc, char const* const* _argv)
|
||||
std::cout << options << std::endl;
|
||||
return false;
|
||||
}
|
||||
enforceViaYul = true;
|
||||
enforceGasTest = (evmVersion() == langutil::EVMVersion{});
|
||||
enforceGasTestMinValue = 100000;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
@ -35,6 +35,7 @@ struct IsolTestOptions: CommonOptions
|
||||
std::string testFilter = std::string{};
|
||||
|
||||
IsolTestOptions(std::string* _editor);
|
||||
void addOptions() override;
|
||||
bool parse(int _argc, char const* const* _argv) override;
|
||||
void validate() const override;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user