Project

General

Profile

Revision 5

Added by Willibald K. almost 9 years ago

Fixing undefined behavior in C++ AST.

View differences:

trunk/compiler/cppAst/ast/serialize/ProtoBufAstTraversal.cpp
102 102
void ProtoBufAstTraversal::allocate(const serialize::PBFunctionCall& call){
103 103
	void* object;
104 104

  
105
	int i = 0;
106 105
	switch (call.allocate()) {
107 106
		case serialize::PBAllocation::TIRESIAS_CREATE_IDENTIFIER :
108 107
		{
109 108
			// DLL void* TIRESIAS_CREATE_IDENTIFIER(void* context, std::int32_t ordinal, std::int32_t subOrd);
110 109
			object = TIRESIAS_CREATE_IDENTIFIER (m_context
111
					, call.parameters(i++).int32_value()
112
					, call.parameters(i++).int32_value());
110
					, call.parameters(0).int32_value()
111
					, call.parameters(1).int32_value());
113 112
			break;
114 113
		}
115 114
		case serialize::PBAllocation::TIRESIAS_CREATE_TYPE :
116 115
		{
117 116
			// DLL void* TIRESIAS_CREATE_TYPE(void* context, std::int32_t ordinal);
118
			object = TIRESIAS_CREATE_TYPE (m_context
119
					, call.parameters(i++).int32_value());
117
			object = TIRESIAS_CREATE_TYPE (m_context, call.parameters(0).int32_value());
120 118
			break;
121 119
		}
122 120
		case serialize::PBAllocation::TIRESIAS_CREATE_STATEMENT :
123 121
		{
124 122
			// DLL void* TIRESIAS_CREATE_STATEMENT(void* context, std::int32_t ordinal);
125
			object = TIRESIAS_CREATE_STATEMENT (m_context
126
					, call.parameters(i++).int32_value());
123
			object = TIRESIAS_CREATE_STATEMENT (m_context, call.parameters(0).int32_value());
127 124
			break;
128 125
		}
129 126
		case serialize::PBAllocation::TIRESIAS_CREATE_EXPRESSION :
130 127
		{
131 128
			// DLL void* TIRESIAS_CREATE_EXPRESSION(void* context, std::int32_t ordinal, std::int32_t subOrd);
132 129
			object = TIRESIAS_CREATE_EXPRESSION (m_context
133
					, call.parameters(i++).int32_value()
134
					, call.parameters(i++).int32_value());
130
					, call.parameters(0).int32_value()
131
					, call.parameters(1).int32_value());
135 132
			break;
136 133
		}
137 134
		case serialize::PBAllocation::TIRESIAS_CREATE_IDENTIFIERLIST :
......
177 174
		case serialize::PBAllocation::TIRESIAS_CAST_ASTELEMENT_TO_ISCOPE :
178 175
		{
179 176
			// DLL void* TIRESIAS_CAST_ASTELEMENT_TO_ISCOPE(void* context, void* astelement);
180
			object = TIRESIAS_CAST_ASTELEMENT_TO_ISCOPE (m_context
181
					, m_objects.at(call.parameters(i++).uint64_value()));
177
			object = TIRESIAS_CAST_ASTELEMENT_TO_ISCOPE(m_context
178
						, m_objects.at(call.parameters(0).uint64_value()));
182 179
			break;
183 180
		}
184 181
		default:
......
194 191
 * Calls to functions that add objects to containers, like add identifier to symboltable etc.
195 192
 * */
196 193
void ProtoBufAstTraversal::add(const serialize::PBFunctionCall& call){
197
	int i = 0;
198 194
	switch (call.add()) {
199 195
		case serialize::PBAdd::TIRESIAS_ADD_IDENTIFIERTOLIST :
200 196
		{
201 197
			// DLL bool TIRESIAS_ADD_IDENTIFIERTOLIST(void* context, void* idList, void* idRef);
202 198
			TIRESIAS_ADD_IDENTIFIERTOLIST (m_context
203
					, m_objects.at(call.parameters(i++).uint64_value())
204
					, m_objects.at(call.parameters(i++).uint64_value()));
199
					, m_objects.at(call.parameters(0).uint64_value())
200
					, m_objects.at(call.parameters(1).uint64_value()));
205 201
			break;
206 202
		}
207 203
		case serialize::PBAdd::TIRESIAS_ADD_TYPETOLIST :
208 204
		{
209 205
			// DLL bool TIRESIAS_ADD_TYPETOLIST(void* context, void* typeList, void* type);
210 206
			TIRESIAS_ADD_TYPETOLIST (m_context
211
					, m_objects.at(call.parameters(i++).uint64_value())
212
					, m_objects.at(call.parameters(i++).uint64_value()));
207
					, m_objects.at(call.parameters(0).uint64_value())
208
					, m_objects.at(call.parameters(1).uint64_value()));
213 209
			break;
214 210
		}
215 211
		case serialize::PBAdd::TIRESIAS_ADD_STATEMENTTOLIST :
216 212
		{
217 213
			// DLL bool TIRESIAS_ADD_STATEMENTTOLIST(void* context, void* stmtList, void* stmntRef);
218 214
			TIRESIAS_ADD_STATEMENTTOLIST (m_context
219
					, m_objects.at(call.parameters(i++).uint64_value())
220
					, m_objects.at(call.parameters(i++).uint64_value()));
215
					, m_objects.at(call.parameters(0).uint64_value())
216
					, m_objects.at(call.parameters(1).uint64_value()));
221 217
			break;
222 218
		}
223 219
		case serialize::PBAdd::TIRESIAS_ADD_EXPRESSIONTOLIST :
224 220
		{
225 221
			// DLL bool TIRESIAS_ADD_EXPRESSIONTOLIST(void* context, void* exprList, void* exprRef);
226 222
			TIRESIAS_ADD_EXPRESSIONTOLIST (m_context
227
					, m_objects.at(call.parameters(i++).uint64_value())
228
					, m_objects.at(call.parameters(i++).uint64_value()));
223
					, m_objects.at(call.parameters(0).uint64_value())
224
					, m_objects.at(call.parameters(1).uint64_value()));
229 225
			break;
230 226
		}
231 227
		case serialize::PBAdd::TIRESIAS_ADD_IDTOSYMBTAB :
232 228
		{
233 229
			// DLL bool TIRESIAS_ADD_IDTOSYMBTAB(void* context, void* symbolTable, void* identifier);
234 230
			TIRESIAS_ADD_IDTOSYMBTAB (m_context
235
					, m_objects.at(call.parameters(i++).uint64_value())
236
					, m_objects.at(call.parameters(i++).uint64_value()));
231
					, m_objects.at(call.parameters(0).uint64_value())
232
					, m_objects.at(call.parameters(1).uint64_value()));
237 233
			break;
238 234
		}
239 235
		case serialize::PBAdd::TIRESIAS_ADD_PARAMTOLIST :
240 236
		{
241 237
			// DLL bool TIRESIAS_ADD_PARAMTOLIST(void* context, void* parameterList, void* par);
242 238
			TIRESIAS_ADD_PARAMTOLIST (m_context
243
					, m_objects.at(call.parameters(i++).uint64_value())
244
					, m_objects.at(call.parameters(i++).uint64_value()));
239
					, m_objects.at(call.parameters(0).uint64_value())
240
					, m_objects.at(call.parameters(1).uint64_value()));
245 241
			break;
246 242
		}
247 243
		case serialize::PBAdd::TIRESIAS_ADD_ACTIONSYSTEMINSTANCETOLIST :
248 244
		{
249 245
			// DLL bool TIRESIAS_ADD_ACTIONSYSTEMINSTANCETOLIST(void* context, void* objectsList, void* instanceRef);
250 246
			TIRESIAS_ADD_ACTIONSYSTEMINSTANCETOLIST (m_context
251
					, m_objects.at(call.parameters(i++).uint64_value())
252
					, m_objects.at(call.parameters(i++).uint64_value()));
247
					, m_objects.at(call.parameters(0).uint64_value())
248
					, m_objects.at(call.parameters(1).uint64_value()));
253 249
			break;
254 250
		}
255 251
		case serialize::PBAdd::TIRESIAS_ADD_IDENTIFIERTOBLOCK :
