Skip to content

Commit

Permalink
Format
Browse files Browse the repository at this point in the history
  • Loading branch information
pfultz2 committed Sep 12, 2023
1 parent 0348057 commit 0fce6e9
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 13 deletions.
34 changes: 23 additions & 11 deletions lib/astutils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2868,7 +2868,13 @@ bool isThisChanged(const Token* start, const Token* end, int indirect, const Set
}

template<class Find>
bool isExpressionChangedImpl(const Token* expr, const Token* start, const Token* end, const Settings* settings, bool cpp, int depth, Find find)
bool isExpressionChangedImpl(const Token* expr,
const Token* start,
const Token* end,
const Settings* settings,
bool cpp,
int depth,
Find find)
{
if (depth < 0)
return true;
Expand Down Expand Up @@ -2901,29 +2907,28 @@ bool isExpressionChangedImpl(const Token* expr, const Token* start, const Token*
return true;
return false;
});
if(result)
if (result)
return true;
}
return false;
});
return result;
}

struct ExpressionChangedSimpleFind
{
struct ExpressionChangedSimpleFind {
template<class F>
const Token* operator()(const Token* start, const Token* end, F f) const
{
return findToken(start, end, f);
}
};

struct ExpressionChangedSkipDeadCode
{
struct ExpressionChangedSkipDeadCode {
const Library* library;
const std::function<std::vector<MathLib::bigint>(const Token* tok)>* evaluate;
ExpressionChangedSkipDeadCode(const Library* library, const std::function<std::vector<MathLib::bigint>(const Token* tok)>& evaluate)
: library(library), evaluate(&evaluate)
ExpressionChangedSkipDeadCode(const Library* library,
const std::function<std::vector<MathLib::bigint>(const Token* tok)>& evaluate)
: library(library), evaluate(&evaluate)
{}
template<class F>
const Token* operator()(const Token* start, const Token* end, F f) const
Expand All @@ -2934,12 +2939,19 @@ struct ExpressionChangedSkipDeadCode

bool isExpressionChanged(const Token* expr, const Token* start, const Token* end, const Settings* settings, bool cpp, int depth)
{
return isExpressionChangedImpl(expr, start, end,settings, cpp, depth, ExpressionChangedSimpleFind{});
return isExpressionChangedImpl(expr, start, end, settings, cpp, depth, ExpressionChangedSimpleFind{});
}

bool isExpressionChangedSkipDeadCode(const Token* expr, const Token* start, const Token* end, const Settings* settings, bool cpp, const std::function<std::vector<MathLib::bigint>(const Token* tok)>& evaluate, int depth)
bool isExpressionChangedSkipDeadCode(const Token* expr,
const Token* start,
const Token* end,
const Settings* settings,
bool cpp,
const std::function<std::vector<MathLib::bigint>(const Token* tok)>& evaluate,
int depth)
{
return isExpressionChangedImpl(expr, start, end,settings, cpp, depth, ExpressionChangedSkipDeadCode{&settings->library, evaluate});
return isExpressionChangedImpl(
expr, start, end, settings, cpp, depth, ExpressionChangedSkipDeadCode{&settings->library, evaluate});
}

const Token* getArgumentStart(const Token* ftok)
Expand Down
8 changes: 7 additions & 1 deletion lib/astutils.h
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,13 @@ CPPCHECKLIB bool isExpressionChanged(const Token* expr,
bool cpp,
int depth = 20);

bool isExpressionChangedSkipDeadCode(const Token* expr, const Token* start, const Token* end, const Settings* settings, bool cpp, const std::function<std::vector<MathLib::bigint>(const Token* tok)>& evaluate, int depth = 20);
bool isExpressionChangedSkipDeadCode(const Token* expr,
const Token* start,
const Token* end,
const Settings* settings,
bool cpp,
const std::function<std::vector<MathLib::bigint>(const Token* tok)>& evaluate,
int depth = 20);

bool isExpressionChangedAt(const Token* expr,
const Token* tok,
Expand Down
2 changes: 1 addition & 1 deletion lib/programmemory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ void ProgramMemoryState::removeModifiedVars(const Token* tok)
auto eval = [&](const Token* cond) -> std::vector<MathLib::bigint> {
if (conditionIsTrue(cond, pm))
return {1};
if(conditionIsFalse(cond, pm))
if (conditionIsFalse(cond, pm))
return {0};
return {};
};
Expand Down

0 comments on commit 0fce6e9

Please sign in to comment.