From 71c369c2a9c13c523a8818c1e583a0499bb6c894 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Srbeck=C3=BD?= Date: Sat, 26 Jan 2008 15:22:25 +0000 Subject: [PATCH] Fixed NullRerferenceExcpetion in SimpleMemberReference evaluator. If member not found, throw exception. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2923 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/Expressions/SimpleIdentifierExpression.cs | 2 +- .../Src/Expressions/SimpleMemberReferenceExpression.cs | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleIdentifierExpression.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleIdentifierExpression.cs index 06b63544ed..26e1559dec 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleIdentifierExpression.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleIdentifierExpression.cs @@ -46,7 +46,7 @@ namespace Debugger.Expressions if (member != null) return member; } - throw new GetValueException("Identifier " + identifier + " not found"); + throw new GetValueException("Identifier \"" + identifier + "\" not found"); } #region GetHashCode and Equals diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleMemberReferenceExpression.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleMemberReferenceExpression.cs index 3a30100e3a..5003f8bf09 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleMemberReferenceExpression.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleMemberReferenceExpression.cs @@ -38,7 +38,12 @@ namespace Debugger.Expressions protected override Value EvaluateInternal(StackFrame context) { Value targetValue = targetObject.Evaluate(context); - return targetValue.GetMemberValue(member); + Value memberValue = targetValue.GetMemberValue(member); + if (memberValue != null) { + return memberValue; + } else { + throw new GetValueException("Member \"" + member + "\" not found"); + } } #region GetHashCode and Equals