source: translator/ControlStruct/CaseRangeMutator.h @ 5c7fb6c

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 5c7fb6c was d9a0e76, checked in by Peter A. Buhr <pabuhr@…>, 9 years ago

remove Parser.old, add -XCFA to driver, copy ptrdiff_t from stddef.h in preclude, remove casts from initialization constants, adjust formatting

  • Property mode set to 100644
File size: 637 bytes
Line 
1#ifndef CASERNG_MUTATOR_H
2#define CASERNG_MUTATOR_H
3
4#include <list>
5
6#include "SynTree/Mutator.h"
7
8namespace ControlStruct {
9    class CaseRangeMutator : public Mutator {
10      public:
11        CaseRangeMutator() {}
12
13        virtual Statement *mutate( ChooseStmt * );
14        virtual Statement *mutate( SwitchStmt * );
15        virtual Statement *mutate( FallthruStmt * );
16        virtual Statement *mutate( CaseStmt * );
17      private:
18        void fillRange( Expression *lo, Expression *hi );
19
20        Expression *currentCondition;
21        std::list< Expression * > newCaseLabels;
22    };
23
24} // namespace ControlStruct
25
26#endif // CASERNG_MUTATOR_H
27
28/*
29  Local Variables:
30  mode: c++
31  End:
32*/
Note: See TracBrowser for help on using the repository browser.