ignore preprocessor lines which #define a symbol to 'nothing'

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2008-09-21 21:11:31 +00:00
parent c48d0d37c2
commit 0d2f4076e0

View File

@@ -537,11 +537,13 @@ bool IfaceCheckApp::ParsePreprocessorOutput(const wxString& filename)
// the format of this line should be:
// #define DEFNAME DEFVALUE
if (!line.StartsWith("#define ") || !defnameval.Contains(" ")) {
LogError("unexpected content in '%s' at line %d.", filename, i);
if (!line.StartsWith("#define ")) {
LogError("unexpected content in '%s' at line %d.", filename, i+1);
return false;
}
if (defnameval.Contains(" "))
{
// get DEFNAME
wxString defname = defnameval.BeforeFirst(' ');
if (defname.Contains("("))
@@ -556,6 +558,14 @@ bool IfaceCheckApp::ParsePreprocessorOutput(const wxString& filename)
m_doxyInterface.AddPreprocessorValue(defname, defval);
useful++;
}
else
{
// it looks like the format of this line is:
// #define DEFNAME
// we are not interested to symbols #defined to nothing,
// so we just ignore this line.
}
}
LogMessage("Parsed %d preprocessor #defines from '%s' which will be used later...",
useful, filename);