diff options
Diffstat (limited to 'Source/ThirdParty/ANGLE/src/compiler/UnfoldShortCircuitAST.h')
-rw-r--r-- | Source/ThirdParty/ANGLE/src/compiler/UnfoldShortCircuitAST.h | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/Source/ThirdParty/ANGLE/src/compiler/UnfoldShortCircuitAST.h b/Source/ThirdParty/ANGLE/src/compiler/UnfoldShortCircuitAST.h deleted file mode 100644 index cfc500664..000000000 --- a/Source/ThirdParty/ANGLE/src/compiler/UnfoldShortCircuitAST.h +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright (c) 2002-2013 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. -// -// UnfoldShortCircuitAST is an AST traverser to replace short-circuiting -// operations with ternary operations. -// - -#ifndef COMPILER_UNFOLD_SHORT_CIRCUIT_AST_H_ -#define COMPILER_UNFOLD_SHORT_CIRCUIT_AST_H_ - -#include "common/angleutils.h" -#include "compiler/intermediate.h" - -// This traverser identifies all the short circuit binary nodes that need to -// be replaced, and creates the corresponding replacement nodes. However, -// the actual replacements happen after the traverse through updateTree(). - -class UnfoldShortCircuitAST : public TIntermTraverser -{ - public: - UnfoldShortCircuitAST() { } - - virtual bool visitBinary(Visit visit, TIntermBinary *); - - void updateTree(); - - private: - struct NodeUpdateEntry - { - NodeUpdateEntry(TIntermNode *_parent, - TIntermNode *_original, - TIntermNode *_replacement) - : parent(_parent), - original(_original), - replacement(_replacement) {} - - TIntermNode *parent; - TIntermNode *original; - TIntermNode *replacement; - }; - - // During traversing, save all the replacements that need to happen; - // then replace them by calling updateNodes(). - std::vector<NodeUpdateEntry> replacements; - - DISALLOW_COPY_AND_ASSIGN(UnfoldShortCircuitAST); -}; - -#endif // COMPILER_UNFOLD_SHORT_CIRCUIT_AST_H_ |