瀏覽代碼

IDL: Avoid name collisions.

Бранимир Караџић 6 年之前
父節點
當前提交
1725b1c93d
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      scripts/csharp.lua

+ 8 - 2
scripts/csharp.lua

@@ -133,7 +133,7 @@ local function FlagBlock(typ)
 	end
 
 	yield("[Flags]")
-	yield("public enum " .. typ.name .. enumType)
+	yield("public enum " .. typ.name .. "Flags" .. enumType)
 	yield("{")
 
 	for _, flag in ipairs(typ.flag) do
@@ -237,7 +237,13 @@ function converter.types(typ)
 			FlagBlock(typ)
 		end
 	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("{")
 
 		for _, member in ipairs(typ.struct) do