bool ValidateLimitations::visitLoop(Visit, TIntermLoop *node) { if (!validateLoopType(node)) return false; if (!validateForLoopHeader(node)) return false; TIntermNode *body = node->getBody(); if (body != NULL) { mLoopStack.push(node); body->traverse(this); mLoopStack.pop(); } // The loop is fully processed - no need to visit children. return false; }
bool ValidateLimitations::visitLoop(Visit, TIntermLoop* node) { if (!validateLoopType(node)) return false; TLoopInfo info; memset(&info, 0, sizeof(TLoopInfo)); info.loop = node; if (!validateForLoopHeader(node, &info)) return false; TIntermNode* body = node->getBody(); if (body != NULL) { mLoopStack.push_back(info); body->traverse(this); mLoopStack.pop_back(); } // The loop is fully processed - no need to visit children. return false; }