From 5d321c8c0c77e4d1986882dc9405eb8f8831d1d2 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 30 Aug 2021 14:52:01 +0200 Subject: [PATCH] Add check to prevent inheriting from static or sealed class in scripting --- Source/Tools/Flax.Build/Bindings/ClassInfo.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Source/Tools/Flax.Build/Bindings/ClassInfo.cs b/Source/Tools/Flax.Build/Bindings/ClassInfo.cs index ff0bb077b..f591dc004 100644 --- a/Source/Tools/Flax.Build/Bindings/ClassInfo.cs +++ b/Source/Tools/Flax.Build/Bindings/ClassInfo.cs @@ -1,5 +1,6 @@ // Copyright (c) 2012-2021 Wojciech Figat. All rights reserved. +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -65,6 +66,14 @@ namespace Flax.Build.Bindings if (UniqueFunctionNames == null) UniqueFunctionNames = new HashSet(); + if (BaseType is ClassInfo baseClass) + { + if (baseClass.IsStatic) + throw new Exception(string.Format("Class {0} inherits from thr class {1} that is {2}.", FullNameNative, baseClass.FullNameNative, "static")); + if (baseClass.IsSealed) + throw new Exception(string.Format("Class {0} inherits from the class {1} that is {2}.", FullNameNative, baseClass.FullNameNative, "sealed")); + } + foreach (var fieldInfo in Fields) { if (fieldInfo.Access == AccessLevel.Private)