TIntermBlock *FindMainBody(TIntermBlock *root) { TIntermFunctionDefinition *main = FindMain(root); ASSERT(main != nullptr); TIntermBlock *mainBody = main->getBody(); ASSERT(mainBody != nullptr); return mainBody; }
void RunAtTheEndOfShader(TIntermBlock *root, TIntermNode *codeToRun, TSymbolTable *symbolTable) { TIntermFunctionDefinition *main = FindMain(root); if (!ContainsReturn(main)) { main->getBody()->appendStatement(codeToRun); return; } WrapMainAndAppend(root, main, codeToRun, symbolTable); }