zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
UnfoldShortCircuit.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2002-2012 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 // UnfoldShortCircuit is an AST traverser to output short-circuiting operators as if-else statements
7 //
8 
9 #ifndef COMPILER_UNFOLDSHORTCIRCUIT_H_
10 #define COMPILER_UNFOLDSHORTCIRCUIT_H_
11 
12 #include "compiler/intermediate.h"
13 #include "compiler/ParseHelper.h"
14 
15 namespace sh
16 {
17 class OutputHLSL;
18 
20 {
21  public:
23 
24  void traverse(TIntermNode *node);
25  bool visitBinary(Visit visit, TIntermBinary*);
26  bool visitSelection(Visit visit, TIntermSelection *node);
27  bool visitLoop(Visit visit, TIntermLoop *node);
28 
30 
31  protected:
34 
36 };
37 }
38 
39 #endif // COMPILER_UNFOLDSHORTCIRCUIT_H_
Visit
Definition: intermediate.h:524
bool visitSelection(Visit visit, TIntermSelection *node)
void traverse(TIntermNode *node)
bool visitLoop(Visit visit, TIntermLoop *node)
UnfoldShortCircuit(TParseContext &context, OutputHLSL *outputHLSL)
TParseContext * context
bool visitBinary(Visit visit, TIntermBinary *)
OutputHLSL *const mOutputHLSL