MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / isCompatibleValues

Function isCompatibleValues

lib/vf_settokenvalue.cpp:202–217  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

200 }
201
202 static bool isCompatibleValues(const Value& value1, const Value& value2)
203 {
204 if (value1.isSymbolicValue() && value2.isSymbolicValue() && value1.tokvalue->exprId() != value2.tokvalue->exprId())
205 return false;
206 if (!isCompatibleValueTypes(value1.valueType, value2.valueType))
207 return false;
208 if (value1.isKnown() || value2.isKnown())
209 return true;
210 if (value1.isImpossible() || value2.isImpossible())
211 return false;
212 if (value1.varId == 0 || value2.varId == 0)
213 return true;
214 if (value1.varId == value2.varId && value1.varvalue == value2.varvalue && value1.isIntValue() && value2.isIntValue())
215 return true;
216 return false;
217 }
218
219 /** set ValueFlow value and perform calculations if possible */
220 void setTokenValue(Token* tok,

Callers 1

setTokenValueFunction · 0.85

Calls 3

isCompatibleValueTypesFunction · 0.85
isKnownMethod · 0.80
isImpossibleMethod · 0.80

Tested by

no test coverage detected