// // Copyright 2020 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_MSL_SKIPPINGTRAVERSER_H_ #define COMPILER_TRANSLATOR_MSL_SKIPPINGTRAVERSER_H_ #include "compiler/translator/tree_util/IntermTraverse.h" namespace sh { // A TIntermTraverser that skips traversing childen by default. class SkippingTraverser : public TIntermTraverser { public: SkippingTraverser(bool preVisit_, bool inVisit_, bool postVisit_, TSymbolTable *symbolTable = nullptr) : TIntermTraverser(preVisit_, inVisit_, postVisit_, symbolTable) {} bool visitSwizzle(Visit, TIntermSwizzle *) { return false; } bool visitUnary(Visit, TIntermUnary *) { return false; } bool visitBinary(Visit, TIntermBinary *) { return false; } bool visitTernary(Visit, TIntermTernary *) { return false; } bool visitIfElse(Visit, TIntermIfElse *) { return false; } bool visitSwitch(Visit, TIntermSwitch *) { return false; } bool visitCase(Visit, TIntermCase *) { return false; } bool visitFunctionDefinition(Visit, TIntermFunctionDefinition *) { return false; } bool visitAggregate(Visit, TIntermAggregate *) { return false; } bool visitBlock(Visit, TIntermBlock *) { return false; } bool visitDeclaration(Visit, TIntermDeclaration *) { return false; } bool visitLoop(Visit, TIntermLoop *) { return false; } bool visitBranch(Visit, TIntermBranch *) { return false; } bool visitGlobalQualifierDeclaration(Visit, TIntermGlobalQualifierDeclaration *) { return false; } }; } // namespace sh #endif // COMPILER_TRANSLATOR_MSL_SKIPPINGTRAVERSER_H_