diff --git a/IDEHelper/Compiler/BfDeferEvalChecker.cpp b/IDEHelper/Compiler/BfDeferEvalChecker.cpp index 52c5985b..84a942cb 100644 --- a/IDEHelper/Compiler/BfDeferEvalChecker.cpp +++ b/IDEHelper/Compiler/BfDeferEvalChecker.cpp @@ -16,6 +16,7 @@ void BfDeferEvalChecker::Visit(BfLiteralExpression* literalExpr) { switch (literalExpr->mValue.mTypeCode) { + case BfTypeCode_NullPtr: case BfTypeCode_Boolean: case BfTypeCode_Char8: case BfTypeCode_Int8: @@ -82,9 +83,11 @@ void BfDeferEvalChecker::Visit(BfInvocationExpression* invocationExpr) } void BfDeferEvalChecker::Visit(BfConditionalExpression* condExpr) -{ +{ + VisitChild(condExpr->mConditionExpression); + bool prev = mNeedsDeferEval; VisitChild(condExpr->mTrueExpression); - bool prev = mNeedsDeferEval; + prev |= mNeedsDeferEval; VisitChild(condExpr->mFalseExpression); mNeedsDeferEval |= prev; }