LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
non-object-visitor.hxx
Go to the documentation of this file.
1 
6 #ifndef AST_NON_OBJECT_VISITOR_HXX
7 # define AST_NON_OBJECT_VISITOR_HXX
8 
9 # include <misc/contract.hh>
10 # include <ast/all.hh>
11 # include <ast/non-object-visitor.hh>
12 
13 namespace ast
14 {
15 
16  template <template <typename> class Const>
18  : GenVisitor<Const>()
19  {
20  }
21 
22  template <template <typename> class Const>
24  {
25  }
26 
27 
28  /*-----------------------------------------.
29  | Object-related visit methods, disabled. |
30  `-----------------------------------------*/
31 
32  template <template <typename> class Const>
33  void
34  GenNonObjectVisitor<Const>::operator()(typename Const<ClassTy>::type&)
35  {
36  // We must not be here (there should be no object feature in plain Tiger).
37  unreached();
38  }
39 
40  template <template <typename> class Const>
41  void
42  GenNonObjectVisitor<Const>::operator()(typename Const<MethodDecs>::type&)
43  {
44  // We must not be here (there should be no object feature in plain Tiger).
45  unreached();
46  }
47 
48  template <template <typename> class Const>
49  void
50  GenNonObjectVisitor<Const>::operator()(typename Const<MethodDec>::type&)
51  {
52  // We must not be here (there should be no object feature in plain Tiger).
53  unreached();
54  }
55 
56  template <template <typename> class Const>
57  void
58  GenNonObjectVisitor<Const>::operator()(typename Const<MethodCallExp>::type&)
59  {
60  // We must not be here (there should be no object feature in plain Tiger).
61  unreached();
62  }
63 
64  template <template <typename> class Const>
65  void
66  GenNonObjectVisitor<Const>::operator()(typename Const<ObjectExp>::type&)
67  {
68  // We must not be here (there should be no object feature in plain Tiger).
69  unreached();
70  }
71 
72 } // namespace ast
73 
74 #endif // !AST_NON_OBJECT_VISITOR_HXX