source: translator/ResolvExpr/Alternative.h @ 42e2ad7

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 42e2ad7 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
RevLine 
[51b7345]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 {
[d9a0e76]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();
[51b7345]20 
[d9a0e76]21        void initialize( const Alternative &src, Alternative &dest );
[51b7345]22 
[d9a0e76]23        void print( std::ostream &os, int indent = 0 ) const;
[51b7345]24 
[d9a0e76]25        Cost cost;
26        Cost cvtCost;
27        Expression *expr;
28        TypeEnvironment env;
29    };
[51b7345]30} // namespace ResolvExpr
31
[d9a0e76]32#endif // RESOLVEXPR_ALTERNATIVE_H
Note: See TracBrowser for help on using the repository browser.