| 1445 | } |
| 1446 | |
| 1447 | GDScriptTokenizerV1Compat::Token GDScriptTokenizerV1Compat::scan() { |
| 1448 | int line = get_token_line(); |
| 1449 | const TokenType g_token = get_token(); |
| 1450 | if (g_token == TokenType::G_TK_EOF) { |
| 1451 | Token data; |
| 1452 | data.type = TokenType::G_TK_EOF; |
| 1453 | data.start_line = line; |
| 1454 | data.start_column = get_token_column(); |
| 1455 | return data; |
| 1456 | } |
| 1457 | StringName id; |
| 1458 | Variant c; |
| 1459 | String err; |
| 1460 | Token data; |
| 1461 | data.type = g_token; |
| 1462 | switch (g_token) { |
| 1463 | case TokenType::G_TK_IDENTIFIER: { |
| 1464 | data.literal = get_token_identifier(); |
| 1465 | } break; |
| 1466 | case TokenType::G_TK_CONSTANT: { |
| 1467 | data.literal = get_token_constant(); |
| 1468 | } break; |
| 1469 | case TokenType::G_TK_BUILT_IN_TYPE: { |
| 1470 | data.literal = get_token_constant(); |
| 1471 | data.vtype = get_token_type(); |
| 1472 | } break; |
| 1473 | case TokenType::G_TK_BUILT_IN_FUNC: { |
| 1474 | // built-in function already has correct value |
| 1475 | data.func = get_token_built_in_func(); |
| 1476 | data.literal = decomp->get_function_name(data.func); |
| 1477 | } break; |
| 1478 | case TokenType::G_TK_NEWLINE: { |
| 1479 | current_indent = get_token_line_indent(); |
| 1480 | } break; |
| 1481 | case TokenType::G_TK_ERROR: { |
| 1482 | data.literal = get_token_error(); |
| 1483 | } break; |
| 1484 | default: { |
| 1485 | } |
| 1486 | }; |
| 1487 | data.start_line = line; |
| 1488 | data.end_line = line; |
| 1489 | data.start_column = get_token_column(); |
| 1490 | data.end_column = data.start_column; |
| 1491 | data.current_indent = current_indent; |
| 1492 | advance(); |
| 1493 | return data; |
| 1494 | } |
| 1495 | |
| 1496 | GDScriptV1TokenizerBufferCompat::GDScriptV1TokenizerBufferCompat(const GDScriptDecomp *p_decomp) : |
| 1497 | GDScriptTokenizerV1Compat(p_decomp) { |
nothing calls this directly
no test coverage detected