diff options
author | Matt Ward <matt.ward@xamarin.com> | 2017-02-20 14:06:40 +0300 |
---|---|---|
committer | Matt Ward <matt.ward@xamarin.com> | 2017-02-20 14:25:27 +0300 |
commit | 5cb150965ba066c1b73cf6c85dec496beb6be9ca (patch) | |
tree | 1244b8a827b2c4eda581f2f0ec3d65390202f23f /main/src | |
parent | 8e15116574c7623dd2d3ce86fdb8071e3fcf945f (diff) | |
parent | a80d5f972698e230ea9db940fb69f33154cd4845 (diff) |
Merge branch 'master' into vNext
Diffstat (limited to 'main/src')
46 files changed, 152 insertions, 111 deletions
diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpTextPasteHandler.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpTextPasteHandler.cs index 836686d483..8f74d3ce58 100644 --- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpTextPasteHandler.cs +++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpTextPasteHandler.cs @@ -65,7 +65,7 @@ namespace MonoDevelop.CSharp.Formatting indent.DocumentContext.GetFormattingPolicy (), indent.DocumentContext.Project.Policies.Get<Ide.Gui.Content.TextStylePolicy> (), indent.Editor.GetTextBetween (lineStartOffset, insertionOffset + insertedChars), - lineStartOffset, + 0, formatCharsCount ); indent.Editor.ReplaceText (lineStartOffset, formatCharsCount, newText); diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CSharpResourceIdBuilder.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CSharpResourceIdBuilder.cs index 83ecac0135..8a956915ee 100644 --- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CSharpResourceIdBuilder.cs +++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Project/CSharpResourceIdBuilder.cs @@ -42,7 +42,7 @@ namespace MonoDevelop.CSharp.Project { public static string GetDefaultResourceId (ProjectFile pf) { - if (String.IsNullOrEmpty (pf.DependsOn) || !File.Exists (pf.DependsOn) || Path.GetExtension (pf.DependsOn).ToLower () != ".cs") + if (String.IsNullOrEmpty (pf.DependsOn) || !File.Exists (pf.DependsOn) || !string.Equals (Path.GetExtension (pf.DependsOn), ".cs", StringComparison.OrdinalIgnoreCase)) return null; string ns = null; diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs index e26077f81e..2b8c299ad6 100644 --- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs +++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp/CSharpBindingCompilerManager.cs @@ -243,7 +243,7 @@ namespace MonoDevelop.CSharp if (compilerParameters.NoStdLib) sb.AppendLine ("-nostdlib"); - if (!string.IsNullOrEmpty (compilerParameters.PlatformTarget) && compilerParameters.PlatformTarget.ToLower () != "anycpu") { + if (!string.IsNullOrEmpty (compilerParameters.PlatformTarget) && !string.Equals (compilerParameters.PlatformTarget, "anycpu", StringComparison.OrdinalIgnoreCase)) { //HACK: to ignore the platform flag for Mono <= 2.4, because gmcs didn't support it if (runtime.RuntimeId == "Mono" && runtime.AssemblyContext.GetAssemblyLocation ("Mono.Debugger.Soft", null) == null) { LoggingService.LogWarning ("Mono runtime '" + runtime.DisplayName + diff --git a/main/src/addins/MacPlatform/Dialogs/MacOpenFileDialogHandler.cs b/main/src/addins/MacPlatform/Dialogs/MacOpenFileDialogHandler.cs index 3b94b87407..752b45d5c1 100644 --- a/main/src/addins/MacPlatform/Dialogs/MacOpenFileDialogHandler.cs +++ b/main/src/addins/MacPlatform/Dialogs/MacOpenFileDialogHandler.cs @@ -244,7 +244,7 @@ namespace MonoDevelop.MacIntegration static bool CanBeOpenedInAssemblyBrowser (FilePath filename) { - return filename.Extension.ToLower () == ".exe" || filename.Extension.ToLower () == ".dll"; + return string.Equals (filename.Extension, ".exe", StringComparison.OrdinalIgnoreCase) || string.Equals (filename.Extension, ".dll", StringComparison.OrdinalIgnoreCase); } static void CenterAccessoryView (MDBox box) diff --git a/main/src/addins/MacPlatform/MacInterop/Keychain.cs b/main/src/addins/MacPlatform/MacInterop/Keychain.cs index 42afd88a92..c8d10ecf50 100644 --- a/main/src/addins/MacPlatform/MacInterop/Keychain.cs +++ b/main/src/addins/MacPlatform/MacInterop/Keychain.cs @@ -313,14 +313,14 @@ namespace MonoDevelop.MacInterop string auth = "default"; foreach (var pair in query.Substring (1).Split (new char[] { '&' })) { - var kvp = pair.ToLowerInvariant ().Split (new char[] { '=' }); - if (kvp[0] == "auth" && kvp.Length == 2) { - auth = kvp[1]; + var kvp = pair.Split (new char[] { '=' }); + if (string.Equals (kvp[0], "auth", StringComparison.InvariantCultureIgnoreCase) && kvp.Length == 2) { + auth = kvp[1].ToLowerInvariant (); break; } } - switch (auth.ToLowerInvariant ()) { + switch (auth) { case "ntlm": return SecAuthenticationType.NTLM; case "msn": return SecAuthenticationType.MSN; case "dpa": return SecAuthenticationType.DPA; diff --git a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs index 04449461bc..be2b957f11 100644 --- a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs +++ b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs @@ -617,7 +617,8 @@ namespace MonoDevelop.AssemblyBrowser return true; return false; } - + + bool expandedMember = true; ITreeNavigator SearchMember (ITreeNavigator nav, string helpUrl, bool expandNode = true) { if (nav == null) @@ -627,13 +628,11 @@ namespace MonoDevelop.AssemblyBrowser if (IsMatch (nav, helpUrl, searchType)) { inspectEditor.ClearSelection (); nav.ExpandToNode (); - if (expandNode) { - nav.Selected = nav.Expanded = true; - nav.ScrollToNode (); - } else { - nav.Selected = true; - nav.ScrollToNode (); - } + if (expandNode) + nav.Expanded = true; + nav.Selected = true; + nav.ScrollToNode (); + expandedMember = true; return nav; } if (!SkipChildren (nav, helpUrl, searchType) && nav.HasChildren ()) { @@ -791,7 +790,7 @@ namespace MonoDevelop.AssemblyBrowser var publicOnly = PublicApiOnly; BackgroundWorker worker = sender as BackgroundWorker; try { - string pattern = e.Argument.ToString ().ToUpper (); + string pattern = e.Argument.ToString (); int types = 0, curType = 0; foreach (var unit in this.definitions) { types += unit.UnresolvedAssembly.TopLevelTypeDefinitions.Count (); @@ -812,7 +811,7 @@ namespace MonoDevelop.AssemblyBrowser return; if (!member.IsPublic && publicOnly) continue; - if (member.Name.ToUpper ().Contains (pattern)) { + if (member.Name.IndexOf (pattern, StringComparison.OrdinalIgnoreCase) != -1) { members.Add (member); } } @@ -939,7 +938,7 @@ namespace MonoDevelop.AssemblyBrowser if (!type.IsPublic && publicOnly) continue; var parent = type.FullName; - if (parent.ToUpper ().IndexOf (pattern, StringComparison.Ordinal) >= 0) + if (parent.IndexOf (pattern, StringComparison.OrdinalIgnoreCase) >= 0) typeList.Add (Tuple.Create ((IUnresolvedEntity)type, type.Namespace)); foreach (var member in type.Members) { @@ -947,7 +946,7 @@ namespace MonoDevelop.AssemblyBrowser return; if (!member.IsPublic && publicOnly) continue; - if (member.Name.ToUpper ().Contains (pattern)) { + if (member.Name.IndexOf (pattern, StringComparison.OrdinalIgnoreCase) != -1) { typeList.Add (Tuple.Create ((IUnresolvedEntity)member, parent)); } } @@ -1447,6 +1446,11 @@ namespace MonoDevelop.AssemblyBrowser if (nav == null) return; + if (expandedMember) { + expandedMember = false; + return; + } + do { if (nav.DataItem == cu || (nav.DataItem as AssemblyLoader)?.Assembly == cu) { nav.ExpandToNode (); diff --git a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyLoader.cs b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyLoader.cs index 645a99490b..996ce13e1f 100644 --- a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyLoader.cs +++ b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyLoader.cs @@ -89,6 +89,7 @@ namespace MonoDevelop.AssemblyBrowser loader = new CecilLoader (true); loader.InterningProvider = new FastNonInterningProvider (); loader.IncludeInternalMembers = true; + loader.LazyLoad = true; assemblyLoaderTask = Task.Run ( () => { try { @@ -179,7 +180,7 @@ namespace MonoDevelop.AssemblyBrowser return exe; foreach (var asm in Runtime.SystemAssemblyService.DefaultAssemblyContext.GetAssemblies ()) { - if (asm.Name.ToLowerInvariant () == fullAssemblyName.ToLowerInvariant ()) + if (string.Equals (asm.Name, fullAssemblyName, StringComparison.OrdinalIgnoreCase)) return asm.Location; } diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/EvaluationTests.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/EvaluationTests.cs index 80c83a68c0..ffda5ad636 100644 --- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/EvaluationTests.cs +++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.Tests/EvaluationTests.cs @@ -1048,6 +1048,10 @@ namespace MonoDevelop.Debugger.Tests if (soft != null && soft.ProtocolVersion < new Version (2, 31)) Assert.Ignore ("A newer version of the Mono runtime is required."); + val = Eval ("(int)19.7"); + Assert.AreEqual ("19", val.Value); + Assert.AreEqual ("int", val.TypeName); + val = Eval ("(byte)n"); Assert.AreEqual ("32", val.Value); Assert.AreEqual ("byte", val.TypeName); diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs index 898fac8501..beade3e35b 100644 --- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs +++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebuggingService.cs @@ -438,8 +438,6 @@ namespace MonoDevelop.Debugger session.OutputWriter = null; session.LogWriter = null; - sessionManager.Dispose (); - Runtime.RunInMainThread (delegate { if (cleaningCurrentSession) HideExceptionCaughtDialog (); @@ -455,8 +453,9 @@ namespace MonoDevelop.Debugger NotifyCallStackChanged (); NotifyCurrentFrameChanged (); NotifyLocationChanged (); + }).ContinueWith ((t) => { + sessionManager.Dispose (); }); - } static string oldLayout; diff --git a/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.Editor/POEditorWidget.cs b/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.Editor/POEditorWidget.cs index 46924c50e8..de0f8557f1 100644 --- a/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.Editor/POEditorWidget.cs +++ b/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext.Editor/POEditorWidget.cs @@ -752,9 +752,7 @@ namespace MonoDevelop.Gettext if (RegexSearch) return regex.IsMatch (text); - if (!IsCaseSensitive) - text = text.ToUpper (); - int idx = text.IndexOf (filter); + int idx = text.IndexOf (filter, IsCaseSensitive ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase); if (idx >= 0) { if (IsWholeWordOnly) { return (idx == 0 || char.IsWhiteSpace (text[idx - 1])) && @@ -804,8 +802,6 @@ namespace MonoDevelop.Gettext void UpdateFromCatalog () { filter = this.searchEntryFilter.Entry.Text; - if (!IsCaseSensitive && filter != null) - filter = filter.ToUpper (); if (RegexSearch) { try { RegexOptions options = RegexOptions.Compiled; @@ -1142,9 +1138,11 @@ namespace MonoDevelop.Gettext } if (!CompareTasks (tasks, currentTasks)) { - ClearTasks (); - currentTasks = tasks; - TaskService.Errors.AddRange (tasks); + Runtime.RunInMainThread (() => { + ClearTasks (); + currentTasks = tasks; + TaskService.Errors.AddRange (tasks); + }); } } diff --git a/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext/Catalog.cs b/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext/Catalog.cs index 55cd1613cf..a93f10b208 100644 --- a/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext/Catalog.cs +++ b/main/src/addins/MonoDevelop.Gettext/MonoDevelop.Gettext/Catalog.cs @@ -395,7 +395,7 @@ namespace MonoDevelop.Gettext { foreach (EncodingInfo info in Encoding.GetEncodings ()) { try { - if (info.Name.ToLower () == charset.ToLower ()) + if (string.Equals (info.Name, charset, StringComparison.OrdinalIgnoreCase)) return true; } catch (Exception) { // info.Name may fail. @@ -429,7 +429,7 @@ namespace MonoDevelop.Gettext { foreach (EncodingInfo info in Encoding.GetEncodings ()) { try { - if (info.Name.ToLower () == charset.ToLower ()) + if (string.Equals (info.Name, charset, StringComparison.OrdinalIgnoreCase)) return info.GetEncoding (); } catch (Exception) { // info.Name may fail. diff --git a/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore/ObjectsDocument.cs b/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore/ObjectsDocument.cs index 1a9d592dfb..9595cfed2c 100644 --- a/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore/ObjectsDocument.cs +++ b/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore/ObjectsDocument.cs @@ -76,7 +76,7 @@ namespace MonoDevelop.GtkCore SyncState AttrSyncState { get { if (DocumentElement.HasAttribute ("attr-sync")) { - if (DocumentElement.GetAttribute ("attr-sync").ToLower () == "off") + if (string.Equals (DocumentElement.GetAttribute ("attr-sync"), "off", StringComparison.OrdinalIgnoreCase)) return SyncState.Off; else return SyncState.On; diff --git a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.AnalysisCore/Gui/ResultsEditorExtension.cs b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.AnalysisCore/Gui/ResultsEditorExtension.cs index b47aaf4ad0..5a21201fbe 100644 --- a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.AnalysisCore/Gui/ResultsEditorExtension.cs +++ b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.AnalysisCore/Gui/ResultsEditorExtension.cs @@ -262,7 +262,7 @@ namespace MonoDevelop.AnalysisCore.Gui var effect = currentResult.InspectionMark == IssueMarker.DottedLine ? TextSegmentMarkerEffect.DottedLine : TextSegmentMarkerEffect.WavedLine; var marker = TextMarkerFactory.CreateGenericTextSegmentMarker (editor, effect, TextSegment.FromBounds (start, end)); marker.Color = GetColor (editor, currentResult); - marker.IsVisible = currentResult.Underline; + marker.IsVisible = currentResult.Underline && currentResult.Level != DiagnosticSeverity.Hidden; marker.Tag = currentResult; editor.AddMarker (marker); ext.markers.Enqueue (marker); diff --git a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring.Rename/RenameRefactoring.cs b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring.Rename/RenameRefactoring.cs index bc1fce2131..933e9b068e 100644 --- a/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring.Rename/RenameRefactoring.cs +++ b/main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring.Rename/RenameRefactoring.cs @@ -213,7 +213,7 @@ namespace MonoDevelop.Refactoring.Rename var newName = properties.NewName; if (string.IsNullOrEmpty (oldFileName) || string.IsNullOrEmpty (newName)) continue; - if (oldFileName.ToUpper () == newName.ToUpper () || oldFileName.ToUpper ().EndsWith ("." + newName.ToUpper (), StringComparison.Ordinal)) + if (string.Equals (oldFileName, newName, StringComparison.OrdinalIgnoreCase) || oldFileName.EndsWith ("." + newName, StringComparison.OrdinalIgnoreCase)) continue; int idx = oldFileName.IndexOf (type.Name, StringComparison.Ordinal); if (idx >= 0) { diff --git a/main/src/addins/MonoDevelop.SourceEditor2/Mono.TextEditor.PopupWindow/ListWindow.cs b/main/src/addins/MonoDevelop.SourceEditor2/Mono.TextEditor.PopupWindow/ListWindow.cs index c87d4bc931..8ef8f91b91 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/Mono.TextEditor.PopupWindow/ListWindow.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/Mono.TextEditor.PopupWindow/ListWindow.cs @@ -174,8 +174,8 @@ namespace Mono.TextEditor.PopupWindow public bool IsUniqueMatch { get { int pos = list.Selection + 1; - if (provider.Count > pos && provider.GetText (pos).ToLower ().StartsWith (PartialWord.ToLower ()) - || !(provider.GetText (list.Selection).ToLower ().StartsWith (PartialWord.ToLower ()))) + if (provider.Count > pos && provider.GetText (pos).StartsWith (PartialWord, StringComparison.OrdinalIgnoreCase) + || !(provider.GetText (list.Selection).StartsWith (PartialWord, StringComparison.OrdinalIgnoreCase))) return false; return true; diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskStrip.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskStrip.cs index cf0638888a..77e45ccd2f 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskStrip.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskStrip.cs @@ -103,7 +103,8 @@ namespace MonoDevelop.SourceEditor.QuickTasks yield break; foreach (var tasks in providerTasks.Values) { foreach (var task in tasks) { - yield return task; + if (task.Severity != DiagnosticSeverity.Hidden) + yield return task; } } } diff --git a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs index 12248158f1..cc3fb70364 100644 --- a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs +++ b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs @@ -190,16 +190,18 @@ namespace MonoDevelop.UnitTesting.NUnit.External t.Status = TestStatus.Running; } + static readonly string FailedMessage = GettextCatalog.GetString ("Test failed"); + static readonly string IgnoredMessage = GettextCatalog.GetString ("Test ignored"); + static readonly string SuccededMessage = GettextCatalog.GetString ("Test successful") + "\n\n"; void ProcessResult (UnitTestResult res) { if (string.IsNullOrEmpty (res.Message)) { if (res.IsFailure) - res.Message = GettextCatalog.GetString ("Test failed"); + res.Message = SuccededMessage; else if (res.IsNotRun) - res.Message = GettextCatalog.GetString ("Test ignored"); + res.Message = IgnoredMessage; else { - res.Message = GettextCatalog.GetString ("Test successful") + "\n\n"; - res.Message += GettextCatalog.GetString ("Execution time: {0:0.00}ms", res.Time.TotalMilliseconds); + res.Message = SuccededMessage + GettextCatalog.GetString ("Execution time: {0:0.00}ms", res.Time.TotalMilliseconds); } } } diff --git a/main/src/addins/VBNetBinding/VBCodeGenerator.cs b/main/src/addins/VBNetBinding/VBCodeGenerator.cs index 6778c18a7e..bdde649c0a 100644 --- a/main/src/addins/VBNetBinding/VBCodeGenerator.cs +++ b/main/src/addins/VBNetBinding/VBCodeGenerator.cs @@ -1521,7 +1521,7 @@ namespace MonoDevelop.VBNetBinding protected override string CreateEscapedIdentifier (string value) { for (int x = 0; x < Keywords.Length; x++) - if (value.ToLower().Equals (Keywords[x].ToLower())) + if (string.Equals (value, Keywords[x], StringComparison.OrdinalIgnoreCase)) return "[" + value + "]"; return value; } @@ -1529,7 +1529,7 @@ namespace MonoDevelop.VBNetBinding protected override string CreateValidIdentifier (string value) { for (int x = 0; x < Keywords.Length; x++) - if (value.ToLower().Equals (Keywords[x].ToLower())) + if (string.Equals (value, Keywords [x], StringComparison.OrdinalIgnoreCase)) return "_" + value; return value; } @@ -1615,7 +1615,7 @@ namespace MonoDevelop.VBNetBinding protected override bool IsValidIdentifier (string identifier) { for (int x = 0; x < Keywords.Length; x++) - if (identifier.ToLower().Equals (Keywords[x].ToLower())) + if (string.Equals (identifier, Keywords [x], StringComparison.OrdinalIgnoreCase)) return false; return true; } diff --git a/main/src/addins/WindowsPlatform/WindowsPlatform/WindowsPlatform.cs b/main/src/addins/WindowsPlatform/WindowsPlatform/WindowsPlatform.cs index 232b68ddda..a62b185dd6 100644 --- a/main/src/addins/WindowsPlatform/WindowsPlatform/WindowsPlatform.cs +++ b/main/src/addins/WindowsPlatform/WindowsPlatform/WindowsPlatform.cs @@ -550,8 +550,9 @@ namespace MonoDevelop.Platform try { SHOpenFolderAndSelectItems (dir, (uint)files.Length, files, 0); } finally { - ILFree (dir); - files.ToList ().ForEach (ILFree); + ILFree (dir);
+ foreach (var file in files)
+ ILFree (file); } } } diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/AssemblyContext.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/AssemblyContext.cs index 5f2ddd3280..1126e6b928 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/AssemblyContext.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/AssemblyContext.cs @@ -285,10 +285,10 @@ namespace MonoDevelop.Core.Assemblies public static string NormalizeAsmName (string name) { - int i = name.ToLower ().IndexOf (", publickeytoken=null", StringComparison.Ordinal); + int i = name.IndexOf (", publickeytoken=null", StringComparison.OrdinalIgnoreCase); if (i != -1) name = name.Substring (0, i).Trim (); - i = name.ToLower ().IndexOf (", processorarchitecture=", StringComparison.Ordinal); + i = name.IndexOf (", processorarchitecture=", StringComparison.OrdinalIgnoreCase); if (i != -1) name = name.Substring (0, i).Trim (); return name; diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/LibraryPcFileCache.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/LibraryPcFileCache.cs index 1a2a2fb9f6..28c5458309 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/LibraryPcFileCache.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/LibraryPcFileCache.cs @@ -145,8 +145,7 @@ namespace Mono.PkgConfig value = file.GetVariable ("GacPackage"); if (value != null) { - value = value.ToLower (); - pinfo.IsGacPackage = value == "yes" || value == "true"; + pinfo.IsGacPackage = string.Equals (value, "yes", StringComparison.OrdinalIgnoreCase) || string.Equals (value, "true", StringComparison.OrdinalIgnoreCase); gacPackageSet = true; } @@ -191,10 +190,11 @@ namespace Mono.PkgConfig List<string> libdirs = new List<string> (); List<string> retval = new List<string> (); foreach (string piece in line.Split (' ')) { - if (piece.ToLower ().Trim ().StartsWith ("/r:") || piece.ToLower ().Trim ().StartsWith ("-r:")) { - references.Add (piece.Substring (3).Trim ()); - } else if (piece.ToLower ().Trim ().StartsWith ("/lib:") || piece.ToLower ().Trim ().StartsWith ("-lib:")) { - libdirs.Add (piece.Substring (5).Trim ()); + var trimmed = piece.Trim (); + if (trimmed.StartsWith ("/r:", StringComparison.OrdinalIgnoreCase) || piece.StartsWith ("-r:", StringComparison.OrdinalIgnoreCase)) { + references.Add (trimmed.Substring (3).Trim ()); + } else if (trimmed.StartsWith ("/lib:", StringComparison.OrdinalIgnoreCase) || trimmed.StartsWith ("-lib:", StringComparison.Ordinal)) { + libdirs.Add (trimmed.Substring (5).Trim ()); } } @@ -223,8 +223,9 @@ namespace Mono.PkgConfig { List<string> references = new List<string> (); foreach (string reference in line.Split (' ')) { - if (reference.ToLower ().Trim ().StartsWith ("/r:") || reference.ToLower ().Trim ().StartsWith ("-r:")) { - string final_ref = reference.Substring (3).Trim (); + var trimmed = reference.Trim (); + if (reference.StartsWith ("/r:", StringComparison.OrdinalIgnoreCase) || reference.StartsWith ("-r:", StringComparison.OrdinalIgnoreCase)) { + string final_ref = trimmed.Substring (3).Trim (); references.Add (final_ref); } } @@ -233,10 +234,10 @@ namespace Mono.PkgConfig public static string NormalizeAsmName (string name) { - int i = name.ToLower ().IndexOf (", publickeytoken=null"); + int i = name.IndexOf (", publickeytoken=null", StringComparison.OrdinalIgnoreCase); if (i != -1) name = name.Substring (0, i).Trim (); - i = name.ToLower ().IndexOf (", processorarchitecture="); + i = name.IndexOf (", processorarchitecture=", StringComparison.OrdinalIgnoreCase); if (i != -1) name = name.Substring (0, i).Trim (); return name; @@ -304,7 +305,7 @@ namespace Mono.PkgConfig } string fn = aname.ToString (); string key = "publickeytoken="; - int i = fn.ToLower().IndexOf (key) + key.Length; + int i = fn.IndexOf (key, StringComparison.OrdinalIgnoreCase) + key.Length; int j = fn.IndexOf (',', i); if (j == -1) j = fn.Length; PublicKeyToken = fn.Substring (i, j - i); diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoRuntimeInfo.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoRuntimeInfo.cs index 164ed5c2e3..43bd7f7fd7 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoRuntimeInfo.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoRuntimeInfo.cs @@ -44,6 +44,7 @@ namespace MonoDevelop.Core.Assemblies Dictionary<string,string> envVars = new Dictionary<string, string> (); bool initialized; bool isValidRuntime; + Version runtimeVersion; internal MonoRuntimeInfo () { @@ -69,6 +70,16 @@ namespace MonoDevelop.Core.Assemblies } } + /// <summary> + /// Runtime version reported by Mono + /// </summary> + public Version RuntimeVersion { + get { + Initialize (); + return runtimeVersion; + } + } + public string DisplayName { get { return "Mono " + MonoVersion + " (" + prefix + ")"; } } @@ -129,6 +140,8 @@ namespace MonoDevelop.Core.Assemblies return false; monoVersion = ver.Substring (i, j - i); + if (!Version.TryParse (monoVersion, out runtimeVersion)) + runtimeVersion = new Version (1, 0, 0, 0); i = ver.IndexOf ('('); if (i != -1) { @@ -190,6 +203,9 @@ namespace MonoDevelop.Core.Assemblies rt.monoVersion = ver.Substring (i+1); } + if (!Version.TryParse (rt.monoVersion, out rt.runtimeVersion)) + rt.runtimeVersion = new Version (1, 0, 0, 0); + //Pull up assemblies from the installed mono system. rt.prefix = PathUp (typeof (int).Assembly.Location, 4); if (rt.prefix == null) diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntime.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntime.cs index c44e90f51d..358dc95998 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntime.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MonoTargetRuntime.cs @@ -129,6 +129,8 @@ namespace MonoDevelop.Core.Assemblies public override string GetAssemblyDebugInfoFile (string assemblyPath) { + if (monoRuntimeInfo.RuntimeVersion != null && monoRuntimeInfo.RuntimeVersion >= new Version (4,9,0)) + return Path.ChangeExtension (assemblyPath, ".pdb"); return assemblyPath + ".mdb"; } diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/SystemAssembly.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/SystemAssembly.cs index 6e580b42f4..5ec59d4ad8 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/SystemAssembly.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/SystemAssembly.cs @@ -34,7 +34,7 @@ namespace MonoDevelop.Core.Assemblies { AssemblyName aname; - public string FullName { get; internal set; } + public string FullName { get; private set; } public string Location { get; private set; } public AssemblyName AssemblyName { @@ -70,27 +70,35 @@ namespace MonoDevelop.Core.Assemblies string fn = ainfo.Name + ", Version=" + ainfo.Version +", Culture=neutral" + token; return new SystemAssembly (file, fn); } - + + string name; public string Name { get { - int i = FullName.IndexOf (','); - if (i != -1) - return FullName.Substring (0, i).Trim (); - else - return FullName; + if (name == null) {
+ int i = FullName.IndexOf (','); + if (i != -1) + name = FullName.Substring (0, i).Trim (); + else + name = FullName; + } + return name; } } - + + string version; public string Version { get { - int i = FullName.IndexOf ("Version="); - if (i == -1) - return string.Empty; - i += 8; - int j = FullName.IndexOf (',', i); - if (j == -1) - j = FullName.Length; - return FullName.Substring (i, j - i); + if (version == null) {
+ int i = FullName.IndexOf ("Version=", StringComparison.Ordinal); + if (i == -1) + version = string.Empty; + i += "Version=".Length; + int j = FullName.IndexOf (',', i); + if (j == -1) + j = FullName.Length; + version = FullName.Substring (i, j - i); + } + return version; } } diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetFramework.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetFramework.cs index bdbf289d17..9b1667ee5e 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetFramework.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/TargetFramework.cs @@ -462,7 +462,7 @@ namespace MonoDevelop.Core.Assemblies Culture = aname.CultureInfo.Name; string fn = aname.ToString (); string key = "publickeytoken="; - int i = fn.ToLower().IndexOf (key) + key.Length; + int i = fn.IndexOf (key, StringComparison.OrdinalIgnoreCase) + key.Length; int j = fn.IndexOf (',', i); if (j == -1) j = fn.Length; PublicKeyToken = fn.Substring (i, j - i); diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/DotNetCommandFactory.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/DotNetCommandFactory.cs index 050629ac9b..cf53b84a16 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/DotNetCommandFactory.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/DotNetCommandFactory.cs @@ -31,8 +31,7 @@ namespace MonoDevelop.Core.Execution { public ProcessExecutionCommand CreateCommand (string file) { - string f = file.ToLower (); - if (f.EndsWith (".exe") || f.EndsWith (".dll")) + if (file.EndsWith (".exe", StringComparison.OrdinalIgnoreCase) || file.EndsWith (".dll", StringComparison.OrdinalIgnoreCase)) return new DotNetExecutionCommand (file); else return null; diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core/StringParserService.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core/StringParserService.cs index 8466feeede..96828f2e01 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core/StringParserService.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core/StringParserService.cs @@ -125,7 +125,7 @@ namespace MonoDevelop.Core switch (tname.ToUpper()) { case "ENV": foreach (DictionaryEntry variable in Environment.GetEnvironmentVariables ()) { - if (variable.Key.ToString ().ToUpper () == tformat.ToUpper ()) + if (string.Equals (variable.Key.ToString (), tformat, StringComparison.OrdinalIgnoreCase)) return variable.Value.ToString (); } break; diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MD1/MD1FileFormat.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MD1/MD1FileFormat.cs index bd2360350b..a47eb1437b 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MD1/MD1FileFormat.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MD1/MD1FileFormat.cs @@ -50,8 +50,8 @@ namespace MonoDevelop.Projects.MD1 public bool CanReadFile (FilePath file, Type expectedType) { - string ext = Path.GetExtension (file).ToLower (); - return ext == ".mdw" && expectedType.IsAssignableFrom (typeof(WorkspaceItem)); + string ext = Path.GetExtension (file); + return string.Equals (ext, ".mdw", StringComparison.OrdinalIgnoreCase) && expectedType.IsAssignableFrom (typeof(WorkspaceItem)); } public bool CanWriteFile (object obj) @@ -125,8 +125,8 @@ namespace MonoDevelop.Projects.MD1 public async Task<object> ReadFile (FilePath fileName, Type expectedType, ProgressMonitor monitor) { - string ext = Path.GetExtension (fileName).ToLower (); - if (ext != ".mdw") + string ext = Path.GetExtension (fileName); + if (!string.Equals (ext, ".mdw", StringComparison.OrdinalIgnoreCase)) throw new ArgumentException (); return await ReadWorkspaceItemFile (fileName, monitor); diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/CompiledAssemblyProject.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/CompiledAssemblyProject.cs index 0f3cf003aa..64c02aa332 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/CompiledAssemblyProject.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/CompiledAssemblyProject.cs @@ -184,7 +184,7 @@ namespace MonoDevelop.Projects ProjectConfiguration config = (ProjectConfiguration) GetConfiguration (configuration); if (config == null) return false; - if (FileName.Extension.ToLower () != ".exe") + if (!string.Equals (FileName.Extension, ".exe", StringComparison.OrdinalIgnoreCase)) return false; ExecutionCommand cmd = CreateExecutionCommand (configuration, config); return context.ExecutionHandler.CanExecute (cmd); @@ -210,7 +210,8 @@ namespace MonoDevelop.Projects { public override bool CanRead (FilePath file, Type expectedType) { - return expectedType.IsAssignableFrom (typeof(SolutionItem)) && (file.Extension.ToLower() == ".exe" || file.Extension.ToLower() == ".dll"); + return expectedType.IsAssignableFrom (typeof(SolutionItem)) && + (string.Equals (file.Extension, ".exe", StringComparison.OrdinalIgnoreCase) || string.Equals (file.Extension, ".dll", StringComparison.OrdinalIgnoreCase)); } public override Task<SolutionItem> LoadSolutionItem (ProgressMonitor monitor, SolutionLoadContext ctx, string fileName, MSBuildFileFormat expectedFormat, string typeGuid, string itemGuid) diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs index 34475f2785..d0a7dfe9b2 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs @@ -784,15 +784,19 @@ namespace MonoDevelop.Projects yield break; if (!File.Exists (fileName)) { - string ext = Path.GetExtension (fileName).ToLower (); - if (ext == ".dll" || ext == ".exe") - yield break; - if (File.Exists (fileName + ".dll")) - fileName = fileName + ".dll"; - else if (File.Exists (fileName + ".exe")) - fileName = fileName + ".exe"; - else + string ext = Path.GetExtension (fileName); + if (string.Equals (ext, ".dll", StringComparison.OrdinalIgnoreCase) || string.Equals (ext, ".exe", StringComparison.OrdinalIgnoreCase)) yield break; + string dllFileName = fileName + ".dll"; + if (File.Exists (dllFileName)) + fileName = dllFileName; + else { + string exeFileName = fileName + ".exe";
+ if (File.Exists (exeFileName))
+ fileName = exeFileName; + else + yield break; + } } yield return fileName; diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/WorkspaceSerializationExtension.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/WorkspaceSerializationExtension.cs index d05021ea41..f96243af37 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/WorkspaceSerializationExtension.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/WorkspaceSerializationExtension.cs @@ -38,8 +38,8 @@ namespace MonoDevelop.Projects public override bool CanRead (FilePath file, Type expectedType) { if (expectedType.IsAssignableFrom (typeof(Workspace))) { - string ext = Path.GetExtension (file).ToLower (); - if (ext == ".mdw") + string ext = Path.GetExtension (file); + if (string.Equals (ext, ".mdw", StringComparison.OrdinalIgnoreCase)) return true; } return false; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWindow.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWindow.cs index 814245f2a1..1afb7ccdc3 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWindow.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/ListWindow.cs @@ -344,7 +344,7 @@ namespace MonoDevelop.Ide.CodeCompletion int match = FindMatchedEntry (curword); if (match >= 0 && System.Char.IsPunctuation (keyChar)) { string text = DataProvider.GetCompletionText (FilteredItems [match]); - if (!text.ToUpper ().StartsWith (curword.ToUpper (), StringComparison.Ordinal)) + if (!text.StartsWith (curword, StringComparison.OrdinalIgnoreCase)) match = -1; } if (match >= 0 && keyChar != '<' && keyChar != ' ') { diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProjectExtension.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProjectExtension.cs index 097aac2935..4cfab17808 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProjectExtension.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.GettingStarted/GettingStartedProjectExtension.cs @@ -26,7 +26,7 @@ namespace MonoDevelop.Ide.GettingStarted protected override void OnInitializeFromTemplate (ProjectCreateInformation projectCreateInfo, XmlElement template) { base.OnInitializeFromTemplate (projectCreateInfo, template); - if (template.GetAttribute ("HideGettingStarted")?.ToLower () == "true") + if (string.Equals (template.GetAttribute ("HideGettingStarted"), "true", StringComparison.OrdinalIgnoreCase)) Project.UserProperties.SetValue ("HideGettingStarted", true); else showGettingStartedOnce = true; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/KeyBindingsPanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/KeyBindingsPanel.cs index f95e8b4f5d..ebbd17e7ef 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/KeyBindingsPanel.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/KeyBindingsPanel.cs @@ -132,8 +132,7 @@ namespace MonoDevelop.Ide.Gui.OptionPanels searchEntry.Ready = true; searchEntry.Visible = true; searchEntry.Changed += delegate { - processedFilterTerms = searchEntry.Entry.Text.Split (new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries) - .Select (s => s.ToLower ()).ToArray ();; + processedFilterTerms = searchEntry.Entry.Text.ToLower ().Split (new char [] { ' ' }, StringSplitOptions.RemoveEmptyEntries); filterChanged = true; if (!filterTimeoutRunning) { filterTimeoutRunning = true; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ViewCommandHandlers.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ViewCommandHandlers.cs index 18eede54f0..fd2177cd6f 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ViewCommandHandlers.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/ViewCommandHandlers.cs @@ -263,7 +263,7 @@ namespace MonoDevelop.Ide.Gui string selectedText = buffer.SelectedText; if (string.IsNullOrEmpty (selectedText)) { int pos = buffer.CaretOffset; - string ch = buffer.GetTextAt (pos, pos + 1); + string ch = buffer.GetTextAt (pos, 1); string upper = ch.ToUpper (); if (upper == ch) { buffer.CaretOffset = pos + 1; @@ -304,7 +304,7 @@ namespace MonoDevelop.Ide.Gui string selectedText = buffer.SelectedText; if (string.IsNullOrEmpty (selectedText)) { int pos = buffer.CaretOffset; - string ch = buffer.GetTextAt (pos, pos + 1); + string ch = buffer.GetTextAt (pos, 1); string lower = ch.ToLower (); if (lower == ch) { buffer.CaretOffset = pos + 1; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeTranslationFileDescriptionTemplate.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeTranslationFileDescriptionTemplate.cs index 396ff970fb..3ff4f09faa 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeTranslationFileDescriptionTemplate.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Templates/CodeTranslationFileDescriptionTemplate.cs @@ -65,7 +65,7 @@ namespace MonoDevelop.Ide.Templates string showAutogen = filenode.GetAttribute ("ShowAutogenerationNotice"); if ((showAutogen != null) && (showAutogen.Length > 0)) { try { - showAutogenerationNotice = bool.Parse (showAutogen.ToLower()); + showAutogenerationNotice = bool.Parse (showAutogen); } catch (FormatException) { throw new InvalidOperationException ("Invalid value for ShowAutogenerationNotice in template."); } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/TypeSystemService_WorkspaceHandling.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/TypeSystemService_WorkspaceHandling.cs index 5205decbd6..13a4d5fd70 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/TypeSystemService_WorkspaceHandling.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.TypeSystem/TypeSystemService_WorkspaceHandling.cs @@ -340,18 +340,18 @@ namespace MonoDevelop.Ide.TypeSystem } #region Tracked project handling - static readonly List<string> outputTrackedProjects = new List<string> (); + static readonly List<TypeSystemOutputTrackingNode> outputTrackedProjects = new List<TypeSystemOutputTrackingNode> (); static void IntitializeTrackedProjectHandling () { AddinManager.AddExtensionNodeHandler ("/MonoDevelop/TypeSystem/OutputTracking", delegate (object sender, ExtensionNodeEventArgs args) { - var projectType = ((TypeSystemOutputTrackingNode)args.ExtensionNode).LanguageName; + var node = (TypeSystemOutputTrackingNode)args.ExtensionNode; switch (args.Change) { case ExtensionChange.Add: - outputTrackedProjects.Add (projectType); + outputTrackedProjects.Add (node); break; case ExtensionChange.Remove: - outputTrackedProjects.Remove (projectType); + outputTrackedProjects.Remove (node); break; } }); @@ -386,7 +386,8 @@ namespace MonoDevelop.Ide.TypeSystem { if (project == null) throw new ArgumentNullException ("project"); - return outputTrackedProjects.Contains (project.LanguageName, StringComparer.OrdinalIgnoreCase); + return outputTrackedProjects.Any (otp => string.Equals (otp.LanguageName, project.LanguageName, StringComparison.OrdinalIgnoreCase)) || + project.GetTypeTags().Any (tag => outputTrackedProjects.Any (otp => string.Equals (otp.ProjectType, tag, StringComparison.OrdinalIgnoreCase))); } static void CheckProjectOutput (DotNetProject project, bool autoUpdate) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/UpdateService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/UpdateService.cs index 7e00179678..665e841e8c 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/UpdateService.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Updater/UpdateService.cs @@ -96,7 +96,7 @@ namespace MonoDevelop.Ide.Updater } public static bool TestModeEnabled { - get { return TestMode.Length > 0 && TestMode.ToLower () != "false"; } + get { return TestMode.Length > 0 && !string.Equals (TestMode, "false", StringComparison.OrdinalIgnoreCase); } } public static bool NotifyAddinUpdates { get; set; } diff --git a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16.png b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16.png Binary files differindex 9ef67b0f0e..e59e30653f 100644 --- a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16.png +++ b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16.png diff --git a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16@2x.png b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16@2x.png Binary files differindex 9ed89c9ffe..d3be034b66 100644 --- a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16@2x.png +++ b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16@2x.png diff --git a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark.png b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark.png Binary files differindex ecc6f08a6d..bca5f19974 100644 --- a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark.png +++ b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark.png diff --git a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark@2x.png b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark@2x.png Binary files differindex 78cd12c56b..1498dce549 100644 --- a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark@2x.png +++ b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark@2x.png diff --git a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark~sel.png b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark~sel.png Binary files differindex 8ae189920b..72bd25c249 100644 --- a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark~sel.png +++ b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark~sel.png diff --git a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark~sel@2x.png b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark~sel@2x.png Binary files differindex df2bef21c9..9de519f3ca 100644 --- a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark~sel@2x.png +++ b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~dark~sel@2x.png diff --git a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~sel.png b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~sel.png Binary files differindex 8ae189920b..7c03a00797 100644 --- a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~sel.png +++ b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~sel.png diff --git a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~sel@2x.png b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~sel@2x.png Binary files differindex df2bef21c9..9c866331cf 100644 --- a/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~sel@2x.png +++ b/main/src/core/MonoDevelop.Ide/icons/platform-macos-16~sel@2x.png |