256 252
		{
257 253
			// DLL bool TIRESIAS_ADD_IDENTIFIERTOBLOCK(void* context, void* idList, void* idRef);
258 254
			TIRESIAS_ADD_IDENTIFIERTOBLOCK (m_context
259
					, m_objects.at(call.parameters(i++).uint64_value())
260
					, m_objects.at(call.parameters(i++).uint64_value()));
255
					, m_objects.at(call.parameters(0).uint64_value())
256
					, m_objects.at(call.parameters(1).uint64_value()));
261 257
			break;
262 258
		}
263 259
		default:
......
270 266
 * Calls to functions that initialize the various subtypes of Identifier.
271 267
 * */
272 268
void ProtoBufAstTraversal::identifier(const serialize::PBFunctionCall& call){
273
	int i = 0;
269
	bool ok = true;
274 270
	switch (call.identifier()) {
275 271
		case serialize::PBIdentifiers::TIRESIAS_INIT_ENUMIDENTIFIER :
276 272
		{
277 273
	//		DLL bool TIRESIAS_INIT_ENUMIDENTIFIER(void* context,
278 274
	//				void* enumId, std::int32_t line, std::int32_t col, const char* text,
279 275
	//				void* scopeRef, void* typeRef, bool haveValue, std::int32_t value);
280
			TIRESIAS_INIT_ENUMIDENTIFIER (m_context
281
					, m_objects.at(call.parameters(i++).uint64_value())
282
					, call.parameters(i++).int32_value()
283
					, call.parameters(i++).int32_value()
284
					, call.parameters(i++).literal_value().c_str()
285
					, m_objects.at(call.parameters(i++).uint64_value())
286
					, m_objects.at(call.parameters(i++).uint64_value())
287
					, call.parameters(i++).bool_value()
288
					, call.parameters(i++).int32_value());
276
			ok = TIRESIAS_INIT_ENUMIDENTIFIER (m_context
277
					, m_objects.at(call.parameters(0).uint64_value())
278
					, call.parameters(1).int32_value()
279
					, call.parameters(2).int32_value()
280
					, call.parameters(3).literal_value().c_str()
281
					, m_objects.at(call.parameters(4).uint64_value())
282
					, m_objects.at(call.parameters(5).uint64_value())
283
					, call.parameters(6).bool_value()
284
					, call.parameters(7).int32_value());
289 285
			break;
290 286
		}
291 287
		case serialize::PBIdentifiers::TIRESIAS_INIT_CONSTIDENTIFIER :
......
293 289
	//		DLL bool TIRESIAS_INIT_CONSTIDENTIFIER(void* context,
294 290
	//				void* constId, std::int32_t line, std::int32_t col, const char* text,
295 291
	//				void* scopeRef, void* typeRef, void* valueRef);
296
			TIRESIAS_INIT_CONSTIDENTIFIER (m_context
297
					, m_objects.at(call.parameters(i++).uint64_value())
298
					, call.parameters(i++).int32_value()
299
					, call.parameters(i++).int32_value()
300
					, call.parameters(i++).literal_value().c_str()
301
					, m_objects.at(call.parameters(i++).uint64_value())
302
					, m_objects.at(call.parameters(i++).uint64_value())
303
					, m_objects.at(call.parameters(i++).uint64_value()));
292
			ok = TIRESIAS_INIT_CONSTIDENTIFIER (m_context
293
					, m_objects.at(call.parameters(0).uint64_value())
294
					, call.parameters(1).int32_value()
295
					, call.parameters(2).int32_value()
296
					, call.parameters(3).literal_value().c_str()
297
					, m_objects.at(call.parameters(4).uint64_value())
298
					, m_objects.at(call.parameters(5).uint64_value())
299
					, m_objects.at(call.parameters(6).uint64_value()));
304 300
			break;
305 301
		}
306 302
		case serialize::PBIdentifiers::TIRESIAS_INIT_ATTRIDENTIFIER :
......
309 305
	//				void* attrId, std::int32_t line, std::int32_t col, const char* text,
310 306
	//				void* scopeRef, void* typeRef, void* initRef,
311 307
	//				bool isStatic, bool isControllable, bool isObservable);
312
			TIRESIAS_INIT_ATTRIDENTIFIER (m_context
313
					, m_objects.at(call.parameters(i++).uint64_value())
314
					, call.parameters(i++).int32_value()
315
					, call.parameters(i++).int32_value()
316
					, call.parameters(i++).literal_value().c_str()
317
					, m_objects.at(call.parameters(i++).uint64_value())
318
					, m_objects.at(call.parameters(i++).uint64_value())
319
					, m_objects.at(call.parameters(i++).uint64_value())
320
					, call.parameters(i++).bool_value()
321
					, call.parameters(i++).bool_value()
322
					, call.parameters(i++).bool_value());
308
			ok = TIRESIAS_INIT_ATTRIDENTIFIER (m_context
309
					, m_objects.at(call.parameters(0).uint64_value())
310
					, call.parameters(1).int32_value()
311
					, call.parameters(2).int32_value()
312
					, call.parameters(3).literal_value().c_str()
313
					, m_objects.at(call.parameters(4).uint64_value())
314
					, m_objects.at(call.parameters(5).uint64_value())
315
					, m_objects.at(call.parameters(6).uint64_value())
316
					, call.parameters(7).bool_value()
317
					, call.parameters(8).bool_value()
318
					, call.parameters(9).bool_value());
323 319
			break;
324 320
		}
325 321
		case serialize::PBIdentifiers::TIRESIAS_INIT_EXPRVARIDENTIFIER :
......
327 323
	//		DLL bool TIRESIAS_INIT_EXPRVARIDENTIFIER(void* context,
328 324
	//				void* exprVarId, std::int32_t line, std::int32_t col, const char* text,
329 325
	//				void* scopeRef, void* typeRef, bool initialized);
330
			TIRESIAS_INIT_EXPRVARIDENTIFIER (m_context
331
					, m_objects.at(call.parameters(i++).uint64_value())
332
					, call.parameters(i++).int32_value()
333
					, call.parameters(i++).int32_value()
334
					, call.parameters(i++).literal_value().c_str()
335
					, m_objects.at(call.parameters(i++).uint64_value())
336
					, m_objects.at(call.parameters(i++).uint64_value())
337
					, call.parameters(i++).bool_value());
326
			ok = TIRESIAS_INIT_EXPRVARIDENTIFIER (m_context
327
					, m_objects.at(call.parameters(0).uint64_value())
328
					, call.parameters(1).int32_value()
329
					, call.parameters(2).int32_value()
330
					, call.parameters(3).literal_value().c_str()
331
					, m_objects.at(call.parameters(4).uint64_value())
332
					, m_objects.at(call.parameters(5).uint64_value())
333
					, call.parameters(6).bool_value());
338 334
			break;
339 335
		}
340 336
		case serialize::PBIdentifiers::TIRESIAS_INIT_PARAMIDENTIFIER :
......
342 338
	//		DLL bool TIRESIAS_INIT_PARAMIDENTIFIER(void* context,
343 339
	//				void* paramId, std::int32_t line, std::int32_t column, const char* text,
344 340
	//				void* scopeRef, void* typeRef);
345
			TIRESIAS_INIT_PARAMIDENTIFIER (m_context
346
					, m_objects.at(call.parameters(i++).uint64_value())
347
					, call.parameters(i++).int32_value()
348
					, call.parameters(i++).int32_value()
349
					, call.parameters(i++).literal_value().c_str()
350
					, m_objects.at(call.parameters(i++).uint64_value())
351
					, m_objects.at(call.parameters(i++).uint64_value()));
341
			ok = TIRESIAS_INIT_PARAMIDENTIFIER (m_context
342
					, m_objects.at(call.parameters(0).uint64_value())
343
					, call.parameters(1).int32_value()
344
					, call.parameters(2).int32_value()
345
					, call.parameters(3).literal_value().c_str()
346
					, m_objects.at(call.parameters(4).uint64_value())
347
					, m_objects.at(call.parameters(5).uint64_value()));
352 348
			break;
353 349
		}
354 350
		case serialize::PBIdentifiers::TIRESIAS_INIT_LOCVARIDENTIFIER :
......
356 352
	//		DLL bool TIRESIAS_INIT_LOCVARIDENTIFIER(void* context,
