/// <summary> /// Parses the specified C++ header file and fills the <see cref="CppModule"/> with defined macros. /// </summary> /// <param name="file">The C++ header file to parse.</param> /// <param name="group">The CppModule object to fill with macro definitions.</param> public void Parse(string file, CppModule group) { _gccxml.Preprocess(file, ParseLine); foreach (var includeName in _mapIncludeToMacros.Keys) { var includeId = Path.GetFileNameWithoutExtension(includeName); var include = group.FindInclude(includeId); if (include == null) { include = new CppInclude { Name = includeId }; group.Add(include); } foreach (var macroDefinition in _mapIncludeToMacros[includeName]) { include.Add(new CppDefine(macroDefinition.Key, macroDefinition.Value)); } } }