1 // 2 // Copyright 2020 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 7 #ifndef COMPILER_TRANSLATOR_MSL_SKIPPINGTRAVERSER_H_ 8 #define COMPILER_TRANSLATOR_MSL_SKIPPINGTRAVERSER_H_ 9 10 #include "compiler/translator/tree_util/IntermTraverse.h" 11 12 namespace sh 13 { 14 15 // A TIntermTraverser that skips traversing childen by default. 16 class SkippingTraverser : public TIntermTraverser 17 { 18 public: 19 SkippingTraverser(bool preVisit_, 20 bool inVisit_, 21 bool postVisit_, 22 TSymbolTable *symbolTable = nullptr) TIntermTraverser(preVisit_,inVisit_,postVisit_,symbolTable)23 : TIntermTraverser(preVisit_, inVisit_, postVisit_, symbolTable) 24 {} 25 visitSwizzle(Visit,TIntermSwizzle *)26 bool visitSwizzle(Visit, TIntermSwizzle *) { return false; } visitUnary(Visit,TIntermUnary *)27 bool visitUnary(Visit, TIntermUnary *) { return false; } visitBinary(Visit,TIntermBinary *)28 bool visitBinary(Visit, TIntermBinary *) { return false; } visitTernary(Visit,TIntermTernary *)29 bool visitTernary(Visit, TIntermTernary *) { return false; } visitIfElse(Visit,TIntermIfElse *)30 bool visitIfElse(Visit, TIntermIfElse *) { return false; } visitSwitch(Visit,TIntermSwitch *)31 bool visitSwitch(Visit, TIntermSwitch *) { return false; } visitCase(Visit,TIntermCase *)32 bool visitCase(Visit, TIntermCase *) { return false; } visitFunctionDefinition(Visit,TIntermFunctionDefinition *)33 bool visitFunctionDefinition(Visit, TIntermFunctionDefinition *) { return false; } visitAggregate(Visit,TIntermAggregate *)34 bool visitAggregate(Visit, TIntermAggregate *) { return false; } visitBlock(Visit,TIntermBlock *)35 bool visitBlock(Visit, TIntermBlock *) { return false; } visitDeclaration(Visit,TIntermDeclaration *)36 bool visitDeclaration(Visit, TIntermDeclaration *) { return false; } visitLoop(Visit,TIntermLoop *)37 bool visitLoop(Visit, TIntermLoop *) { return false; } visitBranch(Visit,TIntermBranch *)38 bool visitBranch(Visit, TIntermBranch *) { return false; } visitGlobalQualifierDeclaration(Visit,TIntermGlobalQualifierDeclaration *)39 bool visitGlobalQualifierDeclaration(Visit, TIntermGlobalQualifierDeclaration *) 40 { 41 return false; 42 } 43 }; 44 45 } // namespace sh 46 47 #endif // COMPILER_TRANSLATOR_MSL_SKIPPINGTRAVERSER_H_ 48