From 4fe6bcaa86fcdb40e251b44eb65bc092d5d67bcd Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 19 May 2020 09:09:18 -0700 Subject: [PATCH] Made some fixes for not having a resolve compiler enabled --- IDE/src/Compiler/BfCompiler.bf | 1 + IDE/src/IDEApp.bf | 11 +++++++---- IDE/src/ui/SourceViewPanel.bf | 10 ++++++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/IDE/src/Compiler/BfCompiler.bf b/IDE/src/Compiler/BfCompiler.bf index 9a028e49..c0830949 100644 --- a/IDE/src/Compiler/BfCompiler.bf +++ b/IDE/src/Compiler/BfCompiler.bf @@ -752,6 +752,7 @@ namespace IDE.Compiler { if (mWantsRemoveOldData) { + mBfSystem.RemoveOldParsers(); mBfSystem.RemoveOldData(); mWantsRemoveOldData = false; } diff --git a/IDE/src/IDEApp.bf b/IDE/src/IDEApp.bf index 79dee08e..ba1c6430 100644 --- a/IDE/src/IDEApp.bf +++ b/IDE/src/IDEApp.bf @@ -546,8 +546,10 @@ namespace IDE public void GetBfCompilers(List compiler) { - compiler.Add(mBfBuildCompiler); - compiler.Add(mBfResolveCompiler); + if (mBfBuildCompiler != null) + compiler.Add(mBfBuildCompiler); + if (mBfResolveCompiler != null) + compiler.Add(mBfResolveCompiler); } public bool HaveSourcesChanged() @@ -2676,7 +2678,8 @@ namespace IDE mWorkspace.FixOptions(mConfigName, mPlatformName); #if !CLI - PreConfigureBeefSystem(mBfResolveSystem, mBfResolveCompiler); + if (mBfResolveSystem != null) + PreConfigureBeefSystem(mBfResolveSystem, mBfResolveCompiler); #endif for (var project in mWorkspace.mProjects) { @@ -11124,7 +11127,7 @@ namespace IDE if (projectSource != null) { var resolveCompiler = GetProjectCompilerForFile(projectSource.mPath); - if (resolveCompiler == mBfResolveCompiler) + if ((resolveCompiler == mBfResolveCompiler) && (resolveCompiler != null)) resolveCompiler.QueueProjectSourceRemoved(projectSource); if (IsBeefFile(projectSource.mPath)) diff --git a/IDE/src/ui/SourceViewPanel.bf b/IDE/src/ui/SourceViewPanel.bf index 6ad130e3..bff886c6 100644 --- a/IDE/src/ui/SourceViewPanel.bf +++ b/IDE/src/ui/SourceViewPanel.bf @@ -563,7 +563,9 @@ namespace IDE.ui Debug.WriteLine("DoAutoComplete ignored"); return; }*/ - + + if (ResolveCompiler == null) + return; if (ResolveCompiler.mThreadWorkerHi.mThreadRunning) { @@ -6173,7 +6175,7 @@ namespace IDE.ui var symbolReferenceHelper = IDEApp.sApp.mSymbolReferenceHelper; if (symbolReferenceHelper == null) { - if (!compiler.mThreadWorkerHi.mThreadRunning) + if ((compiler != null) && (!compiler.mThreadWorkerHi.mThreadRunning)) { ShowSymbolReferenceHelper(SymbolReferenceHelper.Kind.ShowFileReferences); } @@ -6199,7 +6201,7 @@ namespace IDE.ui mWantsCurrentLocation = true; } - if ((mWantsCurrentLocation) && (!compiler.mThreadWorkerHi.mThreadRunning)) + if ((mWantsCurrentLocation) && (compiler != null) && (!compiler.mThreadWorkerHi.mThreadRunning)) { bool canClassify = true; #if IDE_C_SUPPORT @@ -6221,7 +6223,7 @@ namespace IDE.ui } } - if ((mQueuedAutoComplete != null) & (!compiler.mThreadWorkerHi.mThreadRunning)) + if ((mQueuedAutoComplete != null) & (compiler != null) && (!compiler.mThreadWorkerHi.mThreadRunning)) { DoAutoComplete(mQueuedAutoComplete.mKeyChar, mQueuedAutoComplete.mOptions); DeleteAndNullify!(mQueuedAutoComplete);