Linux GNU 11.4.0 Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 46.9% 145 / 0 / 309
Functions: -% 0 / 1 / 1
Branches: 66.7% 8 / 0 / 12

build_cmake/OMCompiler/Compiler/generated-mo/Template/VisualXMLTpl.mo
Line Branch Exec Source
1 encapsulated package VisualXMLTpl
2 "
3 file: VisualXMLTpl.mo
4 package: VisualXMLTpl
5 description: Generated by Susan.
6 "
7
8 public import Tpl;
9
10 public import Util;
11 public import VisualXML;
12 public import ExpressionBasics;
13 public import DAE;
14 public import ComponentReferenceBasics;
15 public import AbsynUtil;
16
17 public function dumpVisXML
18 input Tpl.Text txt;
19 input array<VisualXML.Visualization> a_vis;
20 input String a_fileName;
21
22 output Tpl.Text out_txt;
23 protected
24 Tpl.Text txt_0;
25 algorithm
26 3 txt_0 := dumpVisXML1(Tpl.emptyTxt, a_vis);
27 3 Tpl.textFile(txt_0, a_fileName);
28 out_txt := txt;
29 end dumpVisXML;
30
31 protected function lm_9
32 input output Tpl.Text txt;
33 input list<VisualXML.Visualization> items;
34 algorithm
35
2/2
✓ Branch 0 taken 37 times.
✓ Branch 1 taken 3 times.
40 for lstElt_9 in items loop
36 txt := match lstElt_9
37 local
38 VisualXML.Visualization i_vis;
39
40 case i_vis
41 algorithm
42 37 txt := dumpVisualization(txt, i_vis);
43 37 txt := Tpl.nextIter(txt);
44 then txt;
45 end match;
46 end for;
47 end lm_9;
48
49 public function dumpVisXML1
50 input Tpl.Text txt;
51 input array<VisualXML.Visualization> a_visArr;
52
53 output Tpl.Text out_txt;
54 protected
55 list<VisualXML.Visualization> ret_1;
56 Tpl.Text l_visDump;
57 algorithm
58 3 ret_1 := arrayList(a_visArr);
59 3 l_visDump := Tpl.pushIter(Tpl.emptyTxt, Tpl.ITER_OPTIONS(0, NONE(), SOME(Tpl.ST_NEW_LINE()), 0, 0, Tpl.ST_NEW_LINE(), 0, Tpl.ST_NEW_LINE()));
60 3 l_visDump := lm_9(l_visDump, ret_1);
61 3 l_visDump := Tpl.popIter(l_visDump);
62 3 out_txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
63 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
64 "<visualization>\n"
65 }, true));
66 3 out_txt := Tpl.writeText(out_txt, l_visDump);
67 3 out_txt := Tpl.softNewLine(out_txt);
68 3 out_txt := Tpl.writeTok(out_txt, Tpl.ST_STRING("</visualization>"));
69 end dumpVisXML1;
70
71 protected function lm_11
72 input output Tpl.Text txt;
73 input list<list<DAE.Exp>> items;
74 algorithm
75
2/2
✓ Branch 0 taken 96 times.
✓ Branch 1 taken 32 times.
128 for lstElt_11 in items loop
76 txt := match lstElt_11
77 local
78 list<DAE.Exp> i_T0;
79
80 case i_T0
81 algorithm
82 96 txt := dumpVecExp(txt, i_T0);
83 96 txt := Tpl.nextIter(txt);
84 then txt;
85 end match;
86 end for;
87 end lm_11;
88
89 protected function lm_12
90 input output Tpl.Text txt;
91 input list<list<DAE.Exp>> items;
92 algorithm
93 ✗ for lstElt_12 in items loop
94 txt := match lstElt_12
95 local
96 list<DAE.Exp> i_T0;
97
98 case i_T0
99 algorithm
100 ✗ txt := dumpVecExp(txt, i_T0);
101 ✗ txt := Tpl.nextIter(txt);
102 then txt;
103 end match;
104 end for;
105 end lm_12;
106
107 protected function lm_13
108 input output Tpl.Text txt;
109 input list<list<DAE.Exp>> items;
110 algorithm
111
2/2
✓ Branch 0 taken 15 times.
✓ Branch 1 taken 5 times.
20 for lstElt_13 in items loop
112 txt := match lstElt_13
113 local
114 list<DAE.Exp> i_T0;
115
116 case i_T0
117 algorithm
118 15 txt := dumpVecExp(txt, i_T0);
119 15 txt := Tpl.nextIter(txt);
120 then txt;
121 end match;
122 end for;
123 end lm_13;
124
125 public function dumpVisualization
126 input Tpl.Text in_txt;
127 input VisualXML.Visualization in_a_vis;
128
129 output Tpl.Text out_txt;
130 algorithm
131 out_txt :=
132 match(in_txt, in_a_vis)
133 local
134 Tpl.Text txt;
135 DAE.Exp i_transparency;
136 DAE.Exp i_multiColored;
137 DAE.Exp i_wireframe;
138 DAE.Exp i_nv;
139 DAE.Exp i_nu;
140 array<DAE.Exp> i_r__0;
141 DAE.Exp i_twoHeadedArrow;
142 DAE.Exp i_headAtOrigin;
143 DAE.Exp i_quantity;
144 array<DAE.Exp> i_coordinates;
145 DAE.Exp i_specularCoeff;
146 DAE.Exp i_extra;
147 DAE.Exp i_height;
148 DAE.Exp i_width;
149 DAE.Exp i_length;
150 String i_svalue;
151 DAE.ComponentRef i_ident;
152 array<DAE.Exp> i_color;
153 array<DAE.Exp> i_widthDir;
154 array<DAE.Exp> i_lengthDir;
155 array<DAE.Exp> i_r__shape;
156 array<DAE.Exp> i_r;
157 array<list<DAE.Exp>> i_T;
158 String ret_23;
159 list<DAE.Exp> ret_22;
160 list<DAE.Exp> ret_21;
161 Tpl.Text l_r__0Dump;
162 list<list<DAE.Exp>> ret_19;
163 String ret_18;
164 list<DAE.Exp> ret_17;
165 list<DAE.Exp> ret_16;
166 Tpl.Text l_coordDump;
167 list<DAE.Exp> ret_14;
168 list<list<DAE.Exp>> ret_13;
169 String ret_12;
170 list<DAE.Exp> ret_11;
171 Tpl.Text l_colorDump;
172 list<DAE.Exp> ret_9;
173 Tpl.Text l_wDirDump;
174 list<DAE.Exp> ret_7;
175 Tpl.Text l_lDirDump;
176 list<DAE.Exp> ret_5;
177 Tpl.Text l_r__shapeDump;
178 list<DAE.Exp> ret_3;
179 Tpl.Text l_rDump;
180 list<list<DAE.Exp>> ret_1;
181 Tpl.Text l_TDump;
182
183 case ( txt,
184 VisualXML.SHAPE(shapeType = DAE.SCONST(string = i_svalue), T = i_T, r = i_r, r_shape = i_r__shape, lengthDir = i_lengthDir, widthDir = i_widthDir, color = i_color, ident = i_ident, length = i_length, width = i_width, height = i_height, extra = i_extra, specularCoeff = i_specularCoeff) )
185 algorithm
186 32 ret_1 := arrayList(i_T);
187 32 l_TDump := Tpl.pushIter(Tpl.emptyTxt, Tpl.ITER_OPTIONS(0, NONE(), SOME(Tpl.ST_NEW_LINE()), 0, 0, Tpl.ST_NEW_LINE(), 0, Tpl.ST_NEW_LINE()));
188 32 l_TDump := lm_11(l_TDump, ret_1);
189 32 l_TDump := Tpl.popIter(l_TDump);
190 32 ret_3 := arrayList(i_r);
191 32 l_rDump := dumpVecExp(Tpl.emptyTxt, ret_3);
192 32 ret_5 := arrayList(i_r__shape);
193 32 l_r__shapeDump := dumpVecExp(Tpl.emptyTxt, ret_5);
194 32 ret_7 := arrayList(i_lengthDir);
195 32 l_lDirDump := dumpVecExp(Tpl.emptyTxt, ret_7);
196 32 ret_9 := arrayList(i_widthDir);
197 32 l_wDirDump := dumpVecExp(Tpl.emptyTxt, ret_9);
198 32 ret_11 := arrayList(i_color);
199 32 l_colorDump := dumpVecExp(Tpl.emptyTxt, ret_11);
200 32 txt := Tpl.writeTok(txt, Tpl.ST_LINE(" <shape>\n"));
201 32 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(6));
202 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING("<ident>"));
203 32 ret_12 := ComponentReferenceBasics.printComponentRefStr(i_ident);
204 32 txt := Tpl.writeStr(txt, ret_12);
205 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
206 "</ident>\n",
207 "<type>"
208 }, false));
209 32 txt := Tpl.writeStr(txt, i_svalue);
210 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
211 "</type>\n",
212 "<T>\n"
213 }, true));
214 32 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
215 32 txt := Tpl.writeText(txt, l_TDump);
216 32 txt := Tpl.softNewLine(txt);
217 32 txt := Tpl.popBlock(txt);
218 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
219 "</T>\n",
220 "<r>\n"
221 }, true));
222 32 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
223 32 txt := Tpl.writeText(txt, l_rDump);
224 32 txt := Tpl.softNewLine(txt);
225 32 txt := Tpl.popBlock(txt);
226 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
227 "</r>\n",
228 "<r_shape>\n"
229 }, true));
230 32 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
231 32 txt := Tpl.writeText(txt, l_r__shapeDump);
232 32 txt := Tpl.softNewLine(txt);
233 32 txt := Tpl.popBlock(txt);
234 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
235 "</r_shape>\n",
236 "<lengthDir>\n"
237 }, true));
238 32 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
239 32 txt := Tpl.writeText(txt, l_lDirDump);
240 32 txt := Tpl.softNewLine(txt);
241 32 txt := Tpl.popBlock(txt);
242 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
243 "</lengthDir>\n",
244 "<widthDir>\n"
245 }, true));
246 32 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
247 32 txt := Tpl.writeText(txt, l_wDirDump);
248 32 txt := Tpl.softNewLine(txt);
249 32 txt := Tpl.popBlock(txt);
250 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
251 "</widthDir>\n",
252 "<length>"
253 }, false));
254 32 txt := dumpExp(txt, i_length);
255 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
256 "</length>\n",
257 "<width>"
258 }, false));
259 32 txt := dumpExp(txt, i_width);
260 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
261 "</width>\n",
262 "<height>"
263 }, false));
264 32 txt := dumpExp(txt, i_height);
265 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
266 "</height>\n",
267 "<extra>"
268 }, false));
269 32 txt := dumpExp(txt, i_extra);
270 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
271 "</extra>\n",
272 "<color>\n"
273 }, true));
274 32 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
275 32 txt := Tpl.writeText(txt, l_colorDump);
276 32 txt := Tpl.softNewLine(txt);
277 32 txt := Tpl.popBlock(txt);
278 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
279 "</color>\n",
280 "<specCoeff>"
281 }, false));
282 32 txt := dumpExp(txt, i_specularCoeff);
283 32 txt := Tpl.writeTok(txt, Tpl.ST_LINE("</specCoeff>\n"));
284 32 txt := Tpl.popBlock(txt);
285 32 txt := Tpl.writeTok(txt, Tpl.ST_STRING(" </shape>"));
286 then txt;
287
288 case ( txt,
289 VisualXML.VECTOR(T = i_T, r = i_r, coordinates = i_coordinates, color = i_color, ident = i_ident, specularCoeff = i_specularCoeff, quantity = i_quantity, headAtOrigin = i_headAtOrigin, twoHeadedArrow = i_twoHeadedArrow) )
290 algorithm
291 ✗ ret_13 := arrayList(i_T);
292 ✗ l_TDump := Tpl.pushIter(Tpl.emptyTxt, Tpl.ITER_OPTIONS(0, NONE(), SOME(Tpl.ST_NEW_LINE()), 0, 0, Tpl.ST_NEW_LINE(), 0, Tpl.ST_NEW_LINE()));
293 ✗ l_TDump := lm_12(l_TDump, ret_13);
294 ✗ l_TDump := Tpl.popIter(l_TDump);
295 ✗ ret_14 := arrayList(i_r);
296 ✗ l_rDump := dumpVecExp(Tpl.emptyTxt, ret_14);
297 ✗ ret_16 := arrayList(i_coordinates);
298 ✗ l_coordDump := dumpVecExp(Tpl.emptyTxt, ret_16);
299 ✗ ret_17 := arrayList(i_color);
300 ✗ l_colorDump := dumpVecExp(Tpl.emptyTxt, ret_17);
301 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE(" <vector>\n"));
302 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(6));
303 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("<ident>"));
304 ✗ ret_18 := ComponentReferenceBasics.printComponentRefStr(i_ident);
305 ✗ txt := Tpl.writeStr(txt, ret_18);
306 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
307 "</ident>\n",
308 "<T>\n"
309 }, true));
310 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
311 ✗ txt := Tpl.writeText(txt, l_TDump);
312 ✗ txt := Tpl.softNewLine(txt);
313 ✗ txt := Tpl.popBlock(txt);
314 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
315 "</T>\n",
316 "<r>\n"
317 }, true));
318 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
319 ✗ txt := Tpl.writeText(txt, l_rDump);
320 ✗ txt := Tpl.softNewLine(txt);
321 ✗ txt := Tpl.popBlock(txt);
322 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
323 "</r>\n",
324 "<coordinates>\n"
325 }, true));
326 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
327 ✗ txt := Tpl.writeText(txt, l_coordDump);
328 ✗ txt := Tpl.softNewLine(txt);
329 ✗ txt := Tpl.popBlock(txt);
330 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
331 "</coordinates>\n",
332 "<color>\n"
333 }, true));
334 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
335 ✗ txt := Tpl.writeText(txt, l_colorDump);
336 ✗ txt := Tpl.softNewLine(txt);
337 ✗ txt := Tpl.popBlock(txt);
338 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
339 "</color>\n",
340 "<specCoeff>"
341 }, false));
342 ✗ txt := dumpExp(txt, i_specularCoeff);
343 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
344 "</specCoeff>\n",
345 "<quantity>"
346 }, false));
347 ✗ txt := dumpExp(txt, i_quantity);
348 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
349 "</quantity>\n",
350 "<headAtOrigin>"
351 }, false));
352 ✗ txt := dumpExp(txt, i_headAtOrigin);
353 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
354 "</headAtOrigin>\n",
355 "<twoHeadedArrow>"
356 }, false));
357 ✗ txt := dumpExp(txt, i_twoHeadedArrow);
358 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("</twoHeadedArrow>\n"));
359 ✗ txt := Tpl.popBlock(txt);
360 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING(" </vector>"));
361 then txt;
362
363 case ( txt,
364 VisualXML.SURFACE(T = i_T, r_0 = i_r__0, color = i_color, ident = i_ident, nu = i_nu, nv = i_nv, wireframe = i_wireframe, multiColored = i_multiColored, specularCoeff = i_specularCoeff, transparency = i_transparency) )
365 algorithm
366 5 ret_19 := arrayList(i_T);
367 5 l_TDump := Tpl.pushIter(Tpl.emptyTxt, Tpl.ITER_OPTIONS(0, NONE(), SOME(Tpl.ST_NEW_LINE()), 0, 0, Tpl.ST_NEW_LINE(), 0, Tpl.ST_NEW_LINE()));
368 5 l_TDump := lm_13(l_TDump, ret_19);
369 5 l_TDump := Tpl.popIter(l_TDump);
370 5 ret_21 := arrayList(i_r__0);
371 5 l_r__0Dump := dumpVecExp(Tpl.emptyTxt, ret_21);
372 5 ret_22 := arrayList(i_color);
373 5 l_colorDump := dumpVecExp(Tpl.emptyTxt, ret_22);
374 5 txt := Tpl.writeTok(txt, Tpl.ST_LINE(" <surface>\n"));
375 5 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(6));
376 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING("<ident>"));
377 5 ret_23 := ComponentReferenceBasics.printComponentRefStr(i_ident);
378 5 txt := Tpl.writeStr(txt, ret_23);
379 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
380 "</ident>\n",
381 "<T>\n"
382 }, true));
383 5 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
384 5 txt := Tpl.writeText(txt, l_TDump);
385 5 txt := Tpl.softNewLine(txt);
386 5 txt := Tpl.popBlock(txt);
387 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
388 "</T>\n",
389 "<r>\n"
390 }, true));
391 5 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
392 5 txt := Tpl.writeText(txt, l_r__0Dump);
393 5 txt := Tpl.softNewLine(txt);
394 5 txt := Tpl.popBlock(txt);
395 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
396 "</r>\n",
397 "<nu>"
398 }, false));
399 5 txt := dumpExp(txt, i_nu);
400 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
401 "</nu>\n",
402 "<nv>"
403 }, false));
404 5 txt := dumpExp(txt, i_nv);
405 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
406 "</nv>\n",
407 "<wireframe>"
408 }, false));
409 5 txt := dumpExp(txt, i_wireframe);
410 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
411 "</wireframe>\n",
412 "<multiColored>"
413 }, false));
414 5 txt := dumpExp(txt, i_multiColored);
415 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
416 "</multiColored>\n",
417 "<color>\n"
418 }, true));
419 5 txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
420 5 txt := Tpl.writeText(txt, l_colorDump);
421 5 txt := Tpl.softNewLine(txt);
422 5 txt := Tpl.popBlock(txt);
423 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
424 "</color>\n",
425 "<specCoeff>"
426 }, false));
427 5 txt := dumpExp(txt, i_specularCoeff);
428 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
429 "</specCoeff>\n",
430 "<transparency>"
431 }, false));
432 5 txt := dumpExp(txt, i_transparency);
433 5 txt := Tpl.writeTok(txt, Tpl.ST_LINE("</transparency>\n"));
434 5 txt := Tpl.popBlock(txt);
435 5 txt := Tpl.writeTok(txt, Tpl.ST_STRING(" </surface>"));
436 then txt;
437
438 case ( txt,
439 _ )
440 then txt;
441 end match;
442 end dumpVisualization;
443
444 protected function lm_15
445 input output Tpl.Text txt;
446 input list<DAE.Exp> items;
447 algorithm
448
2/2
✓ Branch 0 taken 843 times.
✓ Branch 1 taken 281 times.
1124 for lstElt_15 in items loop
449 txt := match lstElt_15
450 local
451 DAE.Exp i_vec;
452
453 case i_vec
454 algorithm
455 843 txt := dumpExp(txt, i_vec);
456 843 txt := Tpl.nextIter(txt);
457 then txt;
458 end match;
459 end for;
460 end lm_15;
461
462 public function dumpVecExp
463 input Tpl.Text txt;
464 input list<DAE.Exp> a_vector;
465
466 output Tpl.Text out_txt;
467 protected
468 Tpl.Text l_vecDump;
469 algorithm
470 281 l_vecDump := Tpl.pushIter(Tpl.emptyTxt, Tpl.ITER_OPTIONS(0, NONE(), SOME(Tpl.ST_NEW_LINE()), 0, 0, Tpl.ST_NEW_LINE(), 0, Tpl.ST_NEW_LINE()));
471 281 l_vecDump := lm_15(l_vecDump, a_vector);
472 281 l_vecDump := Tpl.popIter(l_vecDump);
473 281 out_txt := Tpl.writeText(txt, l_vecDump);
474 end dumpVecExp;
475
476 protected function lm_17
477 input output Tpl.Text txt;
478 input list<DAE.Exp> items;
479 algorithm
480 ✗ for lstElt_17 in items loop
481 txt := match lstElt_17
482 local
483 DAE.Exp i_e;
484
485 case i_e
486 algorithm
487 ✗ txt := dumpExp(txt, i_e);
488 ✗ txt := Tpl.nextIter(txt);
489 then txt;
490 end match;
491 end for;
492 end lm_17;
493
494 public function dumpExp
495 input Tpl.Text in_txt;
496 input DAE.Exp in_a_expIn;
497
498 output Tpl.Text out_txt;
499 algorithm
500 out_txt :=
501 match(in_txt, in_a_expIn)
502 local
503 Tpl.Text txt;
504 Absyn.Path i_path;
505 list<DAE.Exp> i_expLst;
506 DAE.Exp i_expElse;
507 DAE.Exp i_expThen;
508 DAE.Exp i_expCond;
509 DAE.Exp i_exp;
510 DAE.Exp i_exp2;
511 DAE.Operator i_operator;
512 DAE.Exp i_exp1;
513 DAE.Exp i_expIn;
514 Integer i_index;
515 String ret_5;
516 String ret_4;
517 Tpl.Text l_elist;
518 String ret_2;
519 String ret_1;
520 String ret_0;
521
522 case ( txt,
523 DAE.ENUM_LITERAL(index = i_index) )
524 algorithm
525 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("<enum>"));
526 ✗ ret_0 := intString(i_index);
527 ✗ txt := Tpl.writeStr(txt, ret_0);
528 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("</enum>"));
529 then txt;
530
531 case ( txt,
532 (i_expIn as DAE.BCONST(bool = _)) )
533 algorithm
534 9 txt := Tpl.writeTok(txt, Tpl.ST_STRING("<bconst>"));
535 9 ret_1 := ExpressionBasics.printExpStr(i_expIn);
536 9 txt := Tpl.writeStr(txt, ret_1);
537 9 txt := Tpl.writeTok(txt, Tpl.ST_STRING("</bconst>"));
538 then txt;
539
540 case ( txt,
541 (i_expIn as DAE.CREF(componentRef = _)) )
542 algorithm
543 223 txt := Tpl.writeTok(txt, Tpl.ST_STRING("<cref>"));
544 223 ret_2 := ExpressionBasics.printExpStr(i_expIn);
545 223 txt := Tpl.writeStr(txt, ret_2);
546 223 txt := Tpl.writeTok(txt, Tpl.ST_STRING("</cref>"));
547 then txt;
548
549 case ( txt,
550 DAE.BINARY(exp1 = i_exp1, operator = i_operator, exp2 = i_exp2) )
551 algorithm
552 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("<binary>\n"));
553 ✗ txt := dumpExp(txt, i_exp1);
554 ✗ txt := Tpl.softNewLine(txt);
555 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
556 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("<op>"));
557 ✗ txt := dumpOperator(txt, i_operator);
558 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("</op>\n"));
559 ✗ txt := Tpl.popBlock(txt);
560 ✗ txt := dumpExp(txt, i_exp2);
561 ✗ txt := Tpl.softNewLine(txt);
562 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("</binary>"));
563 then txt;
564
565 case ( txt,
566 DAE.UNARY(operator = i_operator, exp = i_exp) )
567 algorithm
568 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("<unary>\n"));
569 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
570 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("<op>"));
571 ✗ txt := dumpOperator(txt, i_operator);
572 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("</op>\n"));
573 ✗ txt := Tpl.popBlock(txt);
574 ✗ txt := dumpExp(txt, i_exp);
575 ✗ txt := Tpl.softNewLine(txt);
576 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("</unary>"));
577 then txt;
578
579 case ( txt,
580 DAE.LBINARY(exp1 = i_exp1, operator = i_operator, exp2 = i_exp2) )
581 algorithm
582 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("<lbinary>\n"));
583 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
584 ✗ txt := dumpExp(txt, i_exp1);
585 ✗ txt := Tpl.softNewLine(txt);
586 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("<op>"));
587 ✗ txt := dumpOperator(txt, i_operator);
588 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("</op>\n"));
589 ✗ txt := dumpExp(txt, i_exp2);
590 ✗ txt := Tpl.softNewLine(txt);
591 ✗ txt := Tpl.popBlock(txt);
592 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("</lbinary>"));
593 then txt;
594
595 case ( txt,
596 DAE.LUNARY(operator = i_operator, exp = i_exp) )
597 algorithm
598 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("<lunary>\n"));
599 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
600 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("<op>"));
601 ✗ txt := dumpOperator(txt, i_operator);
602 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("</op>\n"));
603 ✗ txt := Tpl.popBlock(txt);
604 ✗ txt := dumpExp(txt, i_exp);
605 ✗ txt := Tpl.softNewLine(txt);
606 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("</lunary>"));
607 then txt;
608
609 case ( txt,
610 DAE.RELATION(exp1 = i_exp1, operator = i_operator, exp2 = i_exp2) )
611 algorithm
612 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("<relation>\n"));
613 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
614 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("<exp1>"));
615 ✗ txt := dumpExp(txt, i_exp1);
616 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
617 "</exp1>\n",
618 "<op>"
619 }, false));
620 ✗ txt := dumpOperator(txt, i_operator);
621 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
622 "</op>\n",
623 "<exp2>"
624 }, false));
625 ✗ txt := dumpExp(txt, i_exp2);
626 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("</exp2>\n"));
627 ✗ txt := Tpl.popBlock(txt);
628 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("</relation>"));
629 then txt;
630
631 case ( txt,
632 DAE.IFEXP(expCond = i_expCond, expThen = i_expThen, expElse = i_expElse) )
633 algorithm
634 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("<ifexp>\n"));
635 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
636 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("<cond>"));
637 ✗ txt := dumpExp(txt, i_expCond);
638 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
639 "</cond>\n",
640 "<then>"
641 }, false));
642 ✗ txt := dumpExp(txt, i_expThen);
643 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
644 "</then>\n",
645 "<else>"
646 }, false));
647 ✗ txt := dumpExp(txt, i_expElse);
648 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("</else>\n"));
649 ✗ txt := Tpl.popBlock(txt);
650 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("</ifexp>"));
651 then txt;
652
653 case ( txt,
654 DAE.CALL(expLst = i_expLst, path = i_path) )
655 algorithm
656 ✗ l_elist := Tpl.pushIter(Tpl.emptyTxt, Tpl.ITER_OPTIONS(0, NONE(), SOME(Tpl.ST_NEW_LINE()), 0, 0, Tpl.ST_NEW_LINE(), 0, Tpl.ST_NEW_LINE()));
657 ✗ l_elist := lm_17(l_elist, i_expLst);
658 ✗ l_elist := Tpl.popIter(l_elist);
659 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("<call>\n"));
660 ✗ txt := Tpl.pushBlock(txt, Tpl.BT_INDENT(4));
661 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("<path>"));
662 ✗ ret_4 := AbsynUtil.pathString(i_path, ".", true, false);
663 ✗ txt := Tpl.writeStr(txt, ret_4);
664 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING_LIST({
665 "</path>\n",
666 "<expLst>"
667 }, false));
668 ✗ txt := Tpl.writeText(txt, l_elist);
669 ✗ txt := Tpl.writeTok(txt, Tpl.ST_LINE("</expLst>\n"));
670 ✗ txt := Tpl.popBlock(txt);
671 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("</call>"));
672 then txt;
673
674 case ( txt,
675 i_expIn )
676 algorithm
677 801 txt := Tpl.writeTok(txt, Tpl.ST_STRING("<exp>"));
678 801 ret_5 := ExpressionBasics.printExpStr(i_expIn);
679 801 txt := Tpl.writeStr(txt, ret_5);
680 801 txt := Tpl.writeTok(txt, Tpl.ST_STRING("</exp>"));
681 then txt;
682 end match;
683 end dumpExp;
684
685 public function dumpOperator
686 input Tpl.Text in_txt;
687 input DAE.Operator in_a_op;
688
689 output Tpl.Text out_txt;
690 algorithm
691 out_txt :=
692 match(in_txt, in_a_op)
693 local
694 Tpl.Text txt;
695
696 case ( txt,
697 DAE.ADD(ty = _) )
698 algorithm
699 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("add"));
700 then txt;
701
702 case ( txt,
703 DAE.SUB(ty = _) )
704 algorithm
705 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("sub"));
706 then txt;
707
708 case ( txt,
709 DAE.MUL(ty = _) )
710 algorithm
711 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("mul"));
712 then txt;
713
714 case ( txt,
715 DAE.DIV(ty = _) )
716 algorithm
717 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("div"));
718 then txt;
719
720 case ( txt,
721 DAE.POW(ty = _) )
722 algorithm
723 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("pow"));
724 then txt;
725
726 case ( txt,
727 DAE.UMINUS(ty = _) )
728 algorithm
729 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("uminus"));
730 then txt;
731
732 case ( txt,
733 DAE.UMINUS_ARR(ty = _) )
734 algorithm
735 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("uminus_arr"));
736 then txt;
737
738 case ( txt,
739 DAE.ADD_ARR(ty = _) )
740 algorithm
741 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("add_arr"));
742 then txt;
743
744 case ( txt,
745 DAE.SUB_ARR(ty = _) )
746 algorithm
747 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("sub_arr"));
748 then txt;
749
750 case ( txt,
751 DAE.MUL_ARR(ty = _) )
752 algorithm
753 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("mul_arr"));
754 then txt;
755
756 case ( txt,
757 DAE.DIV_ARR(ty = _) )
758 algorithm
759 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("siv_arr"));
760 then txt;
761
762 case ( txt,
763 DAE.MUL_ARRAY_SCALAR(ty = _) )
764 algorithm
765 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("mul_array_scalar"));
766 then txt;
767
768 case ( txt,
769 DAE.ADD_ARRAY_SCALAR(ty = _) )
770 algorithm
771 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("add_array_scalar"));
772 then txt;
773
774 case ( txt,
775 DAE.SUB_SCALAR_ARRAY(ty = _) )
776 algorithm
777 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("sub_scalar_array"));
778 then txt;
779
780 case ( txt,
781 DAE.MUL_SCALAR_PRODUCT(ty = _) )
782 algorithm
783 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("mul_scalar_product"));
784 then txt;
785
786 case ( txt,
787 DAE.MUL_MATRIX_PRODUCT(ty = _) )
788 algorithm
789 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("mul_matrix_product"));
790 then txt;
791
792 case ( txt,
793 DAE.DIV_ARRAY_SCALAR(ty = _) )
794 algorithm
795 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("div_array_scalar"));
796 then txt;
797
798 case ( txt,
799 DAE.DIV_SCALAR_ARRAY(ty = _) )
800 algorithm
801 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("siv_scalar_array"));
802 then txt;
803
804 case ( txt,
805 DAE.POW_ARRAY_SCALAR(ty = _) )
806 algorithm
807 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("pow_array_scalar"));
808 then txt;
809
810 case ( txt,
811 DAE.POW_SCALAR_ARRAY(ty = _) )
812 algorithm
813 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("pow_scalar_array"));
814 then txt;
815
816 case ( txt,
817 DAE.POW_ARR(ty = _) )
818 algorithm
819 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("pow_arr"));
820 then txt;
821
822 case ( txt,
823 DAE.POW_ARR2(ty = _) )
824 algorithm
825 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("por_arr2"));
826 then txt;
827
828 case ( txt,
829 DAE.AND(ty = _) )
830 algorithm
831 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("and"));
832 then txt;
833
834 case ( txt,
835 DAE.OR(ty = _) )
836 algorithm
837 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("or"));
838 then txt;
839
840 case ( txt,
841 DAE.NOT(ty = _) )
842 algorithm
843 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("not"));
844 then txt;
845
846 case ( txt,
847 DAE.LESS(ty = _) )
848 algorithm
849 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("less"));
850 then txt;
851
852 case ( txt,
853 DAE.LESSEQ(ty = _) )
854 algorithm
855 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("lesseq"));
856 then txt;
857
858 case ( txt,
859 DAE.GREATER(ty = _) )
860 algorithm
861 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("greater"));
862 then txt;
863
864 case ( txt,
865 DAE.GREATEREQ(ty = _) )
866 algorithm
867 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("greatereq"));
868 then txt;
869
870 case ( txt,
871 DAE.EQUAL(ty = _) )
872 algorithm
873 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("equal"));
874 then txt;
875
876 case ( txt,
877 DAE.NEQUAL(ty = _) )
878 algorithm
879 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("nequal"));
880 then txt;
881
882 case ( txt,
883 DAE.USERDEFINED(fqName = _) )
884 algorithm
885 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("userdefined"));
886 then txt;
887
888 case ( txt,
889 _ )
890 algorithm
891 ✗ txt := Tpl.writeTok(txt, Tpl.ST_STRING("-unknown operator-"));
892 then txt;
893 end match;
894 end dumpOperator;
895
896 annotation(__OpenModelica_Interface="backend");
897 end VisualXMLTpl;
898