LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
function-dec.hh
Go to the documentation of this file.
1 
6 #ifndef AST_FUNCTION_DEC_HH
7 # define AST_FUNCTION_DEC_HH
8 
9 # include <ast/exp.hh>
10 # include <ast/type-constructor.hh>
11 # include <ast/name-ty.hh>
12 # include <ast/dec.hh>
13 # include <ast/var-decs.hh>
14 
15 namespace ast
16 {
17 
19  class FunctionDec : public Dec, public TypeConstructor
20  {
21 
22  public:
24  std::list<bool> escapes_get() const
25  {
26  // FIXME: Some code was deleted here.
27  }
28 
31  public:
33  FunctionDec(const Location& location, const misc::symbol& name,
34  VarDecs* formals, NameTy* result, Exp* body);
36  virtual ~FunctionDec();
39 
40 
41  public:
43  virtual void accept(ConstVisitor& v) const override;
45  virtual void accept(Visitor& v) override;
47 
50  public:
52  const VarDecs& formals_get() const;
56  const NameTy* result_get() const;
58  NameTy* result_get();
60  const Exp* body_get() const;
62  Exp* body_get();
64  void body_set(Exp*);
67  protected:
74  };
75 
76 } // namespace ast
77 
78 # include <ast/function-dec.hxx>
79 
80 #endif // !AST_FUNCTION_DEC_HH