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

Method validate

test/testtokenize.cpp:937–951  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

935 }
936
937 void validate() {
938 // C++ code in C file
939 ASSERT_THROW_INTERNAL(tokenizeAndStringify(";using namespace std;",dinit(TokenizeOptions, $.expand = false, $.cpp = false)), SYNTAX);
940 ASSERT_THROW_INTERNAL(tokenizeAndStringify(";std::map<int,int> m;",dinit(TokenizeOptions, $.expand = false, $.cpp = false)), SYNTAX);
941 ASSERT_THROW_INTERNAL(tokenizeAndStringify(";template<class T> class X { };",dinit(TokenizeOptions, $.expand = false, $.cpp = false)), SYNTAX);
942 ASSERT_THROW_INTERNAL(tokenizeAndStringify("int X<Y>() {};",dinit(TokenizeOptions, $.expand = false, $.cpp = false)), SYNTAX);
943 {
944 TokenList tokenlist{settings1, Standards::Language::C}; // headers are treated as C files
945 const char code[] = "void foo(int i) { reinterpret_cast<char>(i) };";
946 tokenlist.appendFileIfNew("test.h");
947 ASSERT(tokenlist.createTokensFromString(code));
948 Tokenizer tokenizer(std::move(tokenlist), *this);
949 ASSERT_THROW_INTERNAL(tokenizer.simplifyTokens1(""), SYNTAX);
950 }
951 }
952
953 void objectiveC() {
954 ASSERT_THROW_INTERNAL(tokenizeAndStringify("void f() { [foo bar]; }"), SYNTAX);

Callers 4

simplifyTypedefCMethod · 0.45
dumpTypedefInfoMethod · 0.45

Calls 3

appendFileIfNewMethod · 0.80
simplifyTokens1Method · 0.80

Tested by

no test coverage detected