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

Method isKeyword

test/testtokenlist.cpp:74–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72 }
73
74 void isKeyword() const {
75
76 const char code[] = "for a int delete true";
77
78 {
79 const SimpleTokenList tokenlist(code, Standards::Language::C);
80
81 ASSERT_EQUALS(true, tokenlist.front()->isKeyword());
82 ASSERT_EQUALS(true, tokenlist.front()->isControlFlowKeyword());
83 ASSERT_EQUALS(false, tokenlist.front()->next()->isKeyword());
84 ASSERT_EQUALS(false, tokenlist.front()->next()->isControlFlowKeyword());
85 ASSERT_EQUALS(false, tokenlist.front()->tokAt(2)->isKeyword());
86 ASSERT_EQUALS(true, tokenlist.front()->tokAt(2)->tokType() == Token::eType);
87 ASSERT_EQUALS(false, tokenlist.front()->tokAt(2)->isControlFlowKeyword());
88 ASSERT_EQUALS(false, tokenlist.front()->tokAt(3)->isKeyword());
89 ASSERT_EQUALS(false, tokenlist.front()->tokAt(3)->isControlFlowKeyword());
90 ASSERT_EQUALS(false, tokenlist.front()->tokAt(4)->isKeyword());
91 ASSERT_EQUALS(true, tokenlist.front()->tokAt(4)->isLiteral());
92 ASSERT_EQUALS(false, tokenlist.front()->tokAt(4)->isControlFlowKeyword());
93 }
94 {
95 const SimpleTokenList tokenlist(code);
96
97 ASSERT_EQUALS(true, tokenlist.front()->isKeyword());
98 ASSERT_EQUALS(true, tokenlist.front()->isControlFlowKeyword());
99 ASSERT_EQUALS(false, tokenlist.front()->next()->isKeyword());
100 ASSERT_EQUALS(false, tokenlist.front()->next()->isControlFlowKeyword());
101 ASSERT_EQUALS(false, tokenlist.front()->tokAt(2)->isKeyword());
102 ASSERT_EQUALS(true, tokenlist.front()->tokAt(2)->tokType() == Token::eType);
103 ASSERT_EQUALS(false, tokenlist.front()->tokAt(2)->isControlFlowKeyword());
104 ASSERT_EQUALS(true, tokenlist.front()->tokAt(3)->isKeyword());
105 ASSERT_EQUALS(false, tokenlist.front()->tokAt(3)->isControlFlowKeyword());
106 ASSERT_EQUALS(false, tokenlist.front()->tokAt(4)->isKeyword());
107 ASSERT_EQUALS(true, tokenlist.front()->tokAt(4)->isLiteral());
108 ASSERT_EQUALS(false, tokenlist.front()->tokAt(4)->isControlFlowKeyword());
109 }
110
111 {
112 const char code2[] = "_Generic"; // C11 keyword
113 const SimpleTokenList tokenlist(code2); // default settings use latest standard
114 ASSERT_EQUALS(false, tokenlist.front()->isKeyword());
115 }
116
117 {
118 const char code2[] = "_Generic"; // C11 keyword
119 const SimpleTokenList tokenlist(code2, Standards::Language::C); // default settings use latest standard
120 ASSERT_EQUALS(true, tokenlist.front()->isKeyword());
121 }
122
123 {
124 const char code2[] = "_Generic"; // C11 keyword
125 const Settings s = settingsBuilder().c(Standards::C89).build();
126 TokenList tokenlist(s, Standards::Language::C);
127 tokenlist.appendFileIfNew("a.c");
128 ASSERT(tokenlist.createTokensFromString(code2));
129 ASSERT_EQUALS(false, tokenlist.front()->isKeyword());
130 }
131

Callers

nothing calls this directly

Calls 7

frontMethod · 0.80
nextMethod · 0.80
buildMethod · 0.80
appendFileIfNewMethod · 0.80
cppMethod · 0.80
tokAtMethod · 0.45

Tested by

no test coverage detected