src/compiler/HIR.h
changeset 246 f9c4371d59d4
parent 245 9371f058625a
child 247 7721042bdb67
     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: