From ccfa317486199d4fe97cac08bbe37e498651589f Mon Sep 17 00:00:00 2001 From: Spencer Bench Date: Wed, 29 Mar 2017 12:09:25 -0600 Subject: [PATCH] C#: Fixed possible conflicts between usings and user-supplied namespace (#4247) * C#: Fixed possible conflicts between usings and user-supplied namespace C#: Added the global qualifier to using directives to prevent possible conflicts with the user-supplied namespace. Also prevents unintentional type hiding. Resolves issue #4242. * Updated C# generated code files --- src/idl_gen_general.cpp | 2 +- tests/MyGame/Example/Monster.cs | 4 ++-- tests/MyGame/Example/Stat.cs | 4 ++-- tests/MyGame/Example/Test.cs | 4 ++-- tests/MyGame/Example/TestSimpleTableWithEnum.cs | 4 ++-- tests/MyGame/Example/Vec3.cs | 4 ++-- tests/MyGame/Example2/Monster.cs | 4 ++-- .../namespace_test/NamespaceA/NamespaceB/StructInNestedNS.cs | 4 ++-- tests/namespace_test/NamespaceA/NamespaceB/TableInNestedNS.cs | 4 ++-- tests/namespace_test/NamespaceA/SecondTableInA.cs | 4 ++-- tests/namespace_test/NamespaceA/TableInFirstNS.cs | 4 ++-- tests/namespace_test/NamespaceC/TableInC.cs | 4 ++-- 12 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/idl_gen_general.cpp b/src/idl_gen_general.cpp index 8ca39f0f7..1e9f3b6a1 100644 --- a/src/idl_gen_general.cpp +++ b/src/idl_gen_general.cpp @@ -128,7 +128,7 @@ const LanguageParameters& GetLangParams(IDLOptions::Language lang) { "__p.", "Table.", "?", - "using System;\nusing FlatBuffers;\n\n", + "using global::System;\nusing global::FlatBuffers;\n\n", { nullptr, "///", diff --git a/tests/MyGame/Example/Monster.cs b/tests/MyGame/Example/Monster.cs index 1c473f309..8f76cfd8a 100644 --- a/tests/MyGame/Example/Monster.cs +++ b/tests/MyGame/Example/Monster.cs @@ -3,8 +3,8 @@ namespace MyGame.Example { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; /// an example documentation comment: monster object public struct Monster : IFlatbufferObject diff --git a/tests/MyGame/Example/Stat.cs b/tests/MyGame/Example/Stat.cs index 0fb5bd0f2..1ea805016 100644 --- a/tests/MyGame/Example/Stat.cs +++ b/tests/MyGame/Example/Stat.cs @@ -3,8 +3,8 @@ namespace MyGame.Example { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public struct Stat : IFlatbufferObject { diff --git a/tests/MyGame/Example/Test.cs b/tests/MyGame/Example/Test.cs index 92c3b912c..406f5f137 100644 --- a/tests/MyGame/Example/Test.cs +++ b/tests/MyGame/Example/Test.cs @@ -3,8 +3,8 @@ namespace MyGame.Example { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public struct Test : IFlatbufferObject { diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.cs b/tests/MyGame/Example/TestSimpleTableWithEnum.cs index bff386407..3d2a3f443 100644 --- a/tests/MyGame/Example/TestSimpleTableWithEnum.cs +++ b/tests/MyGame/Example/TestSimpleTableWithEnum.cs @@ -3,8 +3,8 @@ namespace MyGame.Example { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public partial struct TestSimpleTableWithEnum : IFlatbufferObject { diff --git a/tests/MyGame/Example/Vec3.cs b/tests/MyGame/Example/Vec3.cs index 055254343..6ea4b0ee7 100644 --- a/tests/MyGame/Example/Vec3.cs +++ b/tests/MyGame/Example/Vec3.cs @@ -3,8 +3,8 @@ namespace MyGame.Example { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public struct Vec3 : IFlatbufferObject { diff --git a/tests/MyGame/Example2/Monster.cs b/tests/MyGame/Example2/Monster.cs index 2a0b6de4c..406c4bd87 100644 --- a/tests/MyGame/Example2/Monster.cs +++ b/tests/MyGame/Example2/Monster.cs @@ -3,8 +3,8 @@ namespace MyGame.Example2 { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public struct Monster : IFlatbufferObject { diff --git a/tests/namespace_test/NamespaceA/NamespaceB/StructInNestedNS.cs b/tests/namespace_test/NamespaceA/NamespaceB/StructInNestedNS.cs index 508895f58..bb627ad32 100644 --- a/tests/namespace_test/NamespaceA/NamespaceB/StructInNestedNS.cs +++ b/tests/namespace_test/NamespaceA/NamespaceB/StructInNestedNS.cs @@ -3,8 +3,8 @@ namespace NamespaceA.NamespaceB { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public struct StructInNestedNS : IFlatbufferObject { diff --git a/tests/namespace_test/NamespaceA/NamespaceB/TableInNestedNS.cs b/tests/namespace_test/NamespaceA/NamespaceB/TableInNestedNS.cs index a2a1c0be7..c33d1fbca 100644 --- a/tests/namespace_test/NamespaceA/NamespaceB/TableInNestedNS.cs +++ b/tests/namespace_test/NamespaceA/NamespaceB/TableInNestedNS.cs @@ -3,8 +3,8 @@ namespace NamespaceA.NamespaceB { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public struct TableInNestedNS : IFlatbufferObject { diff --git a/tests/namespace_test/NamespaceA/SecondTableInA.cs b/tests/namespace_test/NamespaceA/SecondTableInA.cs index 204882884..f28ed8604 100644 --- a/tests/namespace_test/NamespaceA/SecondTableInA.cs +++ b/tests/namespace_test/NamespaceA/SecondTableInA.cs @@ -3,8 +3,8 @@ namespace NamespaceA { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public struct SecondTableInA : IFlatbufferObject { diff --git a/tests/namespace_test/NamespaceA/TableInFirstNS.cs b/tests/namespace_test/NamespaceA/TableInFirstNS.cs index 3b5659af4..20f4b4be3 100644 --- a/tests/namespace_test/NamespaceA/TableInFirstNS.cs +++ b/tests/namespace_test/NamespaceA/TableInFirstNS.cs @@ -3,8 +3,8 @@ namespace NamespaceA { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public struct TableInFirstNS : IFlatbufferObject { diff --git a/tests/namespace_test/NamespaceC/TableInC.cs b/tests/namespace_test/NamespaceC/TableInC.cs index fa53ec524..c7f2c8a78 100644 --- a/tests/namespace_test/NamespaceC/TableInC.cs +++ b/tests/namespace_test/NamespaceC/TableInC.cs @@ -3,8 +3,8 @@ namespace NamespaceC { -using System; -using FlatBuffers; +using global::System; +using global::FlatBuffers; public struct TableInC : IFlatbufferObject {