chromium/third_party/angle/src/compiler/translator/ValidateAST.h

//
// Copyright 2019 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_VALIDATEAST_H_
#define COMPILER_TRANSLATOR_VALIDATEAST_H_

#include "compiler/translator/BaseTypes.h"
#include "compiler/translator/Common.h"

namespace sh
{
class TDiagnostics;
class TIntermNode;

// The following options (stored in Compiler) tell the validator what to validate.  Some validations
// are conditional to certain passes.
struct ValidateASTOptions
{};

// Check for errors and output error messages on the context.
// Returns true if there are no errors.
bool ValidateAST(TIntermNode *root, TDiagnostics *diagnostics, const ValidateASTOptions &options);

}  // namespace sh

#endif  // COMPILER_TRANSLATOR_VALIDATESWITCH_H_