jitcraft/NameBinding.h
changeset 1 27f12e2fc369
parent 0 c455ebb9a5dc
child 2 46fc53b8fd2f
     1.1 --- a/jitcraft/NameBinding.h	Mon Jun 25 02:57:28 2012 -0700
     1.2 +++ b/jitcraft/NameBinding.h	Mon Jun 25 21:20:01 2012 -0700
     1.3 @@ -37,7 +37,8 @@
     1.4    public:
     1.5      enum Kind {
     1.6        VARIABLE,
     1.7 -      FUNCTION
     1.8 +      FUNCTION,
     1.9 +      TAG
    1.10      };
    1.11  
    1.12      BoundName(Scope *scope, Name *name);
    1.13 @@ -84,6 +85,25 @@
    1.14      }
    1.15  };
    1.16  
    1.17 +class NamedTag : public BoundName
    1.18 +{
    1.19 +    Tag *tag_;
    1.20 +
    1.21 +  public:
    1.22 +    NamedTag(Scope *scope, Name *name)
    1.23 +      : BoundName(scope, name),
    1.24 +        tag_(NULL)
    1.25 +    {
    1.26 +    }
    1.27 +
    1.28 +    Tag *tag() {
    1.29 +        return tag_;
    1.30 +    }
    1.31 +    void setTag(Tag *tag) {
    1.32 +        tag_ = tag;
    1.33 +    }
    1.34 +};
    1.35 +
    1.36  class Variable : public BoundName
    1.37  {
    1.38    public: