1.1 --- a/src/compiler/HIR.h Thu Dec 27 20:44:50 2012 -0800
1.2 +++ b/src/compiler/HIR.h Thu Dec 27 21:07:03 2012 -0800
1.3 @@ -39,6 +39,7 @@
1.4 _(Local) \
1.5 _(Global) \
1.6 /* End LValues */ \
1.7 + _(Unary) \
1.8 _(Binary) \
1.9 _(Convert) \
1.10 _(PostIncDec)
1.11 @@ -382,6 +383,29 @@
1.12 float value_;
1.13 };
1.14
1.15 +class HUnary : public HIR
1.16 +{
1.17 + public:
1.18 + HUnary(AstNode *node, Type *type, TokenKind tok, HIR *in)
1.19 + : HIR(node, type),
1.20 + in_(in),
1.21 + token_(tok)
1.22 + {
1.23 + }
1.24 +
1.25 + DEFINE_HIR(Unary);
1.26 + HIR *in() const {
1.27 + return in_;
1.28 + }
1.29 + TokenKind token() const {
1.30 + return token_;
1.31 + }
1.32 +
1.33 + private:
1.34 + HIR *in_;
1.35 + TokenKind token_;
1.36 +};
1.37 +
1.38 class HStore : public HIR
1.39 {
1.40 public: