annotate ast/Stmt.d @ 203:28beb8b110ee

proper stub
author dan amlund <danamlund@gmail.com>
date Mon, 11 Aug 2008 19:43:17 +0200
parents cba8d8c063f3
children 227d6a8fb574
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
1 module ast.Stmt;
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
2
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
3 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
4 The base class for all Statements.
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
5 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
6 class Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
7 {
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
8 bool isCompundStmt() { return false; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
9 CompoundStmt asCompoundStmt() { return null; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
10
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
11 bool isDeclStmt() { return false; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
12 DeclStmt asDeclStmt() { return null; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
13
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
14 bool isExpStmt() { return false; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
15 ExpStmt asExpStmt() { return null; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
16
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
17 bool isReturnStmt() { return false; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
18 ReturnStmt asReturnStmt() { return null; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
19
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
20 bool isIfStmt() { return false; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
21 IfStmt asIfStmt() { return null; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
22
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
23 bool isWhileStmt() { return false; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
24 WhileStmt asWhileStmt() { return null; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
25
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
26 bool isForStmt() { return false; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
27 ForStmt asForStmt() { return null; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
28
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
29 bool isSwitchStmt() { return false; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
30 SwitchStmt asSwitchStmt() { return null; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
31
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
32 bool isForeachStmt() { return false; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
33 ForeachStmt asForeachStmt() { return null; }
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
34
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
35 bool isAssertStmt() { return false; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
36 AssertStmt asAssertStmt() { return null; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
37 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
38
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
39 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
40 CompoundStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
41 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
42 class CompoundStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
43 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
44 override bool isCompoundStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
45 override CompoundStmt asCompoundStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
46 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
47
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
48 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
49 DeclStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
50 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
51 class DeclStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
52 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
53 override bool isDeclStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
54 override DeclStmt asDeclStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
55 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
56
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
57 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
58 ExpStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
59 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
60 class ExpStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
61 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
62 override bool isExpStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
63 override ExpStmt asExpStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
64 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
65
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
66 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
67 ReturnStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
68 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
69 class ReturnStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
70 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
71 override bool isReturnStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
72 override ReturnStmt asReturnStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
73 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
74
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
75 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
76 IfStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
77 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
78 class IfStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
79 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
80 override bool isIfStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
81 override IfStmt asIfStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
82 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
83
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
84 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
85 WhileStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
86 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
87 class WhileStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
88 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
89 override bool isWhileStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
90 override WhileStmt asWhileStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
91 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
92
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
93 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
94 ForStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
95 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
96 class ForStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
97 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
98 override bool isForStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
99 override ForStmt asForStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
100 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
101
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
102 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
103 SwitchStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
104 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
105 class SwitchStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
106 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
107 override bool isSwitchStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
108 override SwitchStmt asSwitchStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
109 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
110
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
111 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
112 ForeachStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
113 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
114 class ForeachStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
115 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
116 override bool isForeachStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
117 override ForeachStmt asForeachStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
118 }
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
119
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
120 /**
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
121 AssertStmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
122 */
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
123 class AssertStmt : Stmt
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
124 {
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
125 override bool isAssertStmt() { return true; }
203
28beb8b110ee proper stub
dan amlund <danamlund@gmail.com>
parents: 202
diff changeset
126 override AssertStmt asAssertStmt() { return this; }
202
cba8d8c063f3 Stub Statements.
dan amlund <danamlund@gmail.com>
parents:
diff changeset
127 }