diff --git a/BeefBuild/BeefProj.toml b/BeefBuild/BeefProj.toml index 4b864dd5..9465b598 100644 --- a/BeefBuild/BeefProj.toml +++ b/BeefBuild/BeefProj.toml @@ -12,7 +12,6 @@ FileVersion = "0.42.1" [Configs.Debug.Win32] TargetName = "" OtherLinkFlags = "" -OptimizationLevel = "O0" [Configs.Debug.Win64] TargetDirectory = "$(WorkspaceDir)/../IDE/dist" @@ -62,7 +61,6 @@ PreprocessorMacros = ["CLI"] [Configs.Release.Win32] TargetName = "" OtherLinkFlags = "" -OptimizationLevel = "O0" [Configs.Release.Win64] TargetDirectory = "$(WorkspaceDir)/../IDE/dist" @@ -72,23 +70,20 @@ DebugCommandArguments = "-proddir=..\\..\\BeefPerf -config=Release" DebugWorkingDirectory = "$(ProjectDir)\\dist" EnvironmentVars = ["_NO_DEBUG_HEAP=1"] PreprocessorMacros = ["RELEASE", "CLI"] -OptimizationLevel = "O0" [Configs.Debug2.Win32] TargetName = "" OtherLinkFlags = "" -OptimizationLevel = "O0" [Configs.Debug2.Win64] TargetDirectory = "$(WorkspaceDir)/dist" TargetName = "$(ProjectName)_d2" -OtherLinkFlags = "Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib Beef042RT64_d.lib IDEHelper64_d.lib BeefySysLib64_d.lib" -CLibType = "Dynamic" +OtherLinkFlags = "$(LinkFlags) Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDEHelper64_d.lib Rpcrt4.lib Ole32.lib" +CLibType = "DynamicDebug" DebugCommandArguments = "-proddir=c:\\beef\\IDEHelper\\Tests -test" DebugWorkingDirectory = "c:\\beef\\IDE\\dist" EnvironmentVars = ["_NO_DEBUG_HEAP=1"] PreprocessorMacros = ["DEBUG", "CLI"] -OptimizationLevel = "OgPlus" [Configs.Test.Win32] OtherLinkFlags = "BeefRT32_d.lib" diff --git a/BeefBuild/BeefSpace.toml b/BeefBuild/BeefSpace.toml index fc118007..1517f86e 100644 --- a/BeefBuild/BeefSpace.toml +++ b/BeefBuild/BeefSpace.toml @@ -62,7 +62,10 @@ ConfigSelections = {corlib = {Config = "Debug"}, Beefy2D = {Config = "Debug"}, I [Configs.Debug2.Win64] PreprocessorMacros = ["NEWFONT"] -BfOptimizationLevel = "O0" +EnableObjectDebugFlags = false +EmitObjectAccessCheck = false +EnableRealtimeLeakCheck = false +AllowHotSwapping = false IntermediateType = "ObjectAndIRCode" ConfigSelections = {corlib = {Config = "Debug"}, Beefy2D = {Config = "Debug"}, IDEHelper = {Config = "Debug"}, Debugger64 = {Config = "Debug"}, BeefySysLib = {Config = "Debug"}} diff --git a/BeefLibs/corlib/src/Object.bf b/BeefLibs/corlib/src/Object.bf index 8cf40d0c..7de4345c 100644 --- a/BeefLibs/corlib/src/Object.bf +++ b/BeefLibs/corlib/src/Object.bf @@ -71,7 +71,7 @@ namespace System return type; } -#if BF_ALLOW_HOT_SWAPPING +#if BF_DYNAMIC_CAST_CHECK || BF_ENABLE_REALTIME_LEAK_CHECK [NoShow] public virtual Object DynamicCastToTypeId(int32 typeId) { diff --git a/BeefTools/TestDLL/TestDLL.cpp b/BeefTools/TestDLL/TestDLL.cpp index 37b24a81..d087f672 100644 --- a/BeefTools/TestDLL/TestDLL.cpp +++ b/BeefTools/TestDLL/TestDLL.cpp @@ -1,4 +1,3 @@ -//2 #define _ENABLE_ATOMIC_ALIGNMENT_FIX #include @@ -134,10 +133,22 @@ void Zorq3() int64_t q = 999; } +void TestMem() +{ + char* mem = (char*)::VirtualAlloc(0, 4096 * 2, MEM_RESERVE, PAGE_READWRITE); + ::VirtualAlloc(mem, 4096, MEM_COMMIT, PAGE_READWRITE); + + char* str = "Hey"; + char* cPtr = mem + 4096 - 3; + memcpy(cPtr, str, 3); +} + // THIS IS VERSION 6. extern "C" __declspec(dllexport) void Test2(int aa, int bb, int cc, int dd) { + TestMem(); + Zorq(); Zorq2(); Zorq3(); diff --git a/IDE/BeefProj.toml b/IDE/BeefProj.toml index 8079fa51..6921b2d6 100644 --- a/IDE/BeefProj.toml +++ b/IDE/BeefProj.toml @@ -25,7 +25,7 @@ OtherLinkFlags = "" TargetDirectory = "$(WorkspaceDir)/dist" TargetName = "BeefIDE_d" OtherLinkFlags = "$(LinkFlags) Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDEHelper64_d.lib" -DebugCommandArguments = "-proddir=C:\\Beef\\IDE" +DebugCommandArguments = "-workspace=C:\\Beef\\BeefBuild" DebugWorkingDirectory = "c:\\Beef\\IDE\\Tests\\EmptyTest" EnvironmentVars = ["_NO_DEBUG_HEAP=1"] @@ -49,7 +49,6 @@ OtherLinkFlags = "" TargetDirectory = "$(WorkspaceDir)/dist" TargetName = "BeefIDE_d2" OtherLinkFlags = "$(LinkFlags) Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDEHelper64_d.lib BeefySysLib64_d.lib wsock32.lib" -BeefLibType = "DynamicDebug" DebugCommandArguments = "-proddir=C:\\Beef\\IDE\\mintest" DebugWorkingDirectory = "$(ProjectDir)\\dist" EnvironmentVars = ["_NO_DEBUG_HEAP=1"] diff --git a/IDE/mintest/BeefSpace.toml b/IDE/mintest/BeefSpace.toml index c63ed4cc..f59c6024 100644 --- a/IDE/mintest/BeefSpace.toml +++ b/IDE/mintest/BeefSpace.toml @@ -1,6 +1,5 @@ FileVersion = 1 Projects = {mintest = {Path = "."}, minlib = {Path = "minlib"}, LibA = {Path = "LibA"}, LibB = {Path = "LibB"}, mintest2 = {Path = "mintest2"}} -Locked = ["mintest2"] [Workspace] StartupProject = "mintest" diff --git a/IDE/mintest/mintest2/src/main4.bf b/IDE/mintest/mintest2/src/main4.bf index a990952a..afd9b4f7 100644 --- a/IDE/mintest/mintest2/src/main4.bf +++ b/IDE/mintest/mintest2/src/main4.bf @@ -1,36 +1,33 @@ using System; -// Zapples - - - - -/*class Mintest2 +/*class Zlobs : IDisposable { - - public static void Main() + int IDisposable.Floo() { -#unwarn - int a = - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1; + + } + + int Zag() + { + return 123; } }*/ + +class Fligs +{ + class Bligs + { + class Snorf + { + + } + } + + class Zang + { + class Flang + { + + } + } +} \ No newline at end of file diff --git a/IDE/mintest/src/main.bf b/IDE/mintest/src/main.bf index d054a15b..6adfc2b1 100644 --- a/IDE/mintest/src/main.bf +++ b/IDE/mintest/src/main.bf @@ -34,6 +34,8 @@ namespace Hey.Dude.Bro { class TestClass { + static int gApzong = 123; + [CLink, StdCall] public static extern void OutputDebugStringA(char8* str); @@ -144,6 +146,18 @@ namespace Hey.Dude.Bro } } + enum EnumB + { + AAA, + BBB + } + + enum EnumC + { + CCC, + DDD + } + static void Flarg() { EnumA ea; @@ -194,13 +208,28 @@ namespace Hey.Dude.Bro return val.GetHashCode(); } + class Zangles + { + public static int GetMe(Zangles zang, String str) + { + return 99; + } + } + public static int Main(String[] args) { + Int i = (.)123; + i = i + i; + + Zangles zang = scope .(); + + Zangles.GetMe(zang, "hey"); + TypeCode tc = .Boolean; PrintF("Hey\n"); - //Test2(1, 2, 3, 4); + Test2(1, 2, 3, 4); /*IHashable ih = (int32)TypeCode.Boolean; let hashCode = ih.GetHashCode();*/ @@ -302,5 +331,6 @@ namespace AA static { - + static int gApsings = 123; } + diff --git a/IDE/mintest/src/main3.bf b/IDE/mintest/src/main3.bf index 1551f162..0b041bbf 100644 --- a/IDE/mintest/src/main3.bf +++ b/IDE/mintest/src/main3.bf @@ -305,25 +305,55 @@ struct Blurg //int len = str.[Friend]GetLength(); } + + static void Test(int a, int b, Span iSpan) + { + + } + + public static mixin Florf(int a, int b) + { + + } + + class Zangles + { + public static int GetMe() + { + return 99; + } + } + public static int32 Hey() { - while (true) + for (int i < 100) { - Type t = typeof(Yoofer); - for (let field in t.GetFields()) - { - StringView name = field.Name; - } + Yoofer.ColorizeCodeString("abc", .Callstack); } - -#unwarn return (int32)123; } } -[Reflect] -struct Yoofer +class Yoofer { - int mA; -} \ No newline at end of file + public enum CodeKind + { + Callstack, + Method, + Field, + Type + } + + public static void Zorg() + { + int a = 1; + } + + public static void ColorizeCodeString(String label, CodeKind codeKind) + { + Zorg(); + int a = 1; + } +} + diff --git a/IDE/src/IDEUtils.bf b/IDE/src/IDEUtils.bf index ee93d925..b726b743 100644 --- a/IDE/src/IDEUtils.bf +++ b/IDE/src/IDEUtils.bf @@ -314,8 +314,6 @@ namespace IDE public static void ColorizeCodeString(String label, CodeKind codeKind) { - //int q = 98; - int prevTypeColor = -1; int prevStart = -1; bool foundOpenParen = codeKind != .Callstack;