LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
attribute.hh
Go to the documentation of this file.
1 
5 #ifndef TYPE_ATTRIBUTE_HH
6 # define TYPE_ATTRIBUTE_HH
7 
8 # include <ast/var-dec.hh>
9 
10 namespace type
11 {
12 
16  class Attribute
17  {
20  public:
21  virtual ~Attribute();
26  public:
29  Attribute(const ast::VarDec* def);
34  public:
36  misc::symbol name_get() const;
38  const Type& type_get() const;
40  const ast::VarDec* def_get() const;
42  void def_set(const ast::VarDec* def);
45  public:
47  virtual std::ostream& dump(std::ostream& ostr) const;
48 
49  private:
50  const ast::VarDec* def_;
51  };
52 
54  std::ostream& operator<<(std::ostream& ostr, const Attribute& a);
55 
56 } // namespace type
57 
58 # include <type/attribute.hxx>
59 
60 #endif // !TYPE_ATTRIBUTE_HH