Browse Source

Added `PrintModuleOutputNamespace` option to `CSharpTypePrinter`.

pull/1177/head
Joao Matos 7 years ago committed by João Matos
parent
commit
d773b4bc9f
  1. 5
      src/Generator/Generators/CSharp/CSharpTypePrinter.cs

5
src/Generator/Generators/CSharp/CSharpTypePrinter.cs

@ -20,6 +20,8 @@ namespace CppSharp.Generators.CSharp
public DriverOptions Options => Context.Options; public DriverOptions Options => Context.Options;
public TypeMapDatabase TypeMapDatabase => Context.TypeMaps; public TypeMapDatabase TypeMapDatabase => Context.TypeMaps;
public bool PrintModuleOutputNamespace = true;
public CSharpTypePrinter(BindingContext context) public CSharpTypePrinter(BindingContext context)
{ {
Context = context; Context = context;
@ -646,10 +648,13 @@ namespace CppSharp.Generators.CSharp
ctx = ctx.Namespace; ctx = ctx.Namespace;
} }
if (PrintModuleOutputNamespace)
{
var unit = ctx.TranslationUnit; var unit = ctx.TranslationUnit;
if (!unit.IsSystemHeader && unit.IsValid && if (!unit.IsSystemHeader && unit.IsValid &&
!string.IsNullOrWhiteSpace(unit.Module.OutputNamespace)) !string.IsNullOrWhiteSpace(unit.Module.OutputNamespace))
names.Push(unit.Module.OutputNamespace); names.Push(unit.Module.OutputNamespace);
}
return QualifiedType(string.Join(".", names)); return QualifiedType(string.Join(".", names));
} }

Loading…
Cancel
Save