source: translator/ControlStruct/CaseRangeMutator.h @ 01aeade

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since 01aeade was 51587aa, checked in by Peter A. Buhr <pabuhr@…>, 9 years ago

licencing: fourth groups of files

  • Property mode set to 100644
File size: 1.1 KB
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// XXX.cc --
8//
9// Author           : Richard C. Bilson
10// Created On       : Mon May 18 07:44:20 2015
11// Last Modified By :
12// Last Modified On :
13// Update Count     : 0
14//
15#ifndef CASERNG_MUTATOR_H
16#define CASERNG_MUTATOR_H
17
18#include <list>
19
20#include "SynTree/Mutator.h"
21
22namespace ControlStruct {
23    class CaseRangeMutator : public Mutator {
24      public:
25        CaseRangeMutator() {}
26
27        virtual Statement *mutate( ChooseStmt * );
28        virtual Statement *mutate( SwitchStmt * );
29        virtual Statement *mutate( FallthruStmt * );
30        virtual Statement *mutate( CaseStmt * );
31      private:
32        void fillRange( Expression *lo, Expression *hi );
33
34        Expression *currentCondition;
35        std::list< Expression * > newCaseLabels;
36    };
37
38} // namespace ControlStruct
39
40#endif // CASERNG_MUTATOR_H
41
42/*
43  Local Variables:
44  mode: c++
45  End:
46*/
47// Local Variables: //
48// tab-width: 4 //
49// mode: c++ //
50// compile-command: "make install" //
51// End: //
Note: See TracBrowser for help on using the repository browser.