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

Method expressionString

test/testtoken.cpp:1226–1252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1224 }
1225
1226 void expressionString() {
1227 SimpleTokenizer var1(*this);
1228 ASSERT(var1.tokenize("void f() { *((unsigned long long *)x) = 0; }"));
1229 const Token *const tok1 = Token::findsimplematch(var1.tokens(), "*");
1230 ASSERT_EQUALS("*((unsigned long long*)x)", tok1->expressionString());
1231
1232 SimpleTokenizer var2(*this);
1233 ASSERT(var2.tokenize("typedef unsigned long long u64; void f() { *((u64 *)x) = 0; }"));
1234 const Token *const tok2 = Token::findsimplematch(var2.tokens(), "*");
1235 ASSERT_EQUALS("*((unsigned long long*)x)", tok2->expressionString());
1236
1237 SimpleTokenizer data3(*this);
1238 ASSERT(data3.tokenize("void f() { return (t){1,2}; }"));
1239 ASSERT_EQUALS("return(t){1,2}", data3.tokens()->tokAt(5)->expressionString());
1240
1241 SimpleTokenizer data4(*this);
1242 ASSERT(data4.tokenize("void f() { return L\"a\"; }"));
1243 ASSERT_EQUALS("returnL\"a\"", data4.tokens()->tokAt(5)->expressionString());
1244
1245 SimpleTokenizer data5(*this);
1246 ASSERT(data5.tokenize("void f() { return U\"a\"; }"));
1247 ASSERT_EQUALS("returnU\"a\"", data5.tokens()->tokAt(5)->expressionString());
1248
1249 SimpleTokenizer data6(*this);
1250 ASSERT(data6.tokenize("x = \"\\0\\x1\\x2\\x3\\x4\\x5\\x6\\x7\";"));
1251 ASSERT_EQUALS("x=\"\\x00\\x01\\x02\\x03\\x04\\x05\\x06\\x07\"", data6.tokens()->next()->expressionString());
1252 }
1253
1254 void hasKnownIntValue() const {
1255 // pointer might be NULL

Callers 5

testValueOfXKnown_Method · 0.45
testValueOfX_Method · 0.45
lifetimeValues_Method · 0.45
asExprIdStringMethod · 0.45

Calls 4

findsimplematchFunction · 0.85
tokenizeMethod · 0.80
nextMethod · 0.80
tokAtMethod · 0.45

Tested by

no test coverage detected