357 353
	//				void* locVarId, std::int32_t line, std::int32_t column, const char* text,
358 354
	//				void* scopeRef, void* typeRef);
359
			TIRESIAS_INIT_LOCVARIDENTIFIER (m_context
360
					, m_objects.at(call.parameters(i++).uint64_value())
361
					, call.parameters(i++).int32_value()
362
					, call.parameters(i++).int32_value()
363
					, call.parameters(i++).literal_value().c_str()
364
					, m_objects.at(call.parameters(i++).uint64_value())
365
					, m_objects.at(call.parameters(i++).uint64_value()));
355
			ok = TIRESIAS_INIT_LOCVARIDENTIFIER (m_context
356
					, m_objects.at(call.parameters(0).uint64_value())
357
					, call.parameters(1).int32_value()
358
					, call.parameters(2).int32_value()
359
					, call.parameters(3).literal_value().c_str()
360
					, m_objects.at(call.parameters(4).uint64_value())
361
					, m_objects.at(call.parameters(5).uint64_value()));
366 362
			break;
367 363
		}
368 364
		case serialize::PBIdentifiers::TIRESIAS_INIT_TYPEIDENTIFIER :
......
370 366
	//		DLL bool TIRESIAS_INIT_TYPEIDENTIFIER(void* context,
371 367
	//				void* typeId, std::int32_t line, std::int32_t column, const char* text,
372 368
	//				void* scopeRef, void* typeRef, const char* prefix);
373
			TIRESIAS_INIT_TYPEIDENTIFIER (m_context
374
					, m_objects.at(call.parameters(i++).uint64_value())
375
					, call.parameters(i++).int32_value()
376
					, call.parameters(i++).int32_value()
377
					, call.parameters(i++).literal_value().c_str()
378
					, m_objects.at(call.parameters(i++).uint64_value())
379
					, m_objects.at(call.parameters(i++).uint64_value())
380
					, call.parameters(i++).literal_value().c_str());
369
			ok = TIRESIAS_INIT_TYPEIDENTIFIER (m_context
370
					, m_objects.at(call.parameters(0).uint64_value())
371
					, call.parameters(1).int32_value()
372
					, call.parameters(2).int32_value()
373
					, call.parameters(3).literal_value().c_str()
374
					, m_objects.at(call.parameters(4).uint64_value())
375
					, m_objects.at(call.parameters(5).uint64_value())
376
					, call.parameters(6).literal_value().c_str());
381 377
			break;
382 378
		}
383 379
		case serialize::PBIdentifiers::TIRESIAS_INIT_SELFIDENTIFIER :
......
385 381
	//		DLL bool TIRESIAS_INIT_SELFIDENTIFIER(void* context,
386 382
	//				void* typeId, std::int32_t line, std::int32_t column, const char* text,
387 383
	//				void* scopeRef, void* typeRef, const char* prefix);
388
			TIRESIAS_INIT_SELFIDENTIFIER (m_context
389
					, m_objects.at(call.parameters(i++).uint64_value())
390
					, call.parameters(i++).int32_value()
391
					, call.parameters(i++).int32_value()
392
					, call.parameters(i++).literal_value().c_str()
393
					, m_objects.at(call.parameters(i++).uint64_value())
394
					, m_objects.at(call.parameters(i++).uint64_value())
395
					, call.parameters(i++).literal_value().c_str());
384
			ok = TIRESIAS_INIT_SELFIDENTIFIER (m_context
385
					, m_objects.at(call.parameters(0).uint64_value())
386
					, call.parameters(1).int32_value()
387
					, call.parameters(2).int32_value()
388
					, call.parameters(3).literal_value().c_str()
389
					, m_objects.at(call.parameters(4).uint64_value())
390
					, m_objects.at(call.parameters(5).uint64_value())
391
					, call.parameters(6).literal_value().c_str());
396 392
			break;
397 393
		}
398 394
		case serialize::PBIdentifiers::TIRESIAS_INIT_METHODIDENTIFIER :
......
401 397
	//				void* methodId, std::int32_t line, std::int32_t column, const char* text,
402 398
	//				void* scopeRef, void* typeRef, const char* prefix, void* parameterListRef,
403 399
	//				void* symbolTableRef, void* bodyRef);
404
			TIRESIAS_INIT_METHODIDENTIFIER (m_context
405
					, m_objects.at(call.parameters(i++).uint64_value())
406
					, call.parameters(i++).int32_value()
407
					, call.parameters(i++).int32_value()
408
					, call.parameters(i++).literal_value().c_str()
409
					, m_objects.at(call.parameters(i++).uint64_value())
410
					, m_objects.at(call.parameters(i++).uint64_value())
411
					, call.parameters(i++).literal_value().c_str()
412
					, m_objects.at(call.parameters(i++).uint64_value())
413
					, m_objects.at(call.parameters(i++).uint64_value())
414
					, m_objects.at(call.parameters(i++).uint64_value()));
400
			ok = TIRESIAS_INIT_METHODIDENTIFIER (m_context
401
					, m_objects.at(call.parameters(0).uint64_value())
402
					, call.parameters(1).int32_value()
403
					, call.parameters(2).int32_value()
404
					, call.parameters(3).literal_value().c_str()
405
					, m_objects.at(call.parameters(4).uint64_value())
406
					, m_objects.at(call.parameters(5).uint64_value())
407
					, call.parameters(6).literal_value().c_str()
408
					, m_objects.at(call.parameters(7).uint64_value())
409
					, m_objects.at(call.parameters(8).uint64_value())
410
					, m_objects.at(call.parameters(9).uint64_value()));
415 411
			break;
416 412
		}
417 413
		case serialize::PBIdentifiers::TIRESIAS_INIT_MODULE :
......
419 415
	//		DLL bool TIRESIAS_INIT_MODULE(void* context, void* moduleId,
420 416
	//				int line, int column, const char* text, void* scopeRef,
421 417
	//				void* typeRef, const char* prefix, void* symTabRef);
422
			TIRESIAS_INIT_MODULE (m_context
423
					, m_objects.at(call.parameters(i++).uint64_value())
424
					, call.parameters(i++).int32_value()
425
					, call.parameters(i++).int32_value()
426
					, call.parameters(i++).literal_value().c_str()
427
					, m_objects.at(call.parameters(i++).uint64_value())
428
					, m_objects.at(call.parameters(i++).uint64_value())
429
					, call.parameters(i++).literal_value().c_str()
430
					, m_objects.at(call.parameters(i++).uint64_value()));
418
			ok = TIRESIAS_INIT_MODULE (m_context
419
					, m_objects.at(call.parameters(0).uint64_value())
420
					, call.parameters(1).int32_value()
421
					, call.parameters(2).int32_value()
422
					, call.parameters(3).literal_value().c_str()
423
					, m_objects.at(call.parameters(4).uint64_value())
424
					, m_objects.at(call.parameters(5).uint64_value())
425
					, call.parameters(6).literal_value().c_str()
426
					, m_objects.at(call.parameters(7).uint64_value()));
431 427
			break;
432 428
		}
433 429
		case serialize::PBIdentifiers::TIRESIAS_INIT_MAINMODULE :
......
436 432
	//				void* moduleId, int line, int column, const char* text,
437 433
	//				void* scopeRef, void* typeRef, const char* prefix,
438 434
	//				void* symTabRef, void* identifierListRef);
439
			TIRESIAS_INIT_MAINMODULE (m_context
440
					, m_objects.at(call.parameters(i++).uint64_value())
441
					, call.parameters(i++).int32_value()
442
					, call.parameters(i++).int32_value()
443
					, call.parameters(i++).literal_value().c_str()
444
					, m_objects.at(call.parameters(i++).uint64_value())
445
					, m_objects.at(call.parameters(i++).uint64_value())
446
					, call.parameters(i++).literal_value().c_str()
447
					, m_objects.at(call.parameters(i++).uint64_value())
448
					, m_objects.at(call.parameters(i++).uint64_value()));
435
			ok = TIRESIAS_INIT_MAINMODULE (m_context
436
					, m_objects.at(call.parameters(0).uint64_value())
437
					, call.parameters(1).int32_value()
438
					, call.parameters(2).int32_value()
439
					, call.parameters(3).literal_value().c_str()
440
					, m_objects.at(call.parameters(4).uint64_value())
441
					, m_objects.at(call.parameters(5).uint64_value())
442
					, call.parameters(6).literal_value().c_str()
443
					, m_objects.at(call.parameters(7).uint64_value())
444
					, m_objects.at(call.parameters(8).uint64_value()));
