[mono/monodevelop] 77610dd5: Fixed 'Bug 13989 - Importable symbols selected before imported
| Newsgroups | gmane.comp.gnome.mono.patches |
|---|---|
| Message-ID | <00000141b608bed5-73307e66-a3f1-467c-bd22-ba358b865859-000000@email.amazonses.com> |
Branch: refs/heads/master
Home: https://github.com/mono/monodevelop
Compare: https://github.com/mono/monodevelop/compare/7a159de82c68...77610dd52753
Commit: 77610dd527534ab8b2c801ccb48bde242e3ec1bf
Author: Mike Krüger <[email protected]> (mkrueger)
Date: 2013-10-14 08:14:22 GMT
URL: https://github.com/mono/monodevelop/commit/77610dd527534ab8b2c801ccb48bde242e3ec1bf
Fixed 'Bug 13989 - Importable symbols selected before imported
symbols'.
Changed paths:
M main/src/addins/CSharpBinding/MonoDevelop.CSharp.Completion/CSharpCompletionTextEditorExtension.cs
M main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/ImportSymbolHandler.cs
M main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs
Modified: main/src/addins/CSharpBinding/MonoDevelop.CSharp.Completion/CSharpCompletionTextEditorExtension.cs
===================================================================
@@ -1111,6 +1111,7 @@ public ImportSymbolCompletionData (CSharpCompletionTextEditorExtension ext, bool
this.ext = ext;
this.useFullName = useFullName;
this.type = type;
+ this.DisplayFlags |= ICSharpCode.NRefactory.Completion.DisplayFlags.IsImportCompletion;
}
public override TooltipInformation CreateTooltipInformation (bool smartWrap)
@@ -1194,10 +1195,7 @@ public override string GetDisplayDescription (bool isSelected)
public override string Description {
get {
- Initialize ();
- if (generateUsing)
- return type.Namespace;
- return null;
+ return type.Namespace;
}
}
@@ -1208,19 +1206,6 @@ public override string GetDisplayDescription (bool isSelected)
}
#endregion
- public override int CompareTo (object obj)
- {
- var result = base.CompareTo (obj);
- if (result == 0) {
- var isd = obj as ImportSymbolCompletionData;
- if (isd != null) {
- result = StringComparer.OrdinalIgnoreCase.Compare (Description, isd.Description);
- } else {
- return 1;
- }
- }
- return result;
- }
List<CompletionData> overloads;
Modified: main/src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring/ImportSymbolHandler.cs
===================================================================
@@ -111,6 +111,7 @@ public ImportSymbolCompletionData (MonoDevelop.Ide.Gui.Document doc, ImportSymbo
this.ambience = AmbienceService.GetAmbience (doc.Editor.MimeType);
this.type = type;
this.unit = doc.ParsedDocument;
+ this.DisplayFlags |= ICSharpCode.NRefactory.Completion.DisplayFlags.IsImportCompletion;
}
bool initialized = false;
Modified: main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs
===================================================================
@@ -126,9 +126,17 @@ public virtual int CompareTo (object obj)
public static int Compare (ICompletionData a, ICompletionData b)
{
- var result = ((a.DisplayFlags & DisplayFlags.Obsolete) == (b.DisplayFlags & DisplayFlags.Obsolete))
- ? StringComparer.OrdinalIgnoreCase.Compare (a.DisplayText, b.DisplayText)
- : (a.DisplayFlags & DisplayFlags.Obsolete) != 0 ? 1 : -1;
+ var result = ((a.DisplayFlags & DisplayFlags.Obsolete) == (b.DisplayFlags & DisplayFlags.Obsolete)) ? StringComparer.OrdinalIgnoreCase.Compare (a.DisplayText, b.DisplayText) : (a.DisplayFlags & DisplayFlags.Obsolete) != 0 ? 1 : -1;
+ if (result == 0) {
+ var aIsImport = (a.DisplayFlags & DisplayFlags.IsImportCompletion) != 0;
+ var bIsImport = (b.DisplayFlags & DisplayFlags.IsImportCompletion) != 0;
+ if (!aIsImport && bIsImport)
+ return -1;
+ if (aIsImport && !bIsImport)
+ return 1;
+ if (aIsImport && bIsImport)
+ return StringComparer.Ordinal.Compare (a.Description, b.Description);
+ }
return result;
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches