| 129 | ArgumentsParser::~ArgumentsParser() = default; |
| 130 | |
| 131 | Ref<Argument> ArgumentsParser::addArgument(std::string_view name) { |
| 132 | auto key = StringCache::getGlobal().makeString(name); |
| 133 | auto argument = makeShared<Argument>(key); |
| 134 | |
| 135 | SC_ASSERT(getArgument(key) == nullptr); |
| 136 | _argumentsByName[key] = argument; |
| 137 | _arguments.emplace_back(argument); |
| 138 | |
| 139 | return argument; |
| 140 | } |
| 141 | |
| 142 | Ref<Argument> ArgumentsParser::getArgument(const StringBox& name) const { |
| 143 | const auto& it = _argumentsByName.find(name); |
no test coverage detected