Skip to content

Commit bedf311

Browse files
library: Refactor to use enum class (cppcheck-opensource#3026)
1 parent 13b8ee8 commit bedf311

10 files changed

Lines changed: 139 additions & 139 deletions

cli/cppcheckexecutor.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,35 +1126,35 @@ bool CppCheckExecutor::tryLoadLibrary(Library& destination, const char* basepath
11261126
{
11271127
const Library::Error err = destination.load(basepath, filename);
11281128

1129-
if (err.errorcode == Library::UNKNOWN_ELEMENT)
1129+
if (err.errorcode == Library::ErrorCode::UNKNOWN_ELEMENT)
11301130
std::cout << "cppcheck: Found unknown elements in configuration file '" << filename << "': " << err.reason << std::endl;
1131-
else if (err.errorcode != Library::OK) {
1131+
else if (err.errorcode != Library::ErrorCode::OK) {
11321132
std::cout << "cppcheck: Failed to load library configuration file '" << filename << "'. ";
11331133
switch (err.errorcode) {
1134-
case Library::OK:
1134+
case Library::ErrorCode::OK:
11351135
break;
1136-
case Library::FILE_NOT_FOUND:
1136+
case Library::ErrorCode::FILE_NOT_FOUND:
11371137
std::cout << "File not found";
11381138
break;
1139-
case Library::BAD_XML:
1139+
case Library::ErrorCode::BAD_XML:
11401140
std::cout << "Bad XML";
11411141
break;
1142-
case Library::UNKNOWN_ELEMENT:
1142+
case Library::ErrorCode::UNKNOWN_ELEMENT:
11431143
std::cout << "Unexpected element";
11441144
break;
1145-
case Library::MISSING_ATTRIBUTE:
1145+
case Library::ErrorCode::MISSING_ATTRIBUTE:
11461146
std::cout << "Missing attribute";
11471147
break;
1148-
case Library::BAD_ATTRIBUTE_VALUE:
1148+
case Library::ErrorCode::BAD_ATTRIBUTE_VALUE:
11491149
std::cout << "Bad attribute value";
11501150
break;
1151-
case Library::UNSUPPORTED_FORMAT:
1151+
case Library::ErrorCode::UNSUPPORTED_FORMAT:
11521152
std::cout << "File is of unsupported format version";
11531153
break;
1154-
case Library::DUPLICATE_PLATFORM_TYPE:
1154+
case Library::ErrorCode::DUPLICATE_PLATFORM_TYPE:
11551155
std::cout << "Duplicate platform type";
11561156
break;
1157-
case Library::PLATFORM_TYPE_REDEFINED:
1157+
case Library::ErrorCode::PLATFORM_TYPE_REDEFINED:
11581158
std::cout << "Platform type redefined";
11591159
break;
11601160
}

gui/mainwindow.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -798,7 +798,7 @@ bool MainWindow::tryLoadLibrary(Library *library, const QString& filename)
798798
{
799799
const Library::Error error = loadLibrary(library, filename);
800800
if (error.errorcode != Library::ErrorCode::OK) {
801-
if (error.errorcode == Library::UNKNOWN_ELEMENT) {
801+
if (error.errorcode == Library::ErrorCode::UNKNOWN_ELEMENT) {
802802
QMessageBox::information(this, tr("Information"), tr("The library '%1' contains unknown elements:\n%2").arg(filename).arg(error.reason.c_str()));
803803
return true;
804804
}

gui/projectfiledialog.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ ProjectFileDialog::ProjectFileDialog(ProjectFile *projectFile, QWidget *parent)
114114
Library lib;
115115
const QString fullfilename = sp + "/" + library;
116116
const Library::Error err = lib.load(nullptr, fullfilename.toLatin1());
117-
if (err.errorcode != Library::OK)
117+
if (err.errorcode != Library::ErrorCode::OK)
118118
continue;
119119
// Working std.cfg found
120120
stdLibraryFilename = fullfilename;
@@ -135,12 +135,12 @@ ProjectFileDialog::ProjectFileDialog(ProjectFile *projectFile, QWidget *parent)
135135
Library lib;
136136
const QString fullfilename = sp + "/" + library;
137137
Library::Error err = lib.load(nullptr, fullfilename.toLatin1());
138-
if (err.errorcode != Library::OK) {
138+
if (err.errorcode != Library::ErrorCode::OK) {
139139
// Some libraries depend on std.cfg so load it first and test again
140140
lib.load(nullptr, stdLibraryFilename.toLatin1());
141141
err = lib.load(nullptr, fullfilename.toLatin1());
142142
}
143-
if (err.errorcode != Library::OK)
143+
if (err.errorcode != Library::ErrorCode::OK)
144144
continue;
145145
}
146146
library.chop(4);

lib/bughuntingchecks.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ static void bufferOverflow(const Token *tok, const ExprEngine::Value &value, Exp
130130
}
131131

132132
for (const Library::ArgumentChecks::MinSize &minsize: checks.minsizes) {
133-
if (minsize.type == Library::ArgumentChecks::MinSize::ARGVALUE && minsize.arg > 0 && minsize.arg <= arguments.size()) {
133+
if (minsize.type == Library::ArgumentChecks::MinSize::Type::ARGVALUE && minsize.arg > 0 && minsize.arg <= arguments.size()) {
134134
ExprEngine::ValuePtr otherValue = functionCallArguments->argValues[minsize.arg - 1];
135135
if (!otherValue || otherValue->type == ExprEngine::ValueType::BailoutValue) {
136136
overflowArgument = argnr;
@@ -141,7 +141,7 @@ static void bufferOverflow(const Token *tok, const ExprEngine::Value &value, Exp
141141
overflowArgument = argnr;
142142
break;
143143
}
144-
} else if (minsize.type == Library::ArgumentChecks::MinSize::STRLEN && minsize.arg > 0 && minsize.arg <= arguments.size()) {
144+
} else if (minsize.type == Library::ArgumentChecks::MinSize::Type::STRLEN && minsize.arg > 0 && minsize.arg <= arguments.size()) {
145145
if (func->formatstr) {
146146
// TODO: implement this properly. check if minsize refers to a format string and check max length of that..
147147
overflowArgument = argnr;
@@ -583,32 +583,32 @@ static void checkFunctionCall(const Token *tok, const ExprEngine::Value &value,
583583
bool err = false;
584584
std::string bad;
585585
switch (invalidArgValue.type) {
586-
case Library::InvalidArgValue::eq:
586+
case Library::InvalidArgValue::Type::eq:
587587
if (!tok->hasKnownIntValue() || tok->getKnownIntValue() == MathLib::toLongNumber(invalidArgValue.op1))
588588
err = value.isEqual(dataBase, MathLib::toLongNumber(invalidArgValue.op1));
589589
bad = "equals " + invalidArgValue.op1;
590590
break;
591-
case Library::InvalidArgValue::le:
591+
case Library::InvalidArgValue::Type::le:
592592
if (!tok->hasKnownIntValue() || tok->getKnownIntValue() <= MathLib::toLongNumber(invalidArgValue.op1))
593593
err = value.isLessThan(dataBase, MathLib::toLongNumber(invalidArgValue.op1) + 1);
594594
bad = "less equal " + invalidArgValue.op1;
595595
break;
596-
case Library::InvalidArgValue::lt:
596+
case Library::InvalidArgValue::Type::lt:
597597
if (!tok->hasKnownIntValue() || tok->getKnownIntValue() < MathLib::toLongNumber(invalidArgValue.op1))
598598
err = value.isLessThan(dataBase, MathLib::toLongNumber(invalidArgValue.op1));
599599
bad = "less than " + invalidArgValue.op1;
600600
break;
601-
case Library::InvalidArgValue::ge:
601+
case Library::InvalidArgValue::Type::ge:
602602
if (!tok->hasKnownIntValue() || tok->getKnownIntValue() >= MathLib::toLongNumber(invalidArgValue.op1))
603603
err = value.isGreaterThan(dataBase, MathLib::toLongNumber(invalidArgValue.op1) - 1);
604604
bad = "greater equal " + invalidArgValue.op1;
605605
break;
606-
case Library::InvalidArgValue::gt:
606+
case Library::InvalidArgValue::Type::gt:
607607
if (!tok->hasKnownIntValue() || tok->getKnownIntValue() > MathLib::toLongNumber(invalidArgValue.op1))
608608
err = value.isGreaterThan(dataBase, MathLib::toLongNumber(invalidArgValue.op1));
609609
bad = "greater than " + invalidArgValue.op1;
610610
break;
611-
case Library::InvalidArgValue::range:
611+
case Library::InvalidArgValue::Type::range:
612612
// TODO
613613
err = value.isEqual(dataBase, MathLib::toLongNumber(invalidArgValue.op1));
614614
err |= value.isEqual(dataBase, MathLib::toLongNumber(invalidArgValue.op2));

0 commit comments

Comments
 (0)