source: translator/ResolvExpr/Alternative.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: 852 bytes
Line 
1#ifndef RESOLVEXPR_ALTERNATIVE_H
2#define RESOLVEXPR_ALTERNATIVE_H
3
4#include <list>
5#include "SynTree/SynTree.h"
6#include "Cost.h"
7#include "TypeEnvironment.h"
8
9namespace ResolvExpr {
10 struct Alternative;
11 typedef std::list< Alternative > AltList;
12
13 struct Alternative {
14 Alternative();
15 Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost );
16 Alternative( Expression *expr, const TypeEnvironment &env, const Cost& cost, const Cost &cvtCost );
17 Alternative( const Alternative &other );
18 Alternative &operator=( const Alternative &other );
19 ~Alternative();
20
21 void initialize( const Alternative &src, Alternative &dest );
22
23 void print( std::ostream &os, int indent = 0 ) const;
24
25 Cost cost;
26 Cost cvtCost;
27 Expression *expr;
28 TypeEnvironment env;
29 };
30} // namespace ResolvExpr
31
32#endif // RESOLVEXPR_ALTERNATIVE_H
Note: See TracBrowser for help on using the repository browser.