MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / TryGlobalStatement

Method TryGlobalStatement

LuaParser/src/Parse/LuaParser.cpp:501–548  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

499}
500
501bool LuaParser::TryGlobalStatement() {
502 auto m = Mark();
503 switch (LookAhead()) {
504 case '*':
505 Next();// Global
506 Next();
507
508 TestAndNext(';');
509 m.Complete(*this, LuaSyntaxNodeKind::GlobalStatement);
510 return true;
511 case '<':
512 Next();// Global
513 LocalAttribute();
514
515 switch (Current()) {
516 case TK_NAME:
517 GlobalNameList();
518 break;
519 case '*':
520 Next();
521 break;
522 default:
523 break;
524 }
525 TestAndNext(';');
526 m.Complete(*this, LuaSyntaxNodeKind::GlobalStatement);
527 return true;
528 case TK_FUNCTION:
529 Next();// Global
530 Next();// Function
531 CheckName();
532 FunctionBody();
533 TestAndNext(';');
534 m.Complete(*this, LuaSyntaxNodeKind::FunctionStatement);
535 break;
536 case TK_NAME:
537 Next();// Global
538 GlobalNameList();
539 TestAndNext(';');
540 m.Complete(*this, LuaSyntaxNodeKind::GlobalStatement);
541 return true;
542 default:
543 break;
544 }
545
546 m.Undo(*this);
547 return false;
548}
549
550void LuaParser::GlobalNameList() {
551 do {

Callers

nothing calls this directly

Calls 2

CompleteMethod · 0.80
UndoMethod · 0.80

Tested by

no test coverage detected