Skip to content

Commit d15d4ae

Browse files
committed
Add Debugger.TryLoadBool and use it for std::set
1 parent 31105ff commit d15d4ae

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

solution/GraphicalDebugging/Debugger.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,16 @@ public bool TryLoadDouble(string name, out double result)
4949
return true;
5050
}
5151

52+
public bool TryLoadBool(string name, out bool result)
53+
{
54+
result = false;
55+
Expression expr = debugger.GetExpression("(" + name + ") == true)");
56+
if (!expr.IsValidValue)
57+
return false;
58+
result = (expr.Value == "true" || expr.Value == "1");
59+
return true;
60+
}
61+
5262
/*struct AddressDifference
5363
{
5464
long Value;

solution/GraphicalDebugging/ExpressionLoader_ContainerLoader.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,8 +1286,8 @@ public override bool ForEachElement(Debugger debugger, string name, ElementPredi
12861286

12871287
private bool ForEachElementRecursive(Debugger debugger, string nodeName, ElementPredicate elementPredicate)
12881288
{
1289-
Expression expr = debugger.GetExpression("(" + nodeName + "->_Isnil == false)");
1290-
if (expr.IsValidValue && (expr.Value == "true" || expr.Value == "1"))
1289+
bool isNil;
1290+
if (debugger.TryLoadBool(nodeName + "->_Isnil", out isNil) && !isNil)
12911291
{
12921292
return ForEachElementRecursive(debugger, nodeName + "->_Left", elementPredicate)
12931293
&& elementPredicate(nodeName + "->_Myval")

0 commit comments

Comments
 (0)