Restore display order for unevaluated defines

This commit is contained in:
GriffinR
2024-08-28 15:38:41 -04:00
parent 4b0d30fbc4
commit 869d0c7dec
2 changed files with 51 additions and 56 deletions

View File

@@ -54,9 +54,9 @@ public:
QString readCIncbin(const QString &text, const QString &label);
QMap<QString, QString> readCIncbinMulti(const QString &filepath);
QStringList readCIncbinArray(const QString &filename, const QString &label);
QMap<QString, int> readCDefinesByPrefix(const QString &filename, QStringList searchText);
QMap<QString, int> readCDefinesByName(const QString &filename, QStringList names);
QStringList readCDefineNames(const QString&, QStringList searchText);
QMap<QString, int> readCDefinesByPrefix(const QString &filename, const QStringList &searchText);
QMap<QString, int> readCDefinesByName(const QString &filename, const QStringList &names);
QStringList readCDefineNames(const QString&, const QStringList &searchText);
QMap<QString, QHash<QString, QString>> readCStructs(const QString &, const QString & = "", const QHash<int, QString> = { });
QList<QStringList> getLabelMacros(const QList<QStringList>&, const QString&);
QStringList getLabelValues(const QList<QStringList>&, const QString&);
@@ -97,9 +97,14 @@ private:
void recordErrors(const QStringList &errors);
void logRecordedErrors();
QString createErrorMessage(const QString &message, const QString &expression);
QMap<QString, QString> readCDefineExpressions(const QString &filename);
QMap<QString,QString> filterCDefineExpressions(const QMap<QString,QString> &allExpressions, QStringList searchText, bool fullMatch);
QMap<QString, int> evaluateCDefines(const QString &filename, const QStringList &searchText, bool fullMatch);
struct ParsedDefines {
QMap<QString,QString> expressions; // Map of all define names->expressions encountered
QStringList filteredNames; // Define names matching the search text in the order they were encountered in the file
};
ParsedDefines readCDefines(const QString &filename, const QStringList &filterList, bool fullMatch);
QMap<QString, int> evaluateCDefines(const QString &filename, const QStringList &filterList, bool fullMatch);
bool defineNameMatchesFilter(const QString &name, const QStringList &filterList, bool fullMatch);
static const QRegularExpression re_incScriptLabel;
static const QRegularExpression re_globalIncScriptLabel;