Edit

kc3-lang/angle/src/compiler/translator/RegenerateStructNames.h

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2014-08-20 17:28:54
    Hash : b9b5c105
    Message : Rename intermediate.h to Intermediate.h. This was breaking the Linux build. Change-Id: I8f63527cfa37ee774ea5d1e6eb0043a4c7ccc734 Reviewed-on: https://chromium-review.googlesource.com/213300 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>

  • src/compiler/translator/RegenerateStructNames.h
  • //
    // Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    #ifndef COMPILER_TRANSLATOR_REGENERATE_STRUCT_NAMES_H_
    #define COMPILER_TRANSLATOR_REGENERATE_STRUCT_NAMES_H_
    
    #include "compiler/translator/Intermediate.h"
    #include "compiler/translator/SymbolTable.h"
    
    #include <set>
    
    class RegenerateStructNames : public TIntermTraverser
    {
      public:
        RegenerateStructNames(const TSymbolTable &symbolTable,
                              int shaderVersion)
            : mSymbolTable(symbolTable),
              mShaderVersion(shaderVersion),
              mScopeDepth(0) {}
    
      protected:
        virtual void visitSymbol(TIntermSymbol *);
        virtual bool visitAggregate(Visit, TIntermAggregate *);
    
      private:
        const TSymbolTable &mSymbolTable;
        int mShaderVersion;
    
        // Indicating the depth of the current scope.
        // The global scope is 1.
        int mScopeDepth;
    
        // If a struct's declared globally, push its ID in this set.
        std::set<int> mDeclaredGlobalStructs;
    };
    
    #endif  // COMPILER_TRANSLATOR_REGENERATE_STRUCT_NAMES_H_