diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs index dc3e09b8f..6f7cba455 100644 --- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs +++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.CSharp.cs @@ -1005,6 +1005,8 @@ namespace Flax.Build.Bindings contents.Append("out "); else if (parameterInfo.IsRef) contents.Append("ref "); + else if (parameterInfo.IsThis) + contents.Append("this "); contents.Append(managedType); contents.Append(' '); contents.Append(parameterInfo.Name); @@ -1064,6 +1066,8 @@ namespace Flax.Build.Bindings contents.Append("out "); else if (parameterInfo.IsRef) contents.Append("ref "); + else if (parameterInfo.IsThis) + contents.Append("this "); contents.Append(managedType); contents.Append(' '); contents.Append(parameterInfo.Name); @@ -1374,6 +1378,8 @@ namespace Flax.Build.Bindings contents.Append("out "); else if (parameterInfo.IsRef) contents.Append("ref "); + else if (parameterInfo.IsThis) + contents.Append("this "); contents.Append(managedType); contents.Append(' '); contents.Append(parameterInfo.Name); diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs index 0f0b011a0..d1aba9162 100644 --- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs +++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cache.cs @@ -19,7 +19,7 @@ namespace Flax.Build.Bindings partial class BindingsGenerator { private static readonly Dictionary TypeCache = new Dictionary(); - private const int CacheVersion = 17; + private const int CacheVersion = 18; internal static void Write(BinaryWriter writer, string e) { diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Parsing.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Parsing.cs index bca9b2d9d..b09b0c137 100644 --- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Parsing.cs +++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Parsing.cs @@ -334,6 +334,9 @@ namespace Flax.Build.Bindings case "out": currentParam.IsOut = true; break; + case "this": + currentParam.IsThis = true; + break; case "attributes": currentParam.Attributes = tag.Value; break; diff --git a/Source/Tools/Flax.Build/Bindings/FunctionInfo.cs b/Source/Tools/Flax.Build/Bindings/FunctionInfo.cs index efadd193e..69ebe8580 100644 --- a/Source/Tools/Flax.Build/Bindings/FunctionInfo.cs +++ b/Source/Tools/Flax.Build/Bindings/FunctionInfo.cs @@ -18,6 +18,7 @@ namespace Flax.Build.Bindings public string Attributes; public bool IsRef; public bool IsOut; + public bool IsThis; public bool HasDefaultValue => !string.IsNullOrEmpty(DefaultValue); @@ -35,6 +36,7 @@ namespace Flax.Build.Bindings // TODO: convert into flags writer.Write(IsRef); writer.Write(IsOut); + writer.Write(IsThis); } public void Read(BinaryReader reader) @@ -46,6 +48,7 @@ namespace Flax.Build.Bindings // TODO: convert into flags IsRef = reader.ReadBoolean(); IsOut = reader.ReadBoolean(); + IsThis = reader.ReadBoolean(); } public override string ToString()