This commit is contained in:
Pranav Srinivas Kumar 2019-08-17 17:56:29 -05:00
parent cb04248cfa
commit a9bc1c9a4a

View File

@ -153,26 +153,26 @@ public:
if (mIsOptional) { if (mIsOptional) {
if (mIsUsed && mValues.size() != mNumArgs && !mDefaultValue.has_value()) { if (mIsUsed && mValues.size() != mNumArgs && !mDefaultValue.has_value()) {
std::stringstream stream; std::stringstream stream;
stream << "error: " << mUsedName << ": expected " << mNumArgs stream << mUsedName << ": expected " << mNumArgs
<< " argument(s). " << mValues.size() << " provided."; << " argument(s). " << mValues.size() << " provided.";
throw std::runtime_error(stream.str()); throw std::runtime_error(stream.str());
} else { } else {
// TODO: check if an implicit value was programmed for this argument // TODO: check if an implicit value was programmed for this argument
if (!mIsUsed && !mDefaultValue.has_value() && mIsRequired) { if (!mIsUsed && !mDefaultValue.has_value() && mIsRequired) {
std::stringstream stream; std::stringstream stream;
stream << "error: " << mNames[0] << ": required."; stream << mNames[0] << ": required.";
throw std::runtime_error(stream.str()); throw std::runtime_error(stream.str());
} }
if (mIsUsed && mIsRequired && mValues.size() == 0) { if (mIsUsed && mIsRequired && mValues.size() == 0) {
std::stringstream stream; std::stringstream stream;
stream << "error: " << mUsedName << ": no value provided."; stream << mUsedName << ": no value provided.";
throw std::runtime_error(stream.str()); throw std::runtime_error(stream.str());
} }
} }
} else { } else {
if (mValues.size() != mNumArgs && !mDefaultValue.has_value()) { if (mValues.size() != mNumArgs && !mDefaultValue.has_value()) {
std::stringstream stream; std::stringstream stream;
stream << "error: " << mUsedName << ": expected " << mNumArgs stream << mUsedName << ": expected " << mNumArgs
<< " argument(s). " << mValues.size() << " provided."; << " argument(s). " << mValues.size() << " provided.";
throw std::runtime_error(stream.str()); throw std::runtime_error(stream.str());
} }