MCPcopy Create free account
hub / github.com/colbymchenry/codegraph / scan_multiline_comment

Function scan_multiline_comment

codegraph-kernel/grammars/kotlin/scanner.c:192–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

190}
191
192static bool scan_multiline_comment(TSLexer *lexer) {
193 if (lexer->lookahead != '/') return false;
194 advance(lexer);
195 if (lexer->lookahead != '*') return false;
196 advance(lexer);
197
198 bool after_star = false;
199 unsigned nesting_depth = 1;
200 for (;;) {
201 switch (lexer->lookahead) {
202 case '*':
203 advance(lexer);
204 after_star = true;
205 break;
206 case '/':
207 advance(lexer);
208 if (after_star) {
209 after_star = false;
210 nesting_depth -= 1;
211 if (nesting_depth == 0) {
212 lexer->result_symbol = MULTILINE_COMMENT;
213 lexer->mark_end(lexer);
214 return true;
215 }
216 } else {
217 after_star = false;
218 if (lexer->lookahead == '*') {
219 nesting_depth += 1;
220 advance(lexer);
221 }
222 }
223 break;
224 case '\0':
225 return false;
226 default:
227 advance(lexer);
228 after_star = false;
229 break;
230 }
231 }
232}
233
234static bool scan_whitespace_and_comments(TSLexer *lexer) {
235 while (iswspace(lexer->lookahead)) skip(lexer);

Calls 1

advanceFunction · 0.70

Tested by

no test coverage detected