remove watches from scilab debugger
[scilab.git] / scilab / modules / ast / includes / ast / timedvisitor.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2010-2010 - DIGITEO - Antoine ELIAS
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 #ifndef AST_TIMEDVISITOR_HXX
17 #define AST_TIMEDVISITOR_HXX
18
19 #include <time.h>
20 #include <string>
21 #include <iostream>
22 #include <sstream>
23
24 #include "allexp.hxx"
25 #include "allvar.hxx"
26 #include "alldec.hxx"
27 #include "runvisitor.hxx"
28 #include "timer.hxx"
29
30 namespace ast
31 {
32 class EXTERN_AST TimedVisitor : public RunVisitorT<TimedVisitor>
33 {
34 public :
35
36     TimedVisitor* clone()
37     {
38         return new TimedVisitor();
39     }
40
41     void visit(const SeqExp &e)
42     {
43         Timer timer;
44         timer.start();
45         visitprivate(e);
46         const_cast<SeqExp&>(e).setElapsedtime(timer.elapsed_time());
47     }
48
49     void visit (const MatrixExp &e)
50     {
51         visitprivate(e);
52     }
53
54     void visit (const MatrixLineExp &e)
55     {
56         visitprivate(e);
57     }
58
59     void visit (const CellExp &e)
60     {
61         visitprivate(e);
62     }
63
64     void visit (const StringExp &e)
65     {
66         visitprivate(e);
67     }
68
69     void visit (const CommentExp &e)
70     {
71         visitprivate(e);
72     }
73
74     void visit (const DoubleExp &e)
75     {
76         visitprivate(e);
77     }
78
79     void visit (const BoolExp &e)
80     {
81         visitprivate(e);
82     }
83
84     void visit (const NilExp &e)
85     {
86         visitprivate(e);
87     }
88
89     void visit (const SimpleVar &e)
90     {
91         visitprivate(e);
92     }
93
94     void visit (const ColonVar &e)
95     {
96         visitprivate(e);
97     }
98
99     void visit (const DollarVar &e)
100     {
101         visitprivate(e);
102     }
103
104     void visit (const ArrayListVar &e)
105     {
106         visitprivate(e);
107     }
108
109     void visit (const FieldExp &e)
110     {
111         visitprivate(e);
112     }
113
114     void visit (const OpExp &e)
115     {
116         visitprivate(e);
117     }
118
119     void visit (const LogicalOpExp &e)
120     {
121         visitprivate(e);
122     }
123
124     void visit (const AssignExp &e)
125     {
126         visitprivate(e);
127     }
128
129     void visit (const CellCallExp &e)
130     {
131         visitprivate(e);
132     }
133
134     void visit (const CallExp &e)
135     {
136         visitprivate(e);
137     }
138
139     void visit (const IfExp &e)
140     {
141         visitprivate(e);
142     }
143
144     void visit (const TryCatchExp &e)
145     {
146         visitprivate(e);
147     }
148
149     void visit (const WhileExp &e)
150     {
151         visitprivate(e);
152     }
153
154     void visit (const ForExp &e)
155     {
156         visitprivate(e);
157     }
158
159     void visit (const BreakExp &e)
160     {
161         visitprivate(e);
162     }
163
164     void visit (const ContinueExp &e)
165     {
166         visitprivate(e);
167     }
168
169     void visit (const ReturnExp &e)
170     {
171         visitprivate(e);
172     }
173
174     void visit (const SelectExp &e)
175     {
176         visitprivate(e);
177     }
178
179     void visit (const CaseExp &e)
180     {
181         visitprivate(e);
182     }
183
184     void visit (const ArrayListExp &e)
185     {
186         visitprivate(e);
187     }
188
189     void visit (const AssignListExp &e)
190     {
191         visitprivate(e);
192     }
193
194     void visit (const NotExp &e)
195     {
196         visitprivate(e);
197     }
198
199     void visit (const TransposeExp &e)
200     {
201         visitprivate(e);
202     }
203
204     void visit (const VarDec &e)
205     {
206         visitprivate(e);
207     }
208
209     void visit (const FunctionDec &e)
210     {
211         visitprivate(e);
212     }
213
214     void visit(const ListExp &e)
215     {
216         visitprivate(e);
217     }
218
219     /* optimized */
220     void visit(const OptimizedExp &e)
221     {
222         visitprivate(e);
223     }
224
225     void visit(const MemfillExp &e)
226     {
227         visitprivate(e);
228     }
229
230     void visit(const DAXPYExp &e)
231     {
232         visitprivate(e);
233     }
234
235     void visit(const IntSelectExp &e)
236     {
237         visitprivate(e);
238     }
239
240     void visit(const StringSelectExp &e)
241     {
242         visitprivate(e);
243     }
244 };
245 }
246 #endif // !AST_TIMEDVISITOR_HXX
247