summaryrefslogtreecommitdiff
path: root/Build/tools/bindingGen
diff options
context:
space:
mode:
Diffstat (limited to 'Build/tools/bindingGen')
-rw-r--r--Build/tools/bindingGen/App.config6
-rw-r--r--Build/tools/bindingGen/Properties/AssemblyInfo.cs36
-rw-r--r--Build/tools/bindingGen/bin/Debug/bindingGen.exebin0 -> 9216 bytes
-rw-r--r--Build/tools/bindingGen/bin/Debug/bindingGen.exe.config6
-rw-r--r--Build/tools/bindingGen/bin/Release/bindingGen.exebin0 -> 9216 bytes
-rw-r--r--Build/tools/bindingGen/bin/Release/bindingGen.exe.config6
-rw-r--r--Build/tools/bindingGen/bindingGen.csproj53
-rw-r--r--Build/tools/bindingGen/bindingGen.csproj.user11
-rw-r--r--Build/tools/bindingGen/main.cs282
-rw-r--r--Build/tools/bindingGen/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cachebin0 -> 6807 bytes
-rw-r--r--Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs0
-rw-r--r--Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs0
-rw-r--r--Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs0
-rw-r--r--Build/tools/bindingGen/obj/Debug/bindingGen.csproj.FileListAbsolute.txt10
-rw-r--r--Build/tools/bindingGen/obj/Release/DesignTimeResolveAssemblyReferencesInput.cachebin0 -> 6726 bytes
-rw-r--r--Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs0
-rw-r--r--Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs0
-rw-r--r--Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs0
-rw-r--r--Build/tools/bindingGen/obj/Release/bindingGen.csproj.CoreCompileInputs.cache1
-rw-r--r--Build/tools/bindingGen/obj/Release/bindingGen.csproj.FileListAbsolute.txt3
-rw-r--r--Build/tools/bindingGen/obj/Release/bindingGen.csprojAssemblyReference.cachebin0 -> 8077 bytes
-rw-r--r--Build/tools/bindingGen/obj/Release/bindingGen.exebin0 -> 9216 bytes
22 files changed, 414 insertions, 0 deletions
diff --git a/Build/tools/bindingGen/App.config b/Build/tools/bindingGen/App.config
new file mode 100644
index 0000000..731f6de
--- /dev/null
+++ b/Build/tools/bindingGen/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
+ </startup>
+</configuration> \ No newline at end of file
diff --git a/Build/tools/bindingGen/Properties/AssemblyInfo.cs b/Build/tools/bindingGen/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..1244da3
--- /dev/null
+++ b/Build/tools/bindingGen/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("bindingGen")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("bindingGen")]
+[assembly: AssemblyCopyright("Copyright © 2019")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("95cac424-d558-43d0-88b0-c67af1c4ee90")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
+// 方法是按如下所示使用“*”: :
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Build/tools/bindingGen/bin/Debug/bindingGen.exe b/Build/tools/bindingGen/bin/Debug/bindingGen.exe
new file mode 100644
index 0000000..ad0ab9e
--- /dev/null
+++ b/Build/tools/bindingGen/bin/Debug/bindingGen.exe
Binary files differ
diff --git a/Build/tools/bindingGen/bin/Debug/bindingGen.exe.config b/Build/tools/bindingGen/bin/Debug/bindingGen.exe.config
new file mode 100644
index 0000000..731f6de
--- /dev/null
+++ b/Build/tools/bindingGen/bin/Debug/bindingGen.exe.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
+ </startup>
+</configuration> \ No newline at end of file
diff --git a/Build/tools/bindingGen/bin/Release/bindingGen.exe b/Build/tools/bindingGen/bin/Release/bindingGen.exe
new file mode 100644
index 0000000..c61ceae
--- /dev/null
+++ b/Build/tools/bindingGen/bin/Release/bindingGen.exe
Binary files differ
diff --git a/Build/tools/bindingGen/bin/Release/bindingGen.exe.config b/Build/tools/bindingGen/bin/Release/bindingGen.exe.config
new file mode 100644
index 0000000..731f6de
--- /dev/null
+++ b/Build/tools/bindingGen/bin/Release/bindingGen.exe.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
+ </startup>
+</configuration> \ No newline at end of file
diff --git a/Build/tools/bindingGen/bindingGen.csproj b/Build/tools/bindingGen/bindingGen.csproj
new file mode 100644
index 0000000..c787d56
--- /dev/null
+++ b/Build/tools/bindingGen/bindingGen.csproj
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{95CAC424-D558-43D0-88B0-C67AF1C4EE90}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>bindingGen</RootNamespace>
+ <AssemblyName>bindingGen</AssemblyName>
+ <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>..\..\..\bin\win64\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>..\..\..\bin\win64\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="main.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="App.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project> \ No newline at end of file
diff --git a/Build/tools/bindingGen/bindingGen.csproj.user b/Build/tools/bindingGen/bindingGen.csproj.user
new file mode 100644
index 0000000..150d1c7
--- /dev/null
+++ b/Build/tools/bindingGen/bindingGen.csproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
+ <StartArguments>
+ </StartArguments>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
+ <StartArguments>
+ </StartArguments>
+ </PropertyGroup>
+</Project> \ No newline at end of file
diff --git a/Build/tools/bindingGen/main.cs b/Build/tools/bindingGen/main.cs
new file mode 100644
index 0000000..f58b846
--- /dev/null
+++ b/Build/tools/bindingGen/main.cs
@@ -0,0 +1,282 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Text.RegularExpressions;
+using System.IO;
+
+namespace bindingGen
+{
+ /// <summary>
+ /// 输入目录,在目录下生成./binding目录,存放导出的binding代码
+ /// </summary>
+ class Program
+ {
+ // {0} 文件名
+ // {1} 第一个名称空间
+ // {2} 第二个名称空间
+ // {3} 内容
+ static string output = @"#include ""../{0}.h""
+
+using namespace std;
+using namespace Luax;
+
+namespace {1}
+{{
+ namespace {2}
+ {{
+ {3}
+ }}
+}}
+";
+
+ // {0} 类名
+ // {1} 内容
+ static string registry = @"
+ LUAX_REGISTRY({0})
+ {{
+{1}
+ }}
+";
+
+ // {0} 类名
+ // {1} 内容
+ static string postprocess = @"
+ LUAX_POSTPROCESS({0})
+ {{
+{1}
+ }}
+";
+
+ // {0} 类名
+ // {1} 去掉_的函数名
+ // {2} 小写的类名
+ static string method = @"
+ // {2}:{1}()
+ LUAX_IMPL_METHOD({0}, _{1})
+ {{
+ LUAX_PREPARE(L, {0});
+
+ return 0;
+ }}
+";
+ // {0} 类名
+ // {1} 去掉_的函数名
+ static string method_new = @"
+ // {0}.{1}()
+ LUAX_IMPL_METHOD({0}, _{1})
+ {{
+ LUAX_STATE(L);
+
+ return 0;
+ }}
+";
+
+ static string make_register_methods(MatchCollection methods)
+ {
+ if (methods.Count == 0)
+ return "";
+ string register_methods = "";
+ register_methods += "\t\t\tLUAX_REGISTER_METHODS(state,\n";
+ int maxlen = 0;
+ foreach (var m in methods)
+ {
+ string method = m.ToString();
+ if (method.Count() > maxlen)
+ maxlen = method.Count();
+ }
+ for (int i = 0; i < methods.Count; ++i)
+ {
+ Match m = methods[i];
+ string method = m.ToString();
+ register_methods += "\t\t\t\t";
+ register_methods += "{ ";
+ register_methods += ('"' + method.Substring(1, method.Count() - 1) + "\",").PadRight(maxlen + 3, ' ');
+ register_methods += method.PadRight(maxlen + 1, ' ');
+ register_methods += "}";
+ if (i != methods.Count - 1)
+ register_methods += ',';
+ register_methods += '\n';
+ }
+ register_methods += "\t\t\t);";
+ return register_methods;
+ }
+
+ static string make_impl_methods(MatchCollection mc, string cname)
+ {
+ if (mc.Count == 0)
+ return "";
+
+ string methods = "";
+
+ foreach (var m in mc)
+ {
+ string name = m.ToString();
+ if (name != "_New")
+ {
+ methods += String.Format(method, cname, name.Substring(1, name.Count() - 1), cname.ToLower());
+ }
+ else
+ {
+ methods += String.Format(method_new, cname, name.Substring(1, name.Count() - 1));
+ }
+ }
+
+ return methods;
+ }
+
+ static int IndexOfChar(string str, char c, int n)
+ {
+ int j = 0;
+ for (int i = 0; i < str.Count(); ++i)
+ {
+ char ch = str[i];
+ if (ch == c)
+ {
+ if (j == n)
+ return i;
+ ++j;
+ }
+ }
+ return -1;
+ }
+
+ static string make_register_enum(MatchCollection mc, string src)
+ {
+ if (mc.Count == 0)
+ return "";
+
+ string reg_enum_l = @"(?<=enum\s*";
+ string reg_enum_r = @"[\s\n]*\{((?!\})[\s\S])*\s)[A-Z_0-9]+(?=[\s\=,]+)";
+ string enums = "";
+
+ // 尝试查找下划线索引号,如果没有,代表这个枚举字符串全部都是key
+ string reg_under_line_l = @"(?<=LUAX_DECL_ENUM\s*\(\s*";
+ string reg_under_line_r = @"\s*,\s*)[0-9]+(?=\s*\))";
+
+ foreach (var m in mc)
+ {
+ string name = m.ToString();
+ enums += "\t\t\tLUAX_REGISTER_ENUM(state, ";
+ enums += "\"E" + name + "\",\n";
+ MatchCollection values = Regex.Matches(src, reg_enum_l + name + reg_enum_r);
+ string[] enames = new string[values.Count];
+ string[] keys = new string[values.Count];
+ int underline_index = -1;
+ Match underline = Regex.Match(src, reg_under_line_l + name + reg_under_line_r);
+ if (underline.Success)
+ {
+ underline_index = int.Parse(underline.ToString());
+ }
+ int maxEname = 0, maxKey = 0;
+ for (int i = 0; i < values.Count; ++i)
+ {
+ enames[i] = values[i].ToString();
+ if(underline_index != -1)
+ {
+ int start = IndexOfChar(enames[i], '_', underline_index) + 1;
+ keys[i] = enames[i].Substring(start, enames[i].Count() - start);
+ }
+ else
+ {
+ // 表明全部都是key
+ keys[i] = enames[i];
+ }
+ if (enames[i].Count() > maxEname) maxEname = enames[i].Count();
+ if (keys[i].Count() > maxKey) maxKey = keys[i].Count();
+ }
+ for (int i = 0; i < values.Count; ++i)
+ {
+ enums += "\t\t\t\t{ ";
+ enums += ('"' + keys[i] + "\",").PadRight(maxKey + 4);
+ enums += enames[i].PadRight(maxEname + 1);
+ enums += "}";
+ if (i != values.Count - 1)
+ enums += ",";
+ enums += "\n";
+ }
+ enums += "\t\t\t);\n";
+ }
+ return enums;
+ }
+
+ /// <summary>
+ /// 用法:
+ /// bindingGen <目录>
+ /// </summary>
+ /// <param name="args"></param>
+ static void Main(string[] args)
+ {
+ if (args.Length < 1)
+ return;
+
+ string dir = args[0];
+
+ Console.WriteLine("源目录: " + dir);
+
+ if (!Directory.Exists(dir))
+ return;
+
+ string reg_class = @"(?<=Portable\<)[0-9a-zA-Z]+(?=\>)";
+ string reg_abclass = @"(?<=LUAX_DECL_ABSTRACT_FACTORY\s*\(\s*)[0-9a-zA-Z]+(?=\s*\))";
+ string reg_methods = @"(?<=LUAX_DECL_METHOD\()[0-9a-zA-Z_]+(?=\))";
+ string reg_enums = @"(?<=LUAX_DECL_ENUM\()[0-9a-zA-Z_]+(?=\s*[\),]+)";
+ string reg_namespace = @"(?<=namespace\s)[0-9a-zA-Z]+(?=[\s\n]*\{)";
+
+ if (!Directory.Exists(dir + "/binding"))
+ {
+ Directory.CreateDirectory(dir + "/binding");
+ }
+
+ string[] files = Directory.GetFiles(dir);
+ for (int i = 0; i < files.Count(); ++i)
+ {
+ string file = files[i];
+ if (!File.Exists(file))
+ continue;
+ file = file.Replace('\\', '/');
+ string name = file.Substring(file.LastIndexOf('/') + 1, file.LastIndexOf('.') - file.LastIndexOf('/') - 1);
+ string bindingFile = dir + "/binding/_" + name + ".cpp";
+ if (File.Exists(bindingFile))
+ continue;
+ string code = File.ReadAllText(file);
+ // 工厂和单例
+ Match m = Regex.Match(code, reg_class);
+ string className = "";
+ if (m.Success)
+ {
+ className = m.ToString();
+ }
+ if (!m.Success)
+ {
+ // 抽象类,不会继承Portable模板
+ Match abstract_m = Regex.Match(code, reg_abclass);
+ if (!abstract_m.Success)
+ continue;
+ className = abstract_m.ToString();
+ }
+ MatchCollection mc = Regex.Matches(code, reg_namespace);
+ // 应该两个名称空间
+ if (mc.Count != 2)
+ {
+ Console.WriteLine("Error: 源文件没有两个名称空间 " + file);
+ continue;
+ }
+ string namespace1 = mc[0].ToString();
+ string namespace2 = mc[1].ToString();
+ // 名称空间内的内容
+ string content = "";
+ mc = Regex.Matches(code, reg_methods);
+ content += String.Format(registry, className, make_register_methods(mc));
+ mc = Regex.Matches(code, reg_enums);
+ content += String.Format(postprocess, className, make_register_enum(mc, code));
+ mc = Regex.Matches(code, reg_methods);
+ content += make_impl_methods(mc, className);
+ string binding = String.Format(output, name, namespace1, namespace2, content);
+ Console.WriteLine("输出: " + bindingFile);
+ File.WriteAllText(bindingFile, binding);
+ }
+ }
+ }
+}
diff --git a/Build/tools/bindingGen/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Build/tools/bindingGen/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..78a75d8
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
diff --git a/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
diff --git a/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
diff --git a/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
diff --git a/Build/tools/bindingGen/obj/Debug/bindingGen.csproj.FileListAbsolute.txt b/Build/tools/bindingGen/obj/Debug/bindingGen.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..c868e47
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Debug/bindingGen.csproj.FileListAbsolute.txt
@@ -0,0 +1,10 @@
+D:\Asura\build\tools\bindingGen\bin\Debug\bindingGen.exe.config
+D:\Asura\build\tools\bindingGen\bin\Debug\bindingGen.exe
+D:\Asura\build\tools\bindingGen\bin\Debug\bindingGen.pdb
+D:\Documents\VisualStudio2017\Projects\Asura\bin\win64\bindingGen.exe.config
+D:\Documents\VisualStudio2017\Projects\Asura\bin\win64\bindingGen.exe
+D:\Documents\VisualStudio2017\Projects\Asura\bin\win64\bindingGen.pdb
+D:\Documents\VisualStudio2017\Projects\Asura\Build\tools\bindingGen\obj\Debug\bindingGen.csprojAssemblyReference.cache
+D:\Documents\VisualStudio2017\Projects\Asura\Build\tools\bindingGen\obj\Debug\bindingGen.csproj.CoreCompileInputs.cache
+D:\Documents\VisualStudio2017\Projects\Asura\Build\tools\bindingGen\obj\Debug\bindingGen.exe
+D:\Documents\VisualStudio2017\Projects\Asura\Build\tools\bindingGen\obj\Debug\bindingGen.pdb
diff --git a/Build/tools/bindingGen/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/Build/tools/bindingGen/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..06f4073
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
diff --git a/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
diff --git a/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
diff --git a/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
diff --git a/Build/tools/bindingGen/obj/Release/bindingGen.csproj.CoreCompileInputs.cache b/Build/tools/bindingGen/obj/Release/bindingGen.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..93b7e43
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Release/bindingGen.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+76869cb9eeaafde93fc35e764d87dc7f1f272b2f
diff --git a/Build/tools/bindingGen/obj/Release/bindingGen.csproj.FileListAbsolute.txt b/Build/tools/bindingGen/obj/Release/bindingGen.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..eb453d0
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Release/bindingGen.csproj.FileListAbsolute.txt
@@ -0,0 +1,3 @@
+D:\Asura\build\tools\bindingGen\bin\Release\bindingGen.exe.config
+D:\Asura\build\tools\bindingGen\bin\Release\bindingGen.exe
+D:\Asura\build\tools\bindingGen\bin\Release\bindingGen.pdb
diff --git a/Build/tools/bindingGen/obj/Release/bindingGen.csprojAssemblyReference.cache b/Build/tools/bindingGen/obj/Release/bindingGen.csprojAssemblyReference.cache
new file mode 100644
index 0000000..d31b6fe
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Release/bindingGen.csprojAssemblyReference.cache
Binary files differ
diff --git a/Build/tools/bindingGen/obj/Release/bindingGen.exe b/Build/tools/bindingGen/obj/Release/bindingGen.exe
new file mode 100644
index 0000000..c61ceae
--- /dev/null
+++ b/Build/tools/bindingGen/obj/Release/bindingGen.exe
Binary files differ