| 658 | } |
| 659 | |
| 660 | AstNode *SymbolScanner::handleProgram(AstNode *node, top_down) |
| 661 | { |
| 662 | static int numberOfPrograms = 0; |
| 663 | |
| 664 | numberOfPrograms++; |
| 665 | if (1 < numberOfPrograms) |
| 666 | { |
| 667 | throw semantic_error("Cannot define more than one program per file."); |
| 668 | } |
| 669 | const Token &tok = node->getChild(0)->getToken(); |
| 670 | const string &name = tok.getStringValue(); |
| 671 | Log::debug("Program: %s\n", name.c_str()); |
| 672 | |
| 673 | Program *prog = new Program(tok); |
| 674 | m_currentProgram = prog; |
| 675 | |
| 676 | return nullptr; |
| 677 | } |
| 678 | |
| 679 | AstNode *SymbolScanner::handleProgram(AstNode *node, bottom_up) |
| 680 | { |
nothing calls this directly
no test coverage detected