Browse Source

Handled same named files at different paths when renaming root name-spaces.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/658/head
Dimitar Dobrev 10 years ago
parent
commit
4617815d4b
  1. 8
      src/Generator/Passes/RenameRootNamespaces.cs

8
src/Generator/Passes/RenameRootNamespaces.cs

@ -14,17 +14,17 @@ namespace CppSharp.Passes
if (!base.VisitTranslationUnit(unit) || !unit.IsValid || unit.IsSystemHeader) if (!base.VisitTranslationUnit(unit) || !unit.IsValid || unit.IsSystemHeader)
return false; return false;
var fileName = unit.TranslationUnit.FileName; var filePath = unit.TranslationUnit.FilePath;
if (rootNamespaceRenames.ContainsKey(fileName)) if (rootNamespaceRenames.ContainsKey(filePath))
{ {
var rootNamespace = rootNamespaceRenames[fileName]; var rootNamespace = rootNamespaceRenames[filePath];
unit.Name = rootNamespace; unit.Name = rootNamespace;
} }
else if (unit.GenerationKind == GenerationKind.Generate) else if (unit.GenerationKind == GenerationKind.Generate)
{ {
if (Driver.Options.IsCSharpGenerator) if (Driver.Options.IsCSharpGenerator)
unit.Name = unit.Module.OutputNamespace; unit.Name = unit.Module.OutputNamespace;
rootNamespaceRenames.Add(fileName, unit.Module.OutputNamespace); rootNamespaceRenames.Add(filePath, unit.Module.OutputNamespace);
} }
return true; return true;
} }

Loading…
Cancel
Save