LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
cast-exp.hh
Go to the documentation of this file.
1 
6 #ifndef AST_CAST_EXP_HH
7 # define AST_CAST_EXP_HH
8 
9 # include <ast/exp.hh>
10 # include <ast/ty.hh>
11 
12 namespace ast
13 {
14 
15 
25  class CastExp : public Exp
26  {
29  public:
31  CastExp(const Location& location, Exp* exp, Ty* ty);
33  virtual ~CastExp();
36 
37 
38  public:
40  virtual void accept(ConstVisitor& v) const override;
42  virtual void accept(Visitor& v) override;
44 
47  public:
49  const Exp& exp_get() const;
51  Exp& exp_get();
53  const Ty& ty_get() const;
55  Ty& ty_get();
58  protected:
62  Ty* ty_;
63  };
64 
65 } // namespace ast
66 
67 # include <ast/cast-exp.hxx>
68 
69 #endif // !AST_CAST_EXP_HH