Bläddra i källkod

Changed Count/MinValue/MaxValue from properties to methods

Brian Fiete 3 år sedan
förälder
incheckning
439b34f7c2
2 ändrade filer med 35 tillägg och 44 borttagningar
  1. 33 42
      BeefLibs/corlib/src/Enum.bf
  2. 2 2
      IDEHelper/Tests/src/Enums.bf

+ 33 - 42
BeefLibs/corlib/src/Enum.bf

@@ -5,65 +5,56 @@ namespace System
 {
 	struct Enum
 	{
-		public static int Count
+		[Comptime(ConstEval=true)]
+		public static int GetCount()
 		{
-			[Comptime(ConstEval=true)]
-			get
+			int count = 0;
+			for (var field in Compiler.OrigCalleeType.GetFields())
 			{
-				int count = 0;
-				for (var field in Compiler.OrigCalleeType.GetFields())
-				{
-					if (field.IsEnumCase)
-						count++;
-				}
-				return count;
+				if (field.IsEnumCase)
+					count++;
 			}
+			return count;
 		}
 
-		public static var MinValue
+		[Comptime(ConstEval=true)]
+		public static var GetMinValue()
 		{
-			[Comptime(ConstEval=true)]
-			get
-			{
-				Compiler.SetReturnType(Compiler.OrigCalleeType);
+			Compiler.SetReturnType(Compiler.OrigCalleeType);
 
-				int? minValue = null;
-				for (var field in Compiler.OrigCalleeType.GetFields())
+			int? minValue = null;
+			for (var field in Compiler.OrigCalleeType.GetFields())
+			{
+				if (field.IsEnumCase)
 				{
-					if (field.IsEnumCase)
-					{
-						if (minValue == null)
-							minValue = field.[Friend]mFieldData.mData;
-						else
-							minValue = Math.Min(minValue.Value, field.[Friend]mFieldData.mData);
-					}
+					if (minValue == null)
+						minValue = field.[Friend]mFieldData.mData;
+					else
+						minValue = Math.Min(minValue.Value, field.[Friend]mFieldData.mData);
 				}
-				return minValue.ValueOrDefault;
 			}
+			return minValue.ValueOrDefault;
 		}
 
-		public static var MaxValue
+		[Comptime(ConstEval=true)]
+		public static var GetMaxValue()
 		{
-			[Comptime(ConstEval=true)]
-			get
-			{
-				Compiler.SetReturnType(Compiler.OrigCalleeType);
+			Compiler.SetReturnType(Compiler.OrigCalleeType);
 
-				int? maxValue = null;
-				for (var field in Compiler.OrigCalleeType.GetFields())
+			int? maxValue = null;
+			for (var field in Compiler.OrigCalleeType.GetFields())
+			{
+				if (field.IsEnumCase)
 				{
-					if (field.IsEnumCase)
-					{
-						if (maxValue == null)
-							maxValue = field.[Friend]mFieldData.mData;
-						else
-							maxValue = Math.Max(maxValue.Value, field.[Friend]mFieldData.mData);
-					}
+					if (maxValue == null)
+						maxValue = field.[Friend]mFieldData.mData;
+					else
+						maxValue = Math.Max(maxValue.Value, field.[Friend]mFieldData.mData);
 				}
-				if (maxValue == null)
-					return -1;
-				return maxValue.ValueOrDefault;
 			}
+			if (maxValue == null)
+				return -1;
+			return maxValue.ValueOrDefault;
 		}
 
 		public static void EnumToString(Type type, String strBuffer, int64 iVal)

+ 2 - 2
IDEHelper/Tests/src/Enums.bf

@@ -138,9 +138,9 @@ namespace Tests
 			eg.Set(66);
 			Test.Assert(eg == .B);
 
-			var ea = EnumA.MaxValue;
+			var ea = EnumA.GetMaxValue();
 			Test.Assert(ea == .B);
-			Test.Assert(EnumA.Count == 2);
+			Test.Assert(EnumA.GetCount() == 2);
 		}
 	}
 }