source: translator/ControlStruct/CaseRangeMutator.h@ 91b216b4

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay gc_noraii jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new string with_gc
Last change on this file since 91b216b4 was 51b73452, checked in by Peter A. Buhr <pabuhr@…>, 11 years ago

initial commit

  • Property mode set to 100644
File size: 659 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
10 class CaseRangeMutator : public Mutator
11 {
12 public:
13 CaseRangeMutator() {}
14
15 virtual Statement* mutate(ChooseStmt *);
16 virtual Statement* mutate(SwitchStmt *);
17 virtual Statement* mutate(FallthruStmt *);
18 virtual Statement* mutate(CaseStmt *);
19
20 private:
21 void fillRange(Expression *lo, Expression *hi);
22
23 Expression *currentCondition;
24 std::list< Expression * > newCaseLabels;
25 };
26
27} // namespace ControlStruct
28
29#endif // #ifndef CASERNG_MUTATOR_H
30
31/*
32 Local Variables:
33 mode: c++
34 End:
35*/
Note: See TracBrowser for help on using the repository browser.