Browse Source

Fix warnings about unnecessary using directives. (#1489)

pull/1491/head
josetr 5 years ago committed by GitHub
parent
commit
2e80565bb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      src/Generator/Generators/CSharp/CSharpSources.cs
  2. 3
      tests/NamespacesDerived/NamespacesDerived.cs

15
src/Generator/Generators/CSharp/CSharpSources.cs

@ -153,18 +153,21 @@ namespace CppSharp.Generators.CSharp @@ -153,18 +153,21 @@ namespace CppSharp.Generators.CSharp
public virtual void GenerateUsings()
{
PushBlock(BlockKind.Usings);
WriteLine("using System;");
WriteLine("using System.Runtime.InteropServices;");
WriteLine("using System.Security;");
var requiredNameSpaces = new List<string> {
"System",
"System.Runtime.InteropServices",
"System.Security",
};
var internalsVisibleTo = (from m in Options.Modules
where m.Dependencies.Contains(Module)
select m.LibraryName).ToList();
if (internalsVisibleTo.Any())
WriteLine("using System.Runtime.CompilerServices;");
requiredNameSpaces.Add("System.Runtime.CompilerServices");
foreach (var customUsingStatement in Options.DependentNameSpaces)
WriteLine("using {0};", customUsingStatement);
foreach (var @namespace in requiredNameSpaces.Union(Options.DependentNameSpaces).OrderBy(x => x))
WriteLine($"using {@namespace};");
WriteLine("using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention;");
WriteLine("using __IntPtr = global::System.IntPtr;");

3
tests/NamespacesDerived/NamespacesDerived.cs

@ -18,7 +18,7 @@ namespace CppSharp.Tests @@ -18,7 +18,7 @@ namespace CppSharp.Tests
base.Setup(driver);
driver.Options.GenerateDefaultValuesForArguments = true;
driver.Options.GenerateClassTemplates = true;
driver.Options.DependentNameSpaces.Add("System.Runtime.CompilerServices");
driver.Options.Modules[1].IncludeDirs.Add(GetTestsDirectory("NamespacesDerived"));
var @base = "NamespacesBase";
var module = driver.Options.AddModule(@base);
@ -35,7 +35,6 @@ namespace CppSharp.Tests @@ -35,7 +35,6 @@ namespace CppSharp.Tests
driver.Generator.OnUnitGenerated += o =>
{
Block firstBlock = o.Outputs[0].RootBlock.Blocks[1];
firstBlock.WriteLine("using System.Runtime.CompilerServices;");
firstBlock.NewLine();
firstBlock.WriteLine("[assembly:InternalsVisibleTo(\"NamespacesDerived.CSharp\")]");
};

Loading…
Cancel
Save