Lines Matching defs:program
41 bool ScopesInitPhase::Perform(PhaseContext *ctx, parser::Program *program)
43 Prepare(ctx, program);
44 program->VarBinder()->InitTopScope();
45 HandleBlockStmt(program->Ast(), GetScope());
358 void ScopesInitPhase::SetProgram(parser::Program *program) noexcept
360 program_ = program;
474 void ScopesInitPhase::Prepare(ScopesInitPhase::PhaseContext *ctx, parser::Program *program)
477 program_ = program;
724 auto program = parser::Program(varbinder->Allocator(), varbinder);
725 RunExternalNode(node, &program);
735 bool InitScopesPhaseETS::Perform(PhaseContext *ctx, parser::Program *program)
737 Prepare(ctx, program);
739 if (program->VarBinder()->TopScope() == nullptr) {
740 program->VarBinder()->InitTopScope();
741 BindScopeNode(GetScope(), program->Ast());
742 AddGlobalToBinder(program);
744 HandleProgram(program);
749 void InitScopesPhaseETS::HandleProgram(parser::Program *program)
751 for (auto &[_, prog_list] : program->ExternalSources()) {
753 auto savedTopScope(program->VarBinder()->TopScope());
768 program->VarBinder()->ResetTopScope(savedTopScope);
770 ASSERT(program->Ast() != nullptr);
772 HandleETSScript(program->Ast());
1062 void InitScopesPhaseETS::AddGlobalToBinder(parser::Program *program)
1064 auto globalId = program->GlobalClass()->Ident();
1069 auto [decl2, var] = program->VarBinder()->NewVarDecl<varbinder::ClassDecl>(globalId->Start(), globalId->Name());
1071 auto classCtx = LexicalScopeCreateOrEnter<varbinder::ClassScope>(program->VarBinder(), program->GlobalClass());
1072 classCtx.GetScope()->BindNode(program->GlobalClass());
1073 program->GlobalClass()->SetScope(classCtx.GetScope());
1075 auto *classDecl = program->GlobalClass()->Parent();