Edit

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

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2018-04-25 14:29:00
    Hash : 197d5294
    Message : Wrap all preprocessor code in the angle namespace. BUG=836820 BUG=801364 Change-Id: I08b6a2f9f12b689e09df6efd916c313e71e8a051 Reviewed-on: https://chromium-review.googlesource.com/1028581 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

  • src/compiler/translator/DirectiveHandler.h
  • //
    // Copyright (c) 2012 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_DIRECTIVEHANDLER_H_
    #define COMPILER_TRANSLATOR_DIRECTIVEHANDLER_H_
    
    #include "common/angleutils.h"
    #include "compiler/translator/ExtensionBehavior.h"
    #include "compiler/translator/Pragma.h"
    #include "compiler/preprocessor/DirectiveHandlerBase.h"
    #include "GLSLANG/ShaderLang.h"
    
    namespace sh
    {
    class TDiagnostics;
    
    class TDirectiveHandler : public angle::pp::DirectiveHandler, angle::NonCopyable
    {
      public:
        TDirectiveHandler(TExtensionBehavior &extBehavior,
                          TDiagnostics &diagnostics,
                          int &shaderVersion,
                          sh::GLenum shaderType,
                          bool debugShaderPrecisionSupported);
        ~TDirectiveHandler() override;
    
        const TPragma &pragma() const { return mPragma; }
        const TExtensionBehavior &extensionBehavior() const { return mExtensionBehavior; }
    
        void handleError(const angle::pp::SourceLocation &loc, const std::string &msg) override;
    
        void handlePragma(const angle::pp::SourceLocation &loc,
                          const std::string &name,
                          const std::string &value,
                          bool stdgl) override;
    
        void handleExtension(const angle::pp::SourceLocation &loc,
                             const std::string &name,
                             const std::string &behavior) override;
    
        void handleVersion(const angle::pp::SourceLocation &loc, int version) override;
    
      private:
        TPragma mPragma;
        TExtensionBehavior &mExtensionBehavior;
        TDiagnostics &mDiagnostics;
        int &mShaderVersion;
        sh::GLenum mShaderType;
        bool mDebugShaderPrecisionSupported;
    };
    
    }  // namespace sh
    
    #endif  // COMPILER_TRANSLATOR_DIRECTIVEHANDLER_H_