source: translator/ResolvExpr/Alternative.h @ b87a5ed

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