Bläddra i källkod

IDL: Avoid name collisions.

Бранимир Караџић 6 år sedan
förälder
incheckning
1725b1c93d
1 ändrade filer med 8 tillägg och 2 borttagningar
  1. 8 2
      scripts/csharp.lua

+ 8 - 2
scripts/csharp.lua

@@ -133,7 +133,7 @@ local function FlagBlock(typ)
 	end
 	end
 
 
 	yield("[Flags]")
 	yield("[Flags]")
-	yield("public enum " .. typ.name .. enumType)
+	yield("public enum " .. typ.name .. "Flags" .. enumType)
 	yield("{")
 	yield("{")
 
 
 	for _, flag in ipairs(typ.flag) do
 	for _, flag in ipairs(typ.flag) do
@@ -237,7 +237,13 @@ function converter.types(typ)
 			FlagBlock(typ)
 			FlagBlock(typ)
 		end
 		end
 	elseif typ.struct ~= nil then
 	elseif typ.struct ~= nil then
-		yield("public unsafe struct " .. typ.name)
+
+		if typ.namespace ~= nil then
+			yield("public unsafe struct " .. typ.namespace .. typ.name)
+		else
+			yield("public unsafe struct " .. typ.name)
+		end
+
 		yield("{")
 		yield("{")
 
 
 		for _, member in ipairs(typ.struct) do
 		for _, member in ipairs(typ.struct) do