source: translator/ControlStruct/CaseRangeMutator.h@ 643a2e1

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 643a2e1 was d9a0e76, checked in by Peter A. Buhr <pabuhr@…>, 11 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.