mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 03:28:20 +02:00
Improved debugger string comparison
This commit is contained in:
parent
1b6d9808f3
commit
0bdfea7231
3 changed files with 33 additions and 14 deletions
|
@ -5934,8 +5934,13 @@ void DbgExprEvaluator::PerformBinaryOperation(ASTREF(BfExpression*)& leftExpress
|
|||
auto& displayStringList = debugVis->mStringViews;
|
||||
|
||||
DwFormatInfo formatInfo;
|
||||
formatInfo.mCallStackIdx = mCallStackIdx;
|
||||
formatInfo.mRawString = true;
|
||||
formatInfo.mLanguage = language;
|
||||
formatInfo.mNamespaceSearch = mNamespaceSearchStr;
|
||||
formatInfo.mExplicitThis = mExplicitThis;
|
||||
if (mReferenceId != NULL)
|
||||
formatInfo.mReferenceId = *mReferenceId;
|
||||
if (!displayEntry->mCondition.empty())
|
||||
{
|
||||
if (!mDebugger->EvalCondition(debugVis, dbgCompileUnit, useTypedValue, formatInfo, displayEntry->mCondition, dbgVisWildcardCaptures, displayString))
|
||||
|
@ -5943,14 +5948,15 @@ void DbgExprEvaluator::PerformBinaryOperation(ASTREF(BfExpression*)& leftExpress
|
|||
}
|
||||
|
||||
String displayStr = mDebugger->mDebugManager->mDebugVisualizers->DoStringReplace(displayEntry->mString, dbgVisWildcardCaptures);
|
||||
mDebugger->ProcessEvalString(dbgCompileUnit, useTypedValue, displayStr, displayString, formatInfo, debugVis, false);
|
||||
if (mDebugger->ProcessEvalString(dbgCompileUnit, useTypedValue, displayStr, displayString, formatInfo, debugVis, false))
|
||||
{
|
||||
bool isEq = displayString == resultTypedValue->mCharPtr;
|
||||
|
||||
bool isEq = displayString == resultTypedValue->mCharPtr;
|
||||
|
||||
auto boolType = mDbgModule->GetPrimitiveType(DbgType_Bool, GetLanguage());
|
||||
mResult.mType = boolType;
|
||||
mResult.mBool = isEq == ((binaryOp == BfBinaryOp_Equality) || (binaryOp == BfBinaryOp_StrictEquality));
|
||||
return;
|
||||
auto boolType = mDbgModule->GetPrimitiveType(DbgType_Bool, GetLanguage());
|
||||
mResult.mType = boolType;
|
||||
mResult.mBool = isEq == ((binaryOp == BfBinaryOp_Equality) || (binaryOp == BfBinaryOp_StrictEquality));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue