1 //
2 // Copyright (c) 2002-2010 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 // SearchSymbol is an AST traverser to detect the use of a given symbol name
7 //
8 
9 #ifndef COMPILER_TRANSLATOR_SEARCHSYMBOL_H_
10 #define COMPILER_TRANSLATOR_SEARCHSYMBOL_H_
11 
12 #include "compiler/translator/IntermTraverse.h"
13 #include "compiler/translator/ParseContext.h"
14 
15 namespace sh
16 {
17 class SearchSymbol : public TIntermTraverser
18 {
19   public:
20     SearchSymbol(const TString &symbol);
21 
22     void traverse(TIntermNode *node);
23     void visitSymbol(TIntermSymbol *symbolNode) override;
24 
25     bool foundMatch() const;
26 
27   protected:
28     const TString &mSymbol;
29     bool match;
30 };
31 }
32 
33 #endif  // COMPILER_TRANSLATOR_SEARCHSYMBOL_H_
34