diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2012-05-07 14:50:16 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2012-05-07 14:51:09 +0400 |
commit | 5830190996715c87a5421a5a16559e1e717bd3a7 (patch) | |
tree | ad354ee2885d8767895ce5f15c1d4c51724bcf51 | |
parent | 9277af6ec7588a204af82c1d290f832436ce07b2 (diff) |
Fixed 'Bug 4742 - [Regression] Cannot navigate to operators'.
-rw-r--r-- | main/src/addins/CSharpBinding/MonoDevelop.CSharp/AstAmbience.cs | 5 | ||||
-rw-r--r-- | main/src/addins/CSharpBinding/MonoDevelop.CSharp/PathedDocumentTextEditorExtension.cs | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp/AstAmbience.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp/AstAmbience.cs index ea7eeb8c55..01bde62ba8 100644 --- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp/AstAmbience.cs +++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp/AstAmbience.cs @@ -119,6 +119,11 @@ namespace MonoDevelop.CSharp } else if (e.Role == CustomEventDeclaration.RemoveAccessorRole) { sb.Append ("remove"); } + } else if (e is OperatorDeclaration) { + var op = e as OperatorDeclaration; + sb.Append ("operator"); + sb.Append (op.OperatorTypeToken.GetText ()); + AppendParameter (sb, op.Parameters); } else if (e is MethodDeclaration) { var method = e as MethodDeclaration; sb.Append (method.Name); diff --git a/main/src/addins/CSharpBinding/MonoDevelop.CSharp/PathedDocumentTextEditorExtension.cs b/main/src/addins/CSharpBinding/MonoDevelop.CSharp/PathedDocumentTextEditorExtension.cs index 56b91f9a57..df9f5625c7 100644 --- a/main/src/addins/CSharpBinding/MonoDevelop.CSharp/PathedDocumentTextEditorExtension.cs +++ b/main/src/addins/CSharpBinding/MonoDevelop.CSharp/PathedDocumentTextEditorExtension.cs @@ -192,7 +192,10 @@ namespace MonoDevelop.CSharp var extEditor = ext.Document.GetContent<IExtensibleTextEditor> (); if (extEditor != null) { int line, col; - if (node is EntityDeclaration && !(node is Accessor)) { + if (node is OperatorDeclaration) { + line = Math.Max (1, ((OperatorDeclaration)node).OperatorToken.StartLocation.Line); + col = Math.Max (1, ((OperatorDeclaration)node).OperatorToken.StartLocation.Column); + } else if (node is EntityDeclaration && !(node is Accessor)) { line = Math.Max (1, ((EntityDeclaration)node).NameToken.StartLocation.Line); col = Math.Max (1, ((EntityDeclaration)node).NameToken.StartLocation.Column); } else { |