449 445
			break;
450 446
		}
451 447
		default:
452 448
			m_context->logError("Unknown value for enum PBIdentifiers.");
453 449
			abort();
454 450
	}
451
	if (!ok) {
452
		m_context->logError("Error initializing identifier.");
453
		abort();
454
	}
455 455
}
456 456

  
457 457
/**
458 458
 * Calls to functions that initialize the various subtypes of Type.
459 459
 * */
460 460
void ProtoBufAstTraversal::type(const serialize::PBFunctionCall& call){
461
	int i = 0;
462 461
	switch (call.type()) {
463 462
		case serialize::PBTypes::TIRESIAS_INIT_INTTYPE :
464 463
		{
......
466 465
	//				void* identifierRef, bool anonymousType, std::int32_t low,
467 466
	//				std::int32_t high);
468 467
			TIRESIAS_INIT_INTTYPE (m_context
469
					, m_objects.at(call.parameters(i++).uint64_value())
470
					, m_objects.at(call.parameters(i++).uint64_value())
471
					, call.parameters(i++).bool_value()
472
					, call.parameters(i++).int32_value()
473
					, call.parameters(i++).int32_value());
468
					, m_objects.at(call.parameters(0).uint64_value())
469
					, m_objects.at(call.parameters(1).uint64_value())
470
					, call.parameters(2).bool_value()
471
					, call.parameters(3).int32_value()
472
					, call.parameters(4).int32_value());
474 473
			break;
475 474
		}
476 475
		case serialize::PBTypes::TIRESIAS_INIT_BOOLTYPE :
......
478 477
	//		DLL bool TIRESIAS_INIT_BOOLTYPE(void* context, void* typeId,
479 478
	//				void* identifierRef, bool anonymousType);
480 479
			TIRESIAS_INIT_BOOLTYPE (m_context
481
					, m_objects.at(call.parameters(i++).uint64_value())
482
					, m_objects.at(call.parameters(i++).uint64_value())
483
					, call.parameters(i++).bool_value());
480
					, m_objects.at(call.parameters(0).uint64_value())
481
					, m_objects.at(call.parameters(1).uint64_value())
482
					, call.parameters(2).bool_value());
484 483

  
485 484
			break;
486 485
		}
......
490 489
	//				void* typeId, void* identifierRef,
491 490
	//				bool anonymousType, void* symTabRef, void* intTypeRef);
492 491
			TIRESIAS_INIT_VALUEDENUMTYPE (m_context
493
					, m_objects.at(call.parameters(i++).uint64_value())
494
					, m_objects.at(call.parameters(i++).uint64_value())
495
					, call.parameters(i++).bool_value()
496
					, m_objects.at(call.parameters(i++).uint64_value())
497
					, m_objects.at(call.parameters(i++).uint64_value()));
492
					, m_objects.at(call.parameters(0).uint64_value())
493
					, m_objects.at(call.parameters(1).uint64_value())
494
					, call.parameters(2).bool_value()
495
					, m_objects.at(call.parameters(3).uint64_value())
496
					, m_objects.at(call.parameters(4).uint64_value()));
498 497
			break;
499 498
		}
500 499
		case serialize::PBTypes::TIRESIAS_INIT_ENUMTYPE :
......
503 502
	//				void* identifierRef, bool anonymousType,
504 503
	//				void* symTabRef);
505 504
			TIRESIAS_INIT_ENUMTYPE (m_context
506
					, m_objects.at(call.parameters(i++).uint64_value())
507
					, m_objects.at(call.parameters(i++).uint64_value())
508
					, call.parameters(i++).bool_value()
509
					, m_objects.at(call.parameters(i++).uint64_value()));
505
					, m_objects.at(call.parameters(0).uint64_value())
506
					, m_objects.at(call.parameters(1).uint64_value())
507
					, call.parameters(2).bool_value()
508
					, m_objects.at(call.parameters(3).uint64_value()));
510 509
			break;
511 510
		}
512 511
		case serialize::PBTypes::TIRESIAS_INIT_LISTTYPE :
......
515 514
	//				void* identifierRef, bool anonymousType,
516 515
	//				void* innerTypeRef, std::uint32_t maxNumberOfElements);
517 516
			TIRESIAS_INIT_LISTTYPE (m_context
518
					, m_objects.at(call.parameters(i++).uint64_value())
519
					, m_objects.at(call.parameters(i++).uint64_value())
520
					, call.parameters(i++).bool_value()
521
					, m_objects.at(call.parameters(i++).uint64_value())
522
					, call.parameters(i++).uint32_value());
517
					, m_objects.at(call.parameters(0).uint64_value())
518
					, m_objects.at(call.parameters(1).uint64_value())
519
					, call.parameters(2).bool_value()
520
					, m_objects.at(call.parameters(3).uint64_value())
521
					, call.parameters(4).uint32_value());
523 522
			break;
524 523
		}
525 524
		case serialize::PBTypes::TIRESIAS_INIT_TUPLETYPE :
......
528 527
	//				void* identifierRef, bool anonymousType,
529 528
	//				void* typeListRef);
530 529
			TIRESIAS_INIT_TUPLETYPE (m_context
531
					, m_objects.at(call.parameters(i++).uint64_value())
532
					, m_objects.at(call.parameters(i++).uint64_value())
533
					, call.parameters(i++).bool_value()
534
					, m_objects.at(call.parameters(i++).uint64_value()));
530
					, m_objects.at(call.parameters(0).uint64_value())
531
					, m_objects.at(call.parameters(1).uint64_value())
532
					, call.parameters(2).bool_value()
533
					, m_objects.at(call.parameters(3).uint64_value()));
535 534
			break;
536 535
		}
537 536
		case serialize::PBTypes::TIRESIAS_INIT_FUNCTIONTYPE :
......
541 540
	//				bool anonymousType, void* paramTypeListRef,
542 541
	//				void* returnTypeRef, std::int32_t functionKind, bool isPure);
543 542
			TIRESIAS_INIT_FUNCTIONTYPE (m_context
544
					, m_objects.at(call.parameters(i++).uint64_value())
545
					, m_objects.at(call.parameters(i++).uint64_value())
546
					, call.parameters(i++).bool_value()
547
					, m_objects.at(call.parameters(i++).uint64_value())
548
					, m_objects.at(call.parameters(i++).uint64_value())
549
					, call.parameters(i++).int32_value()
550
					, call.parameters(i++).bool_value());
543
					, m_objects.at(call.parameters(0).uint64_value())
544
					, m_objects.at(call.parameters(1).uint64_value())
545
					, call.parameters(2).bool_value()
546
					, m_objects.at(call.parameters(3).uint64_value())
547
					, m_objects.at(call.parameters(4).uint64_value())
548
					, call.parameters(5).int32_value()
549
					, call.parameters(6).bool_value());
551 550
			break;
552 551
		}
553 552
		case serialize::PBTypes::TIRESIAS_INIT_ACTIONSYSTEMINSTANCE :
......
556 555
	//				void* instance, void* typeRef, const char* name,
557 556
	//				std::int32_t numOfCreatedObjs, void* parentInstanceRef);
558 557
			TIRESIAS_INIT_ACTIONSYSTEMINSTANCE (m_context
559
					, m_objects.at(call.parameters(i++).uint64_value())
560
					, m_objects.at(call.parameters(i++).uint64_value())
561
					, call.parameters(i++).literal_value().c_str()
562
					, call.parameters(i++).int32_value()
563
					, m_objects.at(call.parameters(i++).uint64_value()));
558
					, m_objects.at(call.parameters(0).uint64_value())
559
					, m_objects.at(call.parameters(1).uint64_value())
560
					, call.parameters(2).literal_value().c_str()
561
					, call.parameters(3).int32_value()
562
					, m_objects.at(call.parameters(4).uint64_value()));
564 563
			break;
565 564
		}
566 565
		case serialize::PBTypes::TIRESIAS_INIT_ACTIONSYSTEMTYPE :
......
573 572
	//				void* derivedObjectsListRef, bool autoConstruction,
