tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

ValidateMaxParameters.cpp (872B)


      1 //
      2 // Copyright 2016 The ANGLE Project Authors. All rights reserved.
      3 // Use of this source code is governed by a BSD-style license that can be
      4 // found in the LICENSE file.
      5 //
      6 // ValidateMaxParameters checks if function definitions have more than a set number of parameters.
      7 
      8 #include "compiler/translator/ValidateMaxParameters.h"
      9 
     10 #include "compiler/translator/IntermNode.h"
     11 #include "compiler/translator/Symbol.h"
     12 
     13 namespace sh
     14 {
     15 
     16 bool ValidateMaxParameters(TIntermBlock *root, unsigned int maxParameters)
     17 {
     18    for (TIntermNode *node : *root->getSequence())
     19    {
     20        TIntermFunctionDefinition *definition = node->getAsFunctionDefinition();
     21        if (definition != nullptr &&
     22            definition->getFunctionPrototype()->getFunction()->getParamCount() > maxParameters)
     23        {
     24            return false;
     25        }
     26    }
     27    return true;
     28 }
     29 
     30 }  // namespace sh