From 990e3eedc6ce5034af5211732eca3453139e6f93 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Thu, 27 Apr 2006 18:13:38 +0000 Subject: [PATCH] Code completion for variables defined in except-clauses. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1358 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Src/CodeCompletion/VariableLookupVisitor.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/VariableLookupVisitor.cs b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/VariableLookupVisitor.cs index 2125022648..ac78889419 100644 --- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/VariableLookupVisitor.cs +++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/VariableLookupVisitor.cs @@ -33,6 +33,8 @@ namespace Grunwald.BooBinding.CodeCompletion return GetEndSourceLocation((node as CallableBlockExpression).Body); } else if (node is ForStatement) { return GetEndSourceLocation((node as ForStatement).Block); + } else if (node is ExceptionHandler) { + return GetEndSourceLocation((node as ExceptionHandler).Block); } else if (node is Block) { StatementCollection st = (node as Block).Statements; if (st.Count > 0) { @@ -103,6 +105,14 @@ namespace Grunwald.BooBinding.CodeCompletion } } } + + public override void OnExceptionHandler(ExceptionHandler node) + { + if (node.LexicalInfo.Line <= resolver.CaretLine && GetEndSourceLocation(node).Line >= resolver.CaretLine) { + DeclarationFound(node.Declaration.Name, node.Declaration.Type ?? new SimpleTypeReference("System.Exception"), null, node.Declaration.LexicalInfo); + } + base.OnExceptionHandler(node); + } } ///