574 573
	//				bool isInSystemDescription);
575 574
			TIRESIAS_INIT_ACTIONSYSTEMTYPE (m_context
576
					, m_objects.at(call.parameters(i++).uint64_value())
577
					, m_objects.at(call.parameters(i++).uint64_value())
578
					, call.parameters(i++).bool_value()
579
					, m_objects.at(call.parameters(i++).uint64_value())
580
					, m_objects.at(call.parameters(i++).uint64_value())
581
					, m_objects.at(call.parameters(i++).uint64_value())
582
					, m_objects.at(call.parameters(i++).uint64_value())
583
					, m_objects.at(call.parameters(i++).uint64_value())
584
					, m_objects.at(call.parameters(i++).uint64_value())
585
					, call.parameters(i++).bool_value()
586
					, call.parameters(i++).bool_value());
575
					, m_objects.at(call.parameters(0).uint64_value())
576
					, m_objects.at(call.parameters(1).uint64_value())
577
					, call.parameters(2).bool_value()
578
					, m_objects.at(call.parameters(3).uint64_value())
579
					, m_objects.at(call.parameters(4).uint64_value())
580
					, m_objects.at(call.parameters(5).uint64_value())
581
					, m_objects.at(call.parameters(6).uint64_value())
582
					, m_objects.at(call.parameters(7).uint64_value())
583
					, m_objects.at(call.parameters(8).uint64_value())
584
					, call.parameters(9).bool_value()
585
					, call.parameters(10).bool_value());
587 586
			break;
588 587
		}
589 588
		case serialize::PBTypes::TIRESIAS_INIT_NULLTYPE :
......
591 590
	//		DLL bool TIRESIAS_INIT_NULLTYPE(void* context, void* typeId,
592 591
	//				void* identifierRef, bool anonymousType);
593 592
			TIRESIAS_INIT_NULLTYPE (m_context
594
					, m_objects.at(call.parameters(i++).uint64_value())
595
					, m_objects.at(call.parameters(i++).uint64_value())
596
					, call.parameters(i++).bool_value());
593
					, m_objects.at(call.parameters(0).uint64_value())
594
					, m_objects.at(call.parameters(1).uint64_value())
595
					, call.parameters(2).bool_value());
597 596
			break;
598 597
		}
599 598
		default:
......
607 606
 * Calls to functions that initialize the various subtypes of Statement.
608 607
 * */
609 608
void ProtoBufAstTraversal::statement(const serialize::PBFunctionCall& call){
610
	int i = 0;
611 609
	switch (call.statement()) {
612 610
		case serialize::PBStatements::TIRESIAS_INIT_SKIP :
613 611
		{
614 612
	//		DLL bool TIRESIAS_INIT_SKIP(void* context, void* stmnt,
615 613
	//				std::int32_t line, std::int32_t col);
616 614
			TIRESIAS_INIT_SKIP (m_context
617
					, m_objects.at(call.parameters(i++).uint64_value())
618
					, call.parameters(i++).int32_value()
619
					, call.parameters(i++).int32_value());
615
					, m_objects.at(call.parameters(0).uint64_value())
616
					, call.parameters(1).int32_value()
617
					, call.parameters(2).int32_value());
620 618
			break;
621 619
		}
622 620
		case serialize::PBStatements::TIRESIAS_INIT_BREAK :
......
624 622
	//		DLL bool TIRESIAS_INIT_BREAK(void* context, void* stmnt,
625 623
	//				std::int32_t line, std::int32_t col);
626 624
			TIRESIAS_INIT_BREAK (m_context
627
					, m_objects.at(call.parameters(i++).uint64_value())
628
					, call.parameters(i++).int32_value()
629
					, call.parameters(i++).int32_value());
625
					, m_objects.at(call.parameters(0).uint64_value())
626
					, call.parameters(1).int32_value()
627
					, call.parameters(2).int32_value());
630 628
			break;
631 629
		}
632 630
		case serialize::PBStatements::TIRESIAS_INIT_ABORT :
......
634 632
	//		DLL bool TIRESIAS_INIT_ABORT(void* context, void* stmnt,
635 633
	//				std::int32_t line, std::int32_t col);
636 634
			TIRESIAS_INIT_ABORT (m_context
637
					, m_objects.at(call.parameters(i++).uint64_value())
638
					, call.parameters(i++).int32_value()
639
					, call.parameters(i++).int32_value());
635
					, m_objects.at(call.parameters(0).uint64_value())
636
					, call.parameters(1).int32_value()
637
					, call.parameters(2).int32_value());
640 638
			break;
641 639
		}
642 640
		case serialize::PBStatements::TIRESIAS_INIT_NONDETBLOCK :
......
645 643
	//				std::int32_t line, std::int32_t col, void* symTabRef, void* stmtListRef,
646 644
	//				void* scopeRef);
647 645
			TIRESIAS_INIT_NONDETBLOCK (m_context
648
					, m_objects.at(call.parameters(i++).uint64_value())
649
					, call.parameters(i++).int32_value()
650
					, call.parameters(i++).int32_value()
651
					, m_objects.at(call.parameters(i++).uint64_value())
652
					, m_objects.at(call.parameters(i++).uint64_value())
653
					, m_objects.at(call.parameters(i++).uint64_value()));
646
					, m_objects.at(call.parameters(0).uint64_value())
647
					, call.parameters(1).int32_value()
648
					, call.parameters(2).int32_value()
649
					, m_objects.at(call.parameters(3).uint64_value())
650
					, m_objects.at(call.parameters(4).uint64_value())
651
					, m_objects.at(call.parameters(5).uint64_value()));
654 652
			break;
655 653
		}
656 654
		case serialize::PBStatements::TIRESIAS_INIT_SEQBLOCK :
......
659 657
	//				std::int32_t line, std::int32_t col, void* symTabRef, void* stmtListRef,
660 658
	//				void* scopeRef, void* filterExprRef);
661 659
			TIRESIAS_INIT_SEQBLOCK (m_context
662
					, m_objects.at(call.parameters(i++).uint64_value())
663
					, call.parameters(i++).int32_value()
664
					, call.parameters(i++).int32_value()
665
					, m_objects.at(call.parameters(i++).uint64_value())
666
					, m_objects.at(call.parameters(i++).uint64_value())
667
					, m_objects.at(call.parameters(i++).uint64_value())
668
					, m_objects.at(call.parameters(i++).uint64_value()));
660
					, m_objects.at(call.parameters(0).uint64_value())
661
					, call.parameters(1).int32_value()
662
					, call.parameters(2).int32_value()
663
					, m_objects.at(call.parameters(3).uint64_value())
664
					, m_objects.at(call.parameters(4).uint64_value())
665
					, m_objects.at(call.parameters(5).uint64_value())
666
					, m_objects.at(call.parameters(6).uint64_value()));
669 667
			break;
670 668
		}
671 669
		case serialize::PBStatements::TIRESIAS_INIT_PRIOBLOCK :
......
674 672
	//				std::int32_t line, std::int32_t col, void* symTabRef, void* stmtListRef,
675 673
	//				void* scopeRef);
676 674
			TIRESIAS_INIT_PRIOBLOCK (m_context
677
					, m_objects.at(call.parameters(i++).uint64_value())
678
					, call.parameters(i++).int32_value()
679
					, call.parameters(i++).int32_value()
680
					, m_objects.at(call.parameters(i++).uint64_value())
681
					, m_objects.at(call.parameters(i++).uint64_value())
682
					, m_objects.at(call.parameters(i++).uint64_value()));
675
					, m_objects.at(call.parameters(0).uint64_value())
676
					, call.parameters(1).int32_value()
677
					, call.parameters(2).int32_value()
678
					, m_objects.at(call.parameters(3).uint64_value())
679
					, m_objects.at(call.parameters(4).uint64_value())
680
					, m_objects.at(call.parameters(5).uint64_value()));
683 681
			break;
684 682
		}
685 683
		case serialize::PBStatements::TIRESIAS_INIT_GUARDEDCOMMAND :
......
688 686
	//				void* stmt, std::int32_t line, std::int32_t pos, void* scopeRef,
689 687
	//				void* guardExprRef, void* bodyRef);
690 688
			TIRESIAS_INIT_GUARDEDCOMMAND (m_context
691
					, m_objects.at(call.parameters(i++).uint64_value())
692
					, call.parameters(i++).int32_value()
693
					, call.parameters(i++).int32_value()
694
					, m_objects.at(call.parameters(i++).uint64_value())
695
					, m_objects.at(call.parameters(i++).uint64_value())
696
					, m_objects.at(call.parameters(i++).uint64_value()));
689
					, m_objects.at(call.parameters(0).uint64_value())
690
					, call.parameters(1).int32_value()
691
					, call.parameters(2).int32_value()
692
					, m_objects.at(call.parameters(3).uint64_value())
693
					, m_objects.at(call.parameters(4).uint64_value())
694
					, m_objects.at(call.parameters(5).uint64_value()));
697 695
			break;
698 696
		}
699 697
		case serialize::PBStatements::TIRESIAS_INIT_ASSIGNMENT :
......
703 701
	//				void* placeExprListRef, void* valueExprListRef,
704 702
	//				void* symTabRef);
705 703
			TIRESIAS_INIT_ASSIGNMENT (m_context
706
					, m_objects.at(call.parameters(i++).uint64_value())
707
					, call.parameters(i++).int32_value()
708
					, call.parameters(i++).int32_value()
709
					, m_objects.at(call.parameters(i++).uint64_value())
710
					, m_objects.at(call.parameters(i++).uint64_value())
711
					, m_objects.at(call.parameters(i++).uint64_value())
712
					, m_objects.at(call.parameters(i++).uint64_value())
713
					, m_objects.at(call.parameters(i++).uint64_value()));
704
					, m_objects.at(call.parameters(0).uint64_value())
705
					, call.parameters(1).int32_value()
706
					, call.parameters(2).int32_value()
707
					, m_objects.at(call.parameters(3).uint64_value())
708
					, m_objects.at(call.parameters(4).uint64_value())
709
					, m_objects.at(call.parameters(5).uint64_value())
710
					, m_objects.at(call.parameters(6).uint64_value())
711
					, m_objects.at(call.parameters(7).uint64_value()));
714 712
			break;
715 713
		}
716 714
		case serialize::PBStatements::TIRESIAS_INIT_CALL :
......
718 716
	//		DLL bool TIRESIAS_INIT_CALL(void* context, void* stmt,
719 717
	//				std::int32_t line, std::int32_t pos, void* callExprRef);
720 718
			TIRESIAS_INIT_CALL (m_context
721
					, m_objects.at(call.parameters(i++).uint64_value())
722
					, call.parameters(i++).int32_value()
723
					, call.parameters(i++).int32_value()
724
					, m_objects.at(call.parameters(i++).uint64_value()));
719
					, m_objects.at(call.parameters(0).uint64_value())
720
					, call.parameters(1).int32_value()
721
					, call.parameters(2).int32_value()
722
					, m_objects.at(call.parameters(3).uint64_value()));
725 723
			break;
726 724
		}
727 725
		default:
......
734 732
 * Calls to functions that initialize the various subtypes of Expression.
735 733
 * */
736 734
void ProtoBufAstTraversal::expression(const serialize::PBFunctionCall& call){
737
	int i = 0;
738 735
	switch (call.expression()) {
739 736
		case serialize::PBExpressions::TIRESIAS_INIT_TYPEEXPRESSION :
740 737
		{
......
742 739
	//				void* expr, std::int32_t line, std::int32_t pos, void* typeRef,
743 740
	//				void* callTargetsIdentifierListRef, void* symbTabRef);
744 741
			TIRESIAS_INIT_TYPEEXPRESSION (m_context
745
					, m_objects.at(call.parameters(i++).uint64_value())
746
					, call.parameters(i++).int32_value()
747
					, call.parameters(i++).int32_value()
748
					, m_objects.at(call.parameters(i++).uint64_value())
749
					, m_objects.at(call.parameters(i++).uint64_value())
750
					, m_objects.at(call.parameters(i++).uint64_value()));
742
					, m_objects.at(call.parameters(0).uint64_value())
743
					, call.parameters(1).int32_value()
744
					, call.parameters(2).int32_value()
745
					, m_objects.at(call.parameters(3).uint64_value())
746
					, m_objects.at(call.parameters(4).uint64_value())
747
					, m_objects.at(call.parameters(5).uint64_value()));
751 748
			break;
752 749
		}
753 750
		case serialize::PBExpressions::TIRESIAS_INIT_IDENTIFIEREXPRESSION :
......
757 754
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
758 755
	//				void* identifierRef, bool isSelf);
759 756
			TIRESIAS_INIT_IDENTIFIEREXPRESSION (m_context
760
					, m_objects.at(call.parameters(i++).uint64_value())
761
					, call.parameters(i++).int32_value()
762
					, call.parameters(i++).int32_value()
763
					, m_objects.at(call.parameters(i++).uint64_value())
764
					, m_objects.at(call.parameters(i++).uint64_value())
765
					, m_objects.at(call.parameters(i++).uint64_value())
766
					, m_objects.at(call.parameters(i++).uint64_value())
767
					, call.parameters(i++).bool_value());
757
					, m_objects.at(call.parameters(0).uint64_value())
758
					, call.parameters(1).int32_value()
759
					, call.parameters(2).int32_value()
760
					, m_objects.at(call.parameters(3).uint64_value())
761
					, m_objects.at(call.parameters(4).uint64_value())
762
					, m_objects.at(call.parameters(5).uint64_value())
763
					, m_objects.at(call.parameters(6).uint64_value())
764
					, call.parameters(7).bool_value());
768 765
			break;
769 766
		}
770 767
		case serialize::PBExpressions::TIRESIAS_INIT_UNARYEXPRESSION :
......
774 771
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
775 772
	//				void* child);
776 773
			TIRESIAS_INIT_UNARYEXPRESSION (m_context
777
					, m_objects.at(call.parameters(i++).uint64_value())
778
					, call.parameters(i++).int32_value()
779
					, call.parameters(i++).int32_value()
780
					, m_objects.at(call.parameters(i++).uint64_value())
781
					, m_objects.at(call.parameters(i++).uint64_value())
782
					, m_objects.at(call.parameters(i++).uint64_value())
783
					, m_objects.at(call.parameters(i++).uint64_value()));
774
					, m_objects.at(call.parameters(0).uint64_value())
775
					, call.parameters(1).int32_value()
776
					, call.parameters(2).int32_value()
777
					, m_objects.at(call.parameters(3).uint64_value())
778
					, m_objects.at(call.parameters(4).uint64_value())
779
					, m_objects.at(call.parameters(5).uint64_value())
780
					, m_objects.at(call.parameters(6).uint64_value()));
784 781
			break;
785 782
		}
786 783
		case serialize::PBExpressions::TIRESIAS_INIT_BINARYEXPRESSION :
......
790 787
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
791 788
	//				void* left, void* right);
792 789
			TIRESIAS_INIT_BINARYEXPRESSION (m_context
793
					, m_objects.at(call.parameters(i++).uint64_value())
794
					, call.parameters(i++).int32_value()
795
					, call.parameters(i++).int32_value()
796
					, m_objects.at(call.parameters(i++).uint64_value())
797
					, m_objects.at(call.parameters(i++).uint64_value())
798
					, m_objects.at(call.parameters(i++).uint64_value())
799
					, m_objects.at(call.parameters(i++).uint64_value())
800
					, m_objects.at(call.parameters(i++).uint64_value()));
790
					, m_objects.at(call.parameters(0).uint64_value())
791
					, call.parameters(1).int32_value()
792
					, call.parameters(2).int32_value()
793
					, m_objects.at(call.parameters(3).uint64_value())
794
					, m_objects.at(call.parameters(4).uint64_value())
795
					, m_objects.at(call.parameters(5).uint64_value())
796
					, m_objects.at(call.parameters(6).uint64_value())
797
					, m_objects.at(call.parameters(7).uint64_value()));
801 798
			break;
802 799
		}
803 800
		case serialize::PBExpressions::TIRESIAS_INIT_TERNARYEXPRESSION :
......
807 804
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
808 805
	//				void* left, void* mid, void* right, void* defScopeRef);
809 806
			TIRESIAS_INIT_TERNARYEXPRESSION (m_context
810
					, m_objects.at(call.parameters(i++).uint64_value())
811
					, call.parameters(i++).int32_value()
812
					, call.parameters(i++).int32_value()
813
					, m_objects.at(call.parameters(i++).uint64_value())
814
					, m_objects.at(call.parameters(i++).uint64_value())
815
					, m_objects.at(call.parameters(i++).uint64_value())
816
					, m_objects.at(call.parameters(i++).uint64_value())
817
					, m_objects.at(call.parameters(i++).uint64_value())
818
					, m_objects.at(call.parameters(i++).uint64_value())
819
					, m_objects.at(call.parameters(i++).uint64_value()));
807
					, m_objects.at(call.parameters(0).uint64_value())
808
					, call.parameters(1).int32_value()
809
					, call.parameters(2).int32_value()
810
					, m_objects.at(call.parameters(3).uint64_value())
811
					, m_objects.at(call.parameters(4).uint64_value())
812
					, m_objects.at(call.parameters(5).uint64_value())
813
					, m_objects.at(call.parameters(6).uint64_value())
814
					, m_objects.at(call.parameters(7).uint64_value())
815
					, m_objects.at(call.parameters(8).uint64_value())
816
					, m_objects.at(call.parameters(9).uint64_value()));
820 817
			break;
821 818
		}
822 819
		case serialize::PBExpressions::TIRESIAS_INIT_INTVALUEEXPRESSION :
......
826 823
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
827 824
	//				std::int32_t value);
828 825
			TIRESIAS_INIT_INTVALUEEXPRESSION (m_context
829
					, m_objects.at(call.parameters(i++).uint64_value())
830
					, call.parameters(i++).int32_value()
831
					, call.parameters(i++).int32_value()
832
					, m_objects.at(call.parameters(i++).uint64_value())
833
					, m_objects.at(call.parameters(i++).uint64_value())
834
					, m_objects.at(call.parameters(i++).uint64_value())
835
					, call.parameters(i++).int32_value());
826
					, m_objects.at(call.parameters(0).uint64_value())
827
					, call.parameters(1).int32_value()
828
					, call.parameters(2).int32_value()
829
					, m_objects.at(call.parameters(3).uint64_value())
830
					, m_objects.at(call.parameters(4).uint64_value())
831
					, m_objects.at(call.parameters(5).uint64_value())
832
					, call.parameters(6).int32_value());
836 833
			break;
837 834
		}
838 835
		case serialize::PBExpressions::TIRESIAS_INIT_BOOLVALUEEXPRESSION :
......
842 839
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
843 840
	//				bool value);
844 841
			TIRESIAS_INIT_BOOLVALUEEXPRESSION (m_context
845
					, m_objects.at(call.parameters(i++).uint64_value())
846
					, call.parameters(i++).int32_value()
847
					, call.parameters(i++).int32_value()
848
					, m_objects.at(call.parameters(i++).uint64_value())
849
					, m_objects.at(call.parameters(i++).uint64_value())
850
					, m_objects.at(call.parameters(i++).uint64_value())
851
					, call.parameters(i++).bool_value());
842
					, m_objects.at(call.parameters(0).uint64_value())
843
					, call.parameters(1).int32_value()
844
					, call.parameters(2).int32_value()
845
					, m_objects.at(call.parameters(3).uint64_value())
846
					, m_objects.at(call.parameters(4).uint64_value())
847
					, m_objects.at(call.parameters(5).uint64_value())
848
					, call.parameters(6).bool_value());
852 849
			break;
853 850
		}
854 851
		case serialize::PBExpressions::TIRESIAS_INIT_REFVALUEEXPRESSION :
......
857 854
	//				void* expr, std::int32_t line, std::int32_t pos, void* typeRef,
858 855
	//				void* callTargetsIdentifierListRef, void* symbTabRef,void* object);
859 856
			TIRESIAS_INIT_REFVALUEEXPRESSION (m_context
860
					, m_objects.at(call.parameters(i++).uint64_value())
861
					, call.parameters(i++).int32_value()
862
					, call.parameters(i++).int32_value()
863
					, m_objects.at(call.parameters(i++).uint64_value())
864
					, m_objects.at(call.parameters(i++).uint64_value())
865
					, m_objects.at(call.parameters(i++).uint64_value())
866
					, m_objects.at(call.parameters(i++).uint64_value()));
857
					, m_objects.at(call.parameters(0).uint64_value())
858
					, call.parameters(1).int32_value()
859
					, call.parameters(2).int32_value()
860
					, m_objects.at(call.parameters(3).uint64_value())
861
					, m_objects.at(call.parameters(4).uint64_value())
862
					, m_objects.at(call.parameters(5).uint64_value())
863
					, m_objects.at(call.parameters(6).uint64_value()));
867 864
			break;
868 865
		}
869 866
		case serialize::PBExpressions::TIRESIAS_INIT_LISTCONSTRUCTOR :
......
874 871
	//				void* exprList, void* symTab, void* parentScope,
875 872
	//				void* comprehension, bool hasComprehension);
876 873
			TIRESIAS_INIT_LISTCONSTRUCTOR (m_context
877
					, m_objects.at(call.parameters(i++).uint64_value())
878
					, call.parameters(i++).int32_value()
879
					, call.parameters(i++).int32_value()
880
					, m_objects.at(call.parameters(i++).uint64_value())
881
					, m_objects.at(call.parameters(i++).uint64_value())
882
					, m_objects.at(call.parameters(i++).uint64_value())
883
					, m_objects.at(call.parameters(i++).uint64_value())
884
					, m_objects.at(call.parameters(i++).uint64_value())
885
					, m_objects.at(call.parameters(i++).uint64_value())
886
					, m_objects.at(call.parameters(i++).uint64_value())
887
					, call.parameters(i++).bool_value());
874
					, m_objects.at(call.parameters(0).uint64_value())
875
					, call.parameters(1).int32_value()
876
					, call.parameters(2).int32_value()
877
					, m_objects.at(call.parameters(3).uint64_value())
878
					, m_objects.at(call.parameters(4).uint64_value())
879
					, m_objects.at(call.parameters(5).uint64_value())
880
					, m_objects.at(call.parameters(6).uint64_value())
881
					, m_objects.at(call.parameters(7).uint64_value())
882
					, m_objects.at(call.parameters(8).uint64_value())
883
					, m_objects.at(call.parameters(9).uint64_value())
884
					, call.parameters(10).bool_value());
888 885
			break;
889 886
		}
890 887
		case serialize::PBExpressions::TIRESIAS_INIT_SETCONSTRUCTOR :
......
895 892
	//				void* exprList, void* symTab, void* parentScope,
896 893
	//				void* comprehension, bool hasComprehension);
897 894
			TIRESIAS_INIT_SETCONSTRUCTOR (m_context
898
					, m_objects.at(call.parameters(i++).uint64_value())
899
					, call.parameters(i++).int32_value()
900
					, call.parameters(i++).int32_value()
901
					, m_objects.at(call.parameters(i++).uint64_value())
902
					, m_objects.at(call.parameters(i++).uint64_value())
903
					, m_objects.at(call.parameters(i++).uint64_value())
904
					, m_objects.at(call.parameters(i++).uint64_value())
905
					, m_objects.at(call.parameters(i++).uint64_value())
906
					, m_objects.at(call.parameters(i++).uint64_value())
907
					, m_objects.at(call.parameters(i++).uint64_value())
908
					, call.parameters(i++).bool_value());
895
					, m_objects.at(call.parameters(0).uint64_value())
896
					, call.parameters(1).int32_value()
897
					, call.parameters(2).int32_value()
898
					, m_objects.at(call.parameters(3).uint64_value())
899
					, m_objects.at(call.parameters(4).uint64_value())
900
					, m_objects.at(call.parameters(5).uint64_value())
901
					, m_objects.at(call.parameters(6).uint64_value())
902
					, m_objects.at(call.parameters(7).uint64_value())
903
					, m_objects.at(call.parameters(8).uint64_value())
904
					, m_objects.at(call.parameters(9).uint64_value())
905
					, call.parameters(10).bool_value());
909 906
			break;
910 907
		}
911 908
		case serialize::PBExpressions::TIRESIAS_INIT_TUPLECONSTRUCTOR :
......
915 912
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
916 913
	//				void* exprList, void* tupleTypeId, bool isMatcher);
917 914
			TIRESIAS_INIT_TUPLECONSTRUCTOR (m_context
918
					, m_objects.at(call.parameters(i++).uint64_value())
919
					, call.parameters(i++).int32_value()
920
					, call.parameters(i++).int32_value()
921
					, m_objects.at(call.parameters(i++).uint64_value())
922
					, m_objects.at(call.parameters(i++).uint64_value())
923
					, m_objects.at(call.parameters(i++).uint64_value())
924
					, m_objects.at(call.parameters(i++).uint64_value())
925
					, m_objects.at(call.parameters(i++).uint64_value())
926
					, call.parameters(i++).bool_value());
915
					, m_objects.at(call.parameters(0).uint64_value())
916
					, call.parameters(1).int32_value()
917
					, call.parameters(2).int32_value()
918
					, m_objects.at(call.parameters(3).uint64_value())
919
					, m_objects.at(call.parameters(4).uint64_value())
920
					, m_objects.at(call.parameters(5).uint64_value())
921
					, m_objects.at(call.parameters(6).uint64_value())
922
					, m_objects.at(call.parameters(7).uint64_value())
923
					, call.parameters(8).bool_value());
927 924
			break;
928 925
		}
929 926
		case serialize::PBExpressions::TIRESIAS_INIT_ACCESSEXPRESSION :
......
933 930
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
934 931
	//				void* left, void* right);
935 932
			TIRESIAS_INIT_ACCESSEXPRESSION (m_context
936
					, m_objects.at(call.parameters(i++).uint64_value())
937
					, call.parameters(i++).int32_value()
938
					, call.parameters(i++).int32_value()
939
					, m_objects.at(call.parameters(i++).uint64_value())
940
					, m_objects.at(call.parameters(i++).uint64_value())
941
					, m_objects.at(call.parameters(i++).uint64_value())
942
					, m_objects.at(call.parameters(i++).uint64_value())
943
					, m_objects.at(call.parameters(i++).uint64_value()));
933
					, m_objects.at(call.parameters(0).uint64_value())
934
					, call.parameters(1).int32_value()
935
					, call.parameters(2).int32_value()
936
					, m_objects.at(call.parameters(3).uint64_value())
937
					, m_objects.at(call.parameters(4).uint64_value())
938
					, m_objects.at(call.parameters(5).uint64_value())
939
					, m_objects.at(call.parameters(6).uint64_value())
940
					, m_objects.at(call.parameters(7).uint64_value()));
944 941
			break;
945 942
		}
946 943
		case serialize::PBExpressions::TIRESIAS_INIT_TUPLEMAPACCESSEXPRESSION :
......
950 947
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
951 948
	//				void* child, void* argument);
952 949
			TIRESIAS_INIT_TUPLEMAPACCESSEXPRESSION (m_context
953
					, m_objects.at(call.parameters(i++).uint64_value())
954
					, call.parameters(i++).int32_value()
955
					, call.parameters(i++).int32_value()
956
					, m_objects.at(call.parameters(i++).uint64_value())
957
					, m_objects.at(call.parameters(i++).uint64_value())
958
					, m_objects.at(call.parameters(i++).uint64_value())
959
					, m_objects.at(call.parameters(i++).uint64_value())
960
					, m_objects.at(call.parameters(i++).uint64_value()));
950
					, m_objects.at(call.parameters(0).uint64_value())
951
					, call.parameters(1).int32_value()
952
					, call.parameters(2).int32_value()
953
					, m_objects.at(call.parameters(3).uint64_value())
954
					, m_objects.at(call.parameters(4).uint64_value())
955
					, m_objects.at(call.parameters(5).uint64_value())
956
					, m_objects.at(call.parameters(6).uint64_value())
957
					, m_objects.at(call.parameters(7).uint64_value()));
961 958
			break;
962 959
		}
963 960
		case serialize::PBExpressions::TIRESIAS_INIT_CALLEXPRESSION :
......
967 964
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
968 965
	//				void* child, void* argumentList, void* scopeRef);
969 966
			TIRESIAS_INIT_CALLEXPRESSION (m_context
970
					, m_objects.at(call.parameters(i++).uint64_value())
971
					, call.parameters(i++).int32_value()
972
					, call.parameters(i++).int32_value()
973
					, m_objects.at(call.parameters(i++).uint64_value())
974
					, m_objects.at(call.parameters(i++).uint64_value())
975
					, m_objects.at(call.parameters(i++).uint64_value())
976
					, m_objects.at(call.parameters(i++).uint64_value())
977
					, m_objects.at(call.parameters(i++).uint64_value())
978
					, m_objects.at(call.parameters(i++).uint64_value()));
967
					, m_objects.at(call.parameters(0).uint64_value())
968
					, call.parameters(1).int32_value()
969
					, call.parameters(2).int32_value()
970
					, m_objects.at(call.parameters(3).uint64_value())
971
					, m_objects.at(call.parameters(4).uint64_value())
972
					, m_objects.at(call.parameters(5).uint64_value())
973
					, m_objects.at(call.parameters(6).uint64_value())
974
					, m_objects.at(call.parameters(7).uint64_value())
975
					, m_objects.at(call.parameters(8).uint64_value()));
979 976
			break;
980 977
		}
981 978
		case serialize::PBExpressions::TIRESIAS_INIT_QUANTIFIEREXPRESSION :
......
985 982
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
986 983
	//				void* child, void* symTabRef, void* scopeRef);
987 984
			TIRESIAS_INIT_QUANTIFIEREXPRESSION (m_context
988
					, m_objects.at(call.parameters(i++).uint64_value())
989
					, call.parameters(i++).int32_value()
990
					, call.parameters(i++).int32_value()
991
					, m_objects.at(call.parameters(i++).uint64_value())
992
					, m_objects.at(call.parameters(i++).uint64_value())
993
					, m_objects.at(call.parameters(i++).uint64_value())
994
					, m_objects.at(call.parameters(i++).uint64_value())
995
					, m_objects.at(call.parameters(i++).uint64_value())
996
					, m_objects.at(call.parameters(i++).uint64_value()));
985
					, m_objects.at(call.parameters(0).uint64_value())
986
					, call.parameters(1).int32_value()
987
					, call.parameters(2).int32_value()
988
					, m_objects.at(call.parameters(3).uint64_value())
989
					, m_objects.at(call.parameters(4).uint64_value())
990
					, m_objects.at(call.parameters(5).uint64_value())
991
					, m_objects.at(call.parameters(6).uint64_value())
992
					, m_objects.at(call.parameters(7).uint64_value())
993
					, m_objects.at(call.parameters(8).uint64_value()));
997 994
			break;
998 995
		}
999 996
		case serialize::PBExpressions::TIRESIAS_INIT_OBJECTCONSTRUCTOR :
......
1003 1000
	//				void* callTargetsIdentifierListRef, void* symbTabRef,
1004 1001
	//				void* instanceList, std::uint32_t currentInstance, const char* name);
1005 1002
			TIRESIAS_INIT_OBJECTCONSTRUCTOR (m_context
1006
					, m_objects.at(call.parameters(i++).uint64_value())
1007
					, call.parameters(i++).int32_value()
1008
					, call.parameters(i++).int32_value()
1009
					, m_objects.at(call.parameters(i++).uint64_value())
1010
					, m_objects.at(call.parameters(i++).uint64_value())
1011
					, m_objects.at(call.parameters(i++).uint64_value())
1012
					, m_objects.at(call.parameters(i++).uint64_value())
1013
					, call.parameters(i++).uint32_value()
1014
					, call.parameters(i++).literal_value().c_str());
1003
					, m_objects.at(call.parameters(0).uint64_value())
1004
					, call.parameters(1).int32_value()
1005
					, call.parameters(2).int32_value()
1006
					, m_objects.at(call.parameters(3).uint64_value())
1007
					, m_objects.at(call.parameters(4).uint64_value())
1008
					, m_objects.at(call.parameters(5).uint64_value())
1009
					, m_objects.at(call.parameters(6).uint64_value())
1010
					, call.parameters(7).uint32_value()
1011
					, call.parameters(8).literal_value().c_str());
1015 1012
			break;
1016 1013
		}
1017 1014
		default:

Also available in: Unified diff