protected override void Dispose(bool disposing) { if (disposing) { lock (_idleNodeModulesLock) { if (_idleNodeModulesTimer != null) { _idleNodeModulesTimer.Dispose(); } _idleNodeModulesTimer = null; } NodejsPackage.Instance.GeneralOptionsPage.ShowBrowserAndNodeLabelsChanged -= ShowBrowserAndNodeLabelsChanged; OnDispose?.Invoke(this, EventArgs.Empty); RemoveChild(ModulesNode); ModulesNode?.Dispose(); ModulesNode = null; #if DEV14 _typingsAcquirer = null; #endif } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (disposing) { lock (_idleNodeModulesLock) { if (_idleNodeModulesTimer != null) { _idleNodeModulesTimer.Dispose(); } _idleNodeModulesTimer = null; } OnDispose?.Invoke(this, EventArgs.Empty); RemoveChild(ModulesNode); ModulesNode?.Dispose(); ModulesNode = null; #if DEV14 _typingsAcquirer = null; #endif } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (disposing) { if (_analyzer != null) { UnHookErrorsAndWarnings(_analyzer); if (WarningFiles.Count > 0 || ErrorFiles.Count > 0) { foreach (var file in WarningFiles.Concat(ErrorFiles)) { var node = FindNodeByFullPath(file) as NodejsFileNode; if (node != null) { //_analyzer.RemoveErrors(node.GetAnalysis(), suppressUpdate: false); } } } if (_analyzer.RemoveUser()) { _analyzer.Dispose(); } _analyzer = null; } lock (_idleNodeModulesLock) { if (_idleNodeModulesTimer != null) { _idleNodeModulesTimer.Dispose(); } _idleNodeModulesTimer = null; } NodejsPackage.Instance.IntellisenseOptionsPage.SaveToDiskChanged -= IntellisenseOptionsPageSaveToDiskChanged; NodejsPackage.Instance.IntellisenseOptionsPage.AnalysisLevelChanged -= IntellisenseOptionsPageAnalysisLevelChanged; NodejsPackage.Instance.IntellisenseOptionsPage.AnalysisLogMaximumChanged -= AnalysisLogMaximumChanged; NodejsPackage.Instance.GeneralOptionsPage.ShowBrowserAndNodeLabelsChanged -= ShowBrowserAndNodeLabelsChanged; OnDispose?.Invoke(this, EventArgs.Empty); RemoveChild(ModulesNode); ModulesNode?.Dispose(); ModulesNode = null; DelayedAnalysisQueue.Clear(); #if DEV14 _typingsAcquirer = null; #endif } base.Dispose(disposing); }