Browse Source

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
shortcuts
David Srbecký 18 years ago
parent
commit
71c369c2a9
  1. 2
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleIdentifierExpression.cs
  2. 7
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleMemberReferenceExpression.cs

2
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleIdentifierExpression.cs

@ -46,7 +46,7 @@ namespace Debugger.Expressions @@ -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

7
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/SimpleMemberReferenceExpression.cs

@ -38,7 +38,12 @@ namespace Debugger.Expressions @@ -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

Loading…
Cancel
Save