Add internal access level to Scripting API members (field, properties and functions)

This commit is contained in:
Wojtek Figat
2023-09-19 20:39:48 +02:00
parent 1c246db400
commit f845344d03
3 changed files with 26 additions and 14 deletions

View File

@@ -873,6 +873,8 @@ namespace Flax.Build.Bindings
return "protected "; return "protected ";
if (access == AccessLevel.Private) if (access == AccessLevel.Private)
return "private "; return "private ";
if (access == AccessLevel.Internal)
return "internal ";
return "public "; return "public ";
} }
@@ -1470,13 +1472,7 @@ namespace Flax.Build.Bindings
else else
originalType = type = GenerateCSharpNativeToManaged(buildData, fieldInfo.Type, structureInfo); originalType = type = GenerateCSharpNativeToManaged(buildData, fieldInfo.Type, structureInfo);
contents.Append(indent); contents.Append(indent).Append(GenerateCSharpAccessLevel(fieldInfo.Access));
if (fieldInfo.Access == AccessLevel.Public)
contents.Append("public ");
else if (fieldInfo.Access == AccessLevel.Protected)
contents.Append("protected ");
else if (fieldInfo.Access == AccessLevel.Private)
contents.Append("private ");
if (fieldInfo.IsConstexpr) if (fieldInfo.IsConstexpr)
contents.Append("const "); contents.Append("const ");
else if (fieldInfo.IsStatic) else if (fieldInfo.IsStatic)
@@ -1493,13 +1489,7 @@ namespace Flax.Build.Bindings
{ {
contents.AppendLine(); contents.AppendLine();
GenerateCSharpAttributes(buildData, contents, indent, structureInfo, fieldInfo, fieldInfo.IsStatic); GenerateCSharpAttributes(buildData, contents, indent, structureInfo, fieldInfo, fieldInfo.IsStatic);
contents.Append(indent); contents.Append(indent).Append(GenerateCSharpAccessLevel(fieldInfo.Access));
if (fieldInfo.Access == AccessLevel.Public)
contents.Append("public ");
else if (fieldInfo.Access == AccessLevel.Protected)
contents.Append("protected ");
else if (fieldInfo.Access == AccessLevel.Private)
contents.Append("private ");
if (fieldInfo.IsStatic) if (fieldInfo.IsStatic)
contents.Append("static "); contents.Append("static ");
contents.Append(type).Append(' ').Append(fieldInfo.Name + i).Append(';').AppendLine(); contents.Append(type).Append(' ').Append(fieldInfo.Name + i).Append(';').AppendLine();

View File

@@ -615,6 +615,9 @@ namespace Flax.Build.Bindings
case "private": case "private":
desc.Access = AccessLevel.Private; desc.Access = AccessLevel.Private;
break; break;
case "internal":
desc.Access = AccessLevel.Internal;
break;
case "template": case "template":
desc.IsTemplate = true; desc.IsTemplate = true;
break; break;
@@ -706,6 +709,9 @@ namespace Flax.Build.Bindings
case "private": case "private":
desc.Access = AccessLevel.Private; desc.Access = AccessLevel.Private;
break; break;
case "internal":
desc.Access = AccessLevel.Internal;
break;
case "template": case "template":
desc.IsTemplate = true; desc.IsTemplate = true;
break; break;
@@ -843,6 +849,9 @@ namespace Flax.Build.Bindings
case "private": case "private":
desc.Access = AccessLevel.Private; desc.Access = AccessLevel.Private;
break; break;
case "internal":
desc.Access = AccessLevel.Internal;
break;
case "attributes": case "attributes":
desc.Attributes = tag.Value; desc.Attributes = tag.Value;
break; break;
@@ -1121,6 +1130,9 @@ namespace Flax.Build.Bindings
case "private": case "private":
desc.Access = AccessLevel.Private; desc.Access = AccessLevel.Private;
break; break;
case "internal":
desc.Access = AccessLevel.Internal;
break;
case "inbuild": case "inbuild":
desc.IsInBuild = true; desc.IsInBuild = true;
break; break;
@@ -1186,6 +1198,9 @@ namespace Flax.Build.Bindings
case "private": case "private":
desc.Access = AccessLevel.Private; desc.Access = AccessLevel.Private;
break; break;
case "internal":
desc.Access = AccessLevel.Internal;
break;
case "template": case "template":
desc.IsTemplate = true; desc.IsTemplate = true;
break; break;
@@ -1325,6 +1340,9 @@ namespace Flax.Build.Bindings
case "private": case "private":
desc.Access = AccessLevel.Private; desc.Access = AccessLevel.Private;
break; break;
case "internal":
desc.Access = AccessLevel.Internal;
break;
case "attributes": case "attributes":
desc.Attributes = tag.Value; desc.Attributes = tag.Value;
break; break;
@@ -1400,6 +1418,9 @@ namespace Flax.Build.Bindings
case "private": case "private":
desc.Access = AccessLevel.Private; desc.Access = AccessLevel.Private;
break; break;
case "internal":
desc.Access = AccessLevel.Internal;
break;
case "attributes": case "attributes":
desc.Attributes = tag.Value; desc.Attributes = tag.Value;
break; break;

View File

@@ -7,5 +7,6 @@ namespace Flax.Build.Bindings
Private, Private,
Protected, Protected,
Public, Public,
Internal,
} }
} }