summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/type/attribute.hxx
blob: e59177d11067fd5939269e32b3f55a8343372566 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
 ** \file type/attribute.hxx
 ** \brief Inline methods for type::Attribute.
 */
#pragma once

#include <misc/contract.hh>

namespace type
{
  inline misc::symbol Attribute::name_get() const { return def_->name_get(); }

  inline const Type& Attribute::type_get() const
  {
    // FIXME DONE: Some code was deleted here.
    precondition(def_->type_get() != nullptr);

    return *def_->type_get();
  }

  inline const ast::VarDec* Attribute::def_get() const { return def_; }

  inline void Attribute::def_set(const ast::VarDec* def) { def_ = def; }

} // namespace type