996
|
1 // NilVar.h
|
|
2
|
|
3 #ifndef NIL_VAR_H_RAIL_1
|
|
4 #define NIL_VAR_H_RAIL_1
|
|
5
|
|
6 #include "Var.h"
|
|
7
|
|
8 class NilVar : public Var
|
|
9 {
|
|
10 public:
|
|
11 NilVar() {}
|
|
12 virtual ~NilVar() {}
|
|
13
|
|
14 virtual StringVar * getString(void)
|
|
15 {
|
|
16 return NULL;
|
|
17 }
|
|
18
|
|
19 virtual ListVar * getList(void)
|
|
20 {
|
|
21 return NULL;
|
|
22 }
|
|
23
|
|
24 virtual NilVar * getNil(void)
|
|
25 {
|
|
26 return this;
|
|
27 }
|
|
28
|
|
29 virtual Closure * getClosure(void)
|
|
30 {
|
|
31 return NULL;
|
|
32 }
|
|
33
|
|
34 virtual std::string toString(void) const
|
|
35 {
|
|
36 return "<NIL>";
|
|
37 }
|
|
38 private:
|
|
39 NilVar(NilVar const &) {}
|
|
40 NilVar & operator=(NilVar const &) { return *this; }
|
|
41 };
|
|
42
|
|
43 #endif
|