Index: trunk/compiler/cppAst/ast/serialize/ProtoBufAstTraversal.cpp
===================================================================
--- trunk/compiler/cppAst/ast/serialize/ProtoBufAstTraversal.cpp	(revision 4)
+++ trunk/compiler/cppAst/ast/serialize/ProtoBufAstTraversal.cpp	(revision 5)
@@ -102,28 +102,25 @@
 void ProtoBufAstTraversal::allocate(const serialize::PBFunctionCall& call){
 	void* object;
 
-	int i = 0;
 	switch (call.allocate()) {
 		case serialize::PBAllocation::TIRESIAS_CREATE_IDENTIFIER :
 		{
 			// DLL void* TIRESIAS_CREATE_IDENTIFIER(void* context, std::int32_t ordinal, std::int32_t subOrd);
 			object = TIRESIAS_CREATE_IDENTIFIER (m_context
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value());
+					, call.parameters(0).int32_value()
+					, call.parameters(1).int32_value());
 			break;
 		}
 		case serialize::PBAllocation::TIRESIAS_CREATE_TYPE :
 		{
 			// DLL void* TIRESIAS_CREATE_TYPE(void* context, std::int32_t ordinal);
-			object = TIRESIAS_CREATE_TYPE (m_context
-					, call.parameters(i++).int32_value());
+			object = TIRESIAS_CREATE_TYPE (m_context, call.parameters(0).int32_value());
 			break;
 		}
 		case serialize::PBAllocation::TIRESIAS_CREATE_STATEMENT :
 		{
 			// DLL void* TIRESIAS_CREATE_STATEMENT(void* context, std::int32_t ordinal);
-			object = TIRESIAS_CREATE_STATEMENT (m_context
-					, call.parameters(i++).int32_value());
+			object = TIRESIAS_CREATE_STATEMENT (m_context, call.parameters(0).int32_value());
 			break;
 		}
 		case serialize::PBAllocation::TIRESIAS_CREATE_EXPRESSION :
@@ -130,8 +127,8 @@
 		{
 			// DLL void* TIRESIAS_CREATE_EXPRESSION(void* context, std::int32_t ordinal, std::int32_t subOrd);
 			object = TIRESIAS_CREATE_EXPRESSION (m_context
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value());
+					, call.parameters(0).int32_value()
+					, call.parameters(1).int32_value());
 			break;
 		}
 		case serialize::PBAllocation::TIRESIAS_CREATE_IDENTIFIERLIST :
@@ -177,8 +174,8 @@
 		case serialize::PBAllocation::TIRESIAS_CAST_ASTELEMENT_TO_ISCOPE :
 		{
 			// DLL void* TIRESIAS_CAST_ASTELEMENT_TO_ISCOPE(void* context, void* astelement);
-			object = TIRESIAS_CAST_ASTELEMENT_TO_ISCOPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value()));
+			object = TIRESIAS_CAST_ASTELEMENT_TO_ISCOPE(m_context
+						, m_objects.at(call.parameters(0).uint64_value()));
 			break;
 		}
 		default:
@@ -194,14 +191,13 @@
  * Calls to functions that add objects to containers, like add identifier to symboltable etc.
  * */
 void ProtoBufAstTraversal::add(const serialize::PBFunctionCall& call){
-	int i = 0;
 	switch (call.add()) {
 		case serialize::PBAdd::TIRESIAS_ADD_IDENTIFIERTOLIST :
 		{
 			// DLL bool TIRESIAS_ADD_IDENTIFIERTOLIST(void* context, void* idList, void* idRef);
 			TIRESIAS_ADD_IDENTIFIERTOLIST (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value()));
 			break;
 		}
 		case serialize::PBAdd::TIRESIAS_ADD_TYPETOLIST :
@@ -208,8 +204,8 @@
 		{
 			// DLL bool TIRESIAS_ADD_TYPETOLIST(void* context, void* typeList, void* type);
 			TIRESIAS_ADD_TYPETOLIST (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value()));
 			break;
 		}
 		case serialize::PBAdd::TIRESIAS_ADD_STATEMENTTOLIST :
@@ -216,8 +212,8 @@
 		{
 			// DLL bool TIRESIAS_ADD_STATEMENTTOLIST(void* context, void* stmtList, void* stmntRef);
 			TIRESIAS_ADD_STATEMENTTOLIST (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value()));
 			break;
 		}
 		case serialize::PBAdd::TIRESIAS_ADD_EXPRESSIONTOLIST :
@@ -224,8 +220,8 @@
 		{
 			// DLL bool TIRESIAS_ADD_EXPRESSIONTOLIST(void* context, void* exprList, void* exprRef);
 			TIRESIAS_ADD_EXPRESSIONTOLIST (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value()));
 			break;
 		}
 		case serialize::PBAdd::TIRESIAS_ADD_IDTOSYMBTAB :
@@ -232,8 +228,8 @@
 		{
 			// DLL bool TIRESIAS_ADD_IDTOSYMBTAB(void* context, void* symbolTable, void* identifier);
 			TIRESIAS_ADD_IDTOSYMBTAB (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value()));
 			break;
 		}
 		case serialize::PBAdd::TIRESIAS_ADD_PARAMTOLIST :
@@ -240,8 +236,8 @@
 		{
 			// DLL bool TIRESIAS_ADD_PARAMTOLIST(void* context, void* parameterList, void* par);
 			TIRESIAS_ADD_PARAMTOLIST (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value()));
 			break;
 		}
 		case serialize::PBAdd::TIRESIAS_ADD_ACTIONSYSTEMINSTANCETOLIST :
@@ -248,8 +244,8 @@
 		{
 			// DLL bool TIRESIAS_ADD_ACTIONSYSTEMINSTANCETOLIST(void* context, void* objectsList, void* instanceRef);
 			TIRESIAS_ADD_ACTIONSYSTEMINSTANCETOLIST (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value()));
 			break;
 		}
 		case serialize::PBAdd::TIRESIAS_ADD_IDENTIFIERTOBLOCK :
@@ -256,8 +252,8 @@
 		{
 			// DLL bool TIRESIAS_ADD_IDENTIFIERTOBLOCK(void* context, void* idList, void* idRef);
 			TIRESIAS_ADD_IDENTIFIERTOBLOCK (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value()));
 			break;
 		}
 		default:
@@ -270,7 +266,7 @@
  * Calls to functions that initialize the various subtypes of Identifier.
  * */
 void ProtoBufAstTraversal::identifier(const serialize::PBFunctionCall& call){
-	int i = 0;
+	bool ok = true;
 	switch (call.identifier()) {
 		case serialize::PBIdentifiers::TIRESIAS_INIT_ENUMIDENTIFIER :
 		{
@@ -277,15 +273,15 @@
 	//		DLL bool TIRESIAS_INIT_ENUMIDENTIFIER(void* context,
 	//				void* enumId, std::int32_t line, std::int32_t col, const char* text,
 	//				void* scopeRef, void* typeRef, bool haveValue, std::int32_t value);
-			TIRESIAS_INIT_ENUMIDENTIFIER (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, call.parameters(i++).int32_value());
+			ok = TIRESIAS_INIT_ENUMIDENTIFIER (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, call.parameters(6).bool_value()
+					, call.parameters(7).int32_value());
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_CONSTIDENTIFIER :
@@ -293,14 +289,14 @@
 	//		DLL bool TIRESIAS_INIT_CONSTIDENTIFIER(void* context,
 	//				void* constId, std::int32_t line, std::int32_t col, const char* text,
 	//				void* scopeRef, void* typeRef, void* valueRef);
-			TIRESIAS_INIT_CONSTIDENTIFIER (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+			ok = TIRESIAS_INIT_CONSTIDENTIFIER (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value()));
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_ATTRIDENTIFIER :
@@ -309,17 +305,17 @@
 	//				void* attrId, std::int32_t line, std::int32_t col, const char* text,
 	//				void* scopeRef, void* typeRef, void* initRef,
 	//				bool isStatic, bool isControllable, bool isObservable);
-			TIRESIAS_INIT_ATTRIDENTIFIER (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, call.parameters(i++).bool_value()
-					, call.parameters(i++).bool_value());
+			ok = TIRESIAS_INIT_ATTRIDENTIFIER (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, call.parameters(7).bool_value()
+					, call.parameters(8).bool_value()
+					, call.parameters(9).bool_value());
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_EXPRVARIDENTIFIER :
@@ -327,14 +323,14 @@
 	//		DLL bool TIRESIAS_INIT_EXPRVARIDENTIFIER(void* context,
 	//				void* exprVarId, std::int32_t line, std::int32_t col, const char* text,
 	//				void* scopeRef, void* typeRef, bool initialized);
-			TIRESIAS_INIT_EXPRVARIDENTIFIER (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value());
+			ok = TIRESIAS_INIT_EXPRVARIDENTIFIER (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, call.parameters(6).bool_value());
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_PARAMIDENTIFIER :
@@ -342,13 +338,13 @@
 	//		DLL bool TIRESIAS_INIT_PARAMIDENTIFIER(void* context,
 	//				void* paramId, std::int32_t line, std::int32_t column, const char* text,
 	//				void* scopeRef, void* typeRef);
-			TIRESIAS_INIT_PARAMIDENTIFIER (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+			ok = TIRESIAS_INIT_PARAMIDENTIFIER (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value()));
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_LOCVARIDENTIFIER :
@@ -356,13 +352,13 @@
 	//		DLL bool TIRESIAS_INIT_LOCVARIDENTIFIER(void* context,
 	//				void* locVarId, std::int32_t line, std::int32_t column, const char* text,
 	//				void* scopeRef, void* typeRef);
-			TIRESIAS_INIT_LOCVARIDENTIFIER (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+			ok = TIRESIAS_INIT_LOCVARIDENTIFIER (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value()));
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_TYPEIDENTIFIER :
@@ -370,14 +366,14 @@
 	//		DLL bool TIRESIAS_INIT_TYPEIDENTIFIER(void* context,
 	//				void* typeId, std::int32_t line, std::int32_t column, const char* text,
 	//				void* scopeRef, void* typeRef, const char* prefix);
-			TIRESIAS_INIT_TYPEIDENTIFIER (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).literal_value().c_str());
+			ok = TIRESIAS_INIT_TYPEIDENTIFIER (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, call.parameters(6).literal_value().c_str());
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_SELFIDENTIFIER :
@@ -385,14 +381,14 @@
 	//		DLL bool TIRESIAS_INIT_SELFIDENTIFIER(void* context,
 	//				void* typeId, std::int32_t line, std::int32_t column, const char* text,
 	//				void* scopeRef, void* typeRef, const char* prefix);
-			TIRESIAS_INIT_SELFIDENTIFIER (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).literal_value().c_str());
+			ok = TIRESIAS_INIT_SELFIDENTIFIER (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, call.parameters(6).literal_value().c_str());
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_METHODIDENTIFIER :
@@ -401,17 +397,17 @@
 	//				void* methodId, std::int32_t line, std::int32_t column, const char* text,
 	//				void* scopeRef, void* typeRef, const char* prefix, void* parameterListRef,
 	//				void* symbolTableRef, void* bodyRef);
-			TIRESIAS_INIT_METHODIDENTIFIER (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+			ok = TIRESIAS_INIT_METHODIDENTIFIER (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, call.parameters(6).literal_value().c_str()
+					, m_objects.at(call.parameters(7).uint64_value())
+					, m_objects.at(call.parameters(8).uint64_value())
+					, m_objects.at(call.parameters(9).uint64_value()));
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_MODULE :
@@ -419,15 +415,15 @@
 	//		DLL bool TIRESIAS_INIT_MODULE(void* context, void* moduleId,
 	//				int line, int column, const char* text, void* scopeRef,
 	//				void* typeRef, const char* prefix, void* symTabRef);
-			TIRESIAS_INIT_MODULE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value()));
+			ok = TIRESIAS_INIT_MODULE (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, call.parameters(6).literal_value().c_str()
+					, m_objects.at(call.parameters(7).uint64_value()));
 			break;
 		}
 		case serialize::PBIdentifiers::TIRESIAS_INIT_MAINMODULE :
@@ -436,16 +432,16 @@
 	//				void* moduleId, int line, int column, const char* text,
 	//				void* scopeRef, void* typeRef, const char* prefix,
 	//				void* symTabRef, void* identifierListRef);
-			TIRESIAS_INIT_MAINMODULE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).literal_value().c_str()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+			ok = TIRESIAS_INIT_MAINMODULE (m_context
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, call.parameters(3).literal_value().c_str()
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, call.parameters(6).literal_value().c_str()
+					, m_objects.at(call.parameters(7).uint64_value())
+					, m_objects.at(call.parameters(8).uint64_value()));
 			break;
 		}
 		default:
@@ -452,6 +448,10 @@
 			m_context->logError("Unknown value for enum PBIdentifiers.");
 			abort();
 	}
+	if (!ok) {
+		m_context->logError("Error initializing identifier.");
+		abort();
+	}
 }
 
 /**
@@ -458,7 +458,6 @@
  * Calls to functions that initialize the various subtypes of Type.
  * */
 void ProtoBufAstTraversal::type(const serialize::PBFunctionCall& call){
-	int i = 0;
 	switch (call.type()) {
 		case serialize::PBTypes::TIRESIAS_INIT_INTTYPE :
 		{
@@ -466,11 +465,11 @@
 	//				void* identifierRef, bool anonymousType, std::int32_t low,
 	//				std::int32_t high);
 			TIRESIAS_INIT_INTTYPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).bool_value()
+					, call.parameters(3).int32_value()
+					, call.parameters(4).int32_value());
 			break;
 		}
 		case serialize::PBTypes::TIRESIAS_INIT_BOOLTYPE :
@@ -478,9 +477,9 @@
 	//		DLL bool TIRESIAS_INIT_BOOLTYPE(void* context, void* typeId,
 	//				void* identifierRef, bool anonymousType);
 			TIRESIAS_INIT_BOOLTYPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).bool_value());
 
 			break;
 		}
@@ -490,11 +489,11 @@
 	//				void* typeId, void* identifierRef,
 	//				bool anonymousType, void* symTabRef, void* intTypeRef);
 			TIRESIAS_INIT_VALUEDENUMTYPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).bool_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value()));
 			break;
 		}
 		case serialize::PBTypes::TIRESIAS_INIT_ENUMTYPE :
@@ -503,10 +502,10 @@
 	//				void* identifierRef, bool anonymousType,
 	//				void* symTabRef);
 			TIRESIAS_INIT_ENUMTYPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).bool_value()
+					, m_objects.at(call.parameters(3).uint64_value()));
 			break;
 		}
 		case serialize::PBTypes::TIRESIAS_INIT_LISTTYPE :
@@ -515,11 +514,11 @@
 	//				void* identifierRef, bool anonymousType,
 	//				void* innerTypeRef, std::uint32_t maxNumberOfElements);
 			TIRESIAS_INIT_LISTTYPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).uint32_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).bool_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, call.parameters(4).uint32_value());
 			break;
 		}
 		case serialize::PBTypes::TIRESIAS_INIT_TUPLETYPE :
@@ -528,10 +527,10 @@
 	//				void* identifierRef, bool anonymousType,
 	//				void* typeListRef);
 			TIRESIAS_INIT_TUPLETYPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).bool_value()
+					, m_objects.at(call.parameters(3).uint64_value()));
 			break;
 		}
 		case serialize::PBTypes::TIRESIAS_INIT_FUNCTIONTYPE :
@@ -541,13 +540,13 @@
 	//				bool anonymousType, void* paramTypeListRef,
 	//				void* returnTypeRef, std::int32_t functionKind, bool isPure);
 			TIRESIAS_INIT_FUNCTIONTYPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).bool_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).bool_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, call.parameters(5).int32_value()
+					, call.parameters(6).bool_value());
 			break;
 		}
 		case serialize::PBTypes::TIRESIAS_INIT_ACTIONSYSTEMINSTANCE :
@@ -556,11 +555,11 @@
 	//				void* instance, void* typeRef, const char* name,
 	//				std::int32_t numOfCreatedObjs, void* parentInstanceRef);
 			TIRESIAS_INIT_ACTIONSYSTEMINSTANCE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).literal_value().c_str()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).literal_value().c_str()
+					, call.parameters(3).int32_value()
+					, m_objects.at(call.parameters(4).uint64_value()));
 			break;
 		}
 		case serialize::PBTypes::TIRESIAS_INIT_ACTIONSYSTEMTYPE :
@@ -573,17 +572,17 @@
 	//				void* derivedObjectsListRef, bool autoConstruction,
 	//				bool isInSystemDescription);
 			TIRESIAS_INIT_ACTIONSYSTEMTYPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value()
-					, call.parameters(i++).bool_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).bool_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value())
+					, m_objects.at(call.parameters(8).uint64_value())
+					, call.parameters(9).bool_value()
+					, call.parameters(10).bool_value());
 			break;
 		}
 		case serialize::PBTypes::TIRESIAS_INIT_NULLTYPE :
@@ -591,9 +590,9 @@
 	//		DLL bool TIRESIAS_INIT_NULLTYPE(void* context, void* typeId,
 	//				void* identifierRef, bool anonymousType);
 			TIRESIAS_INIT_NULLTYPE (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, m_objects.at(call.parameters(1).uint64_value())
+					, call.parameters(2).bool_value());
 			break;
 		}
 		default:
@@ -607,7 +606,6 @@
  * Calls to functions that initialize the various subtypes of Statement.
  * */
 void ProtoBufAstTraversal::statement(const serialize::PBFunctionCall& call){
-	int i = 0;
 	switch (call.statement()) {
 		case serialize::PBStatements::TIRESIAS_INIT_SKIP :
 		{
@@ -614,9 +612,9 @@
 	//		DLL bool TIRESIAS_INIT_SKIP(void* context, void* stmnt,
 	//				std::int32_t line, std::int32_t col);
 			TIRESIAS_INIT_SKIP (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value());
 			break;
 		}
 		case serialize::PBStatements::TIRESIAS_INIT_BREAK :
@@ -624,9 +622,9 @@
 	//		DLL bool TIRESIAS_INIT_BREAK(void* context, void* stmnt,
 	//				std::int32_t line, std::int32_t col);
 			TIRESIAS_INIT_BREAK (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value());
 			break;
 		}
 		case serialize::PBStatements::TIRESIAS_INIT_ABORT :
@@ -634,9 +632,9 @@
 	//		DLL bool TIRESIAS_INIT_ABORT(void* context, void* stmnt,
 	//				std::int32_t line, std::int32_t col);
 			TIRESIAS_INIT_ABORT (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value());
 			break;
 		}
 		case serialize::PBStatements::TIRESIAS_INIT_NONDETBLOCK :
@@ -645,12 +643,12 @@
 	//				std::int32_t line, std::int32_t col, void* symTabRef, void* stmtListRef,
 	//				void* scopeRef);
 			TIRESIAS_INIT_NONDETBLOCK (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value()));
 			break;
 		}
 		case serialize::PBStatements::TIRESIAS_INIT_SEQBLOCK :
@@ -659,13 +657,13 @@
 	//				std::int32_t line, std::int32_t col, void* symTabRef, void* stmtListRef,
 	//				void* scopeRef, void* filterExprRef);
 			TIRESIAS_INIT_SEQBLOCK (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value()));
 			break;
 		}
 		case serialize::PBStatements::TIRESIAS_INIT_PRIOBLOCK :
@@ -674,12 +672,12 @@
 	//				std::int32_t line, std::int32_t col, void* symTabRef, void* stmtListRef,
 	//				void* scopeRef);
 			TIRESIAS_INIT_PRIOBLOCK (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value()));
 			break;
 		}
 		case serialize::PBStatements::TIRESIAS_INIT_GUARDEDCOMMAND :
@@ -688,12 +686,12 @@
 	//				void* stmt, std::int32_t line, std::int32_t pos, void* scopeRef,
 	//				void* guardExprRef, void* bodyRef);
 			TIRESIAS_INIT_GUARDEDCOMMAND (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value()));
 			break;
 		}
 		case serialize::PBStatements::TIRESIAS_INIT_ASSIGNMENT :
@@ -703,14 +701,14 @@
 	//				void* placeExprListRef, void* valueExprListRef,
 	//				void* symTabRef);
 			TIRESIAS_INIT_ASSIGNMENT (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value()));
 			break;
 		}
 		case serialize::PBStatements::TIRESIAS_INIT_CALL :
@@ -718,10 +716,10 @@
 	//		DLL bool TIRESIAS_INIT_CALL(void* context, void* stmt,
 	//				std::int32_t line, std::int32_t pos, void* callExprRef);
 			TIRESIAS_INIT_CALL (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value()));
 			break;
 		}
 		default:
@@ -734,7 +732,6 @@
  * Calls to functions that initialize the various subtypes of Expression.
  * */
 void ProtoBufAstTraversal::expression(const serialize::PBFunctionCall& call){
-	int i = 0;
 	switch (call.expression()) {
 		case serialize::PBExpressions::TIRESIAS_INIT_TYPEEXPRESSION :
 		{
@@ -742,12 +739,12 @@
 	//				void* expr, std::int32_t line, std::int32_t pos, void* typeRef,
 	//				void* callTargetsIdentifierListRef, void* symbTabRef);
 			TIRESIAS_INIT_TYPEEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value()));
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_IDENTIFIEREXPRESSION :
@@ -757,14 +754,14 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* identifierRef, bool isSelf);
 			TIRESIAS_INIT_IDENTIFIEREXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, call.parameters(7).bool_value());
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_UNARYEXPRESSION :
@@ -774,13 +771,13 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* child);
 			TIRESIAS_INIT_UNARYEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value()));
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_BINARYEXPRESSION :
@@ -790,14 +787,14 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* left, void* right);
 			TIRESIAS_INIT_BINARYEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value()));
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_TERNARYEXPRESSION :
@@ -807,16 +804,16 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* left, void* mid, void* right, void* defScopeRef);
 			TIRESIAS_INIT_TERNARYEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value())
+					, m_objects.at(call.parameters(8).uint64_value())
+					, m_objects.at(call.parameters(9).uint64_value()));
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_INTVALUEEXPRESSION :
@@ -826,13 +823,13 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				std::int32_t value);
 			TIRESIAS_INIT_INTVALUEEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, call.parameters(6).int32_value());
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_BOOLVALUEEXPRESSION :
@@ -842,13 +839,13 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				bool value);
 			TIRESIAS_INIT_BOOLVALUEEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, call.parameters(6).bool_value());
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_REFVALUEEXPRESSION :
@@ -857,13 +854,13 @@
 	//				void* expr, std::int32_t line, std::int32_t pos, void* typeRef,
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,void* object);
 			TIRESIAS_INIT_REFVALUEEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value()));
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_LISTCONSTRUCTOR :
@@ -874,17 +871,17 @@
 	//				void* exprList, void* symTab, void* parentScope,
 	//				void* comprehension, bool hasComprehension);
 			TIRESIAS_INIT_LISTCONSTRUCTOR (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value())
+					, m_objects.at(call.parameters(8).uint64_value())
+					, m_objects.at(call.parameters(9).uint64_value())
+					, call.parameters(10).bool_value());
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_SETCONSTRUCTOR :
@@ -895,17 +892,17 @@
 	//				void* exprList, void* symTab, void* parentScope,
 	//				void* comprehension, bool hasComprehension);
 			TIRESIAS_INIT_SETCONSTRUCTOR (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value())
+					, m_objects.at(call.parameters(8).uint64_value())
+					, m_objects.at(call.parameters(9).uint64_value())
+					, call.parameters(10).bool_value());
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_TUPLECONSTRUCTOR :
@@ -915,15 +912,15 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* exprList, void* tupleTypeId, bool isMatcher);
 			TIRESIAS_INIT_TUPLECONSTRUCTOR (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).bool_value());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value())
+					, call.parameters(8).bool_value());
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_ACCESSEXPRESSION :
@@ -933,14 +930,14 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* left, void* right);
 			TIRESIAS_INIT_ACCESSEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value()));
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_TUPLEMAPACCESSEXPRESSION :
@@ -950,14 +947,14 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* child, void* argument);
 			TIRESIAS_INIT_TUPLEMAPACCESSEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value()));
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_CALLEXPRESSION :
@@ -967,15 +964,15 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* child, void* argumentList, void* scopeRef);
 			TIRESIAS_INIT_CALLEXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value())
+					, m_objects.at(call.parameters(8).uint64_value()));
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_QUANTIFIEREXPRESSION :
@@ -985,15 +982,15 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* child, void* symTabRef, void* scopeRef);
 			TIRESIAS_INIT_QUANTIFIEREXPRESSION (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value()));
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, m_objects.at(call.parameters(7).uint64_value())
+					, m_objects.at(call.parameters(8).uint64_value()));
 			break;
 		}
 		case serialize::PBExpressions::TIRESIAS_INIT_OBJECTCONSTRUCTOR :
@@ -1003,15 +1000,15 @@
 	//				void* callTargetsIdentifierListRef, void* symbTabRef,
 	//				void* instanceList, std::uint32_t currentInstance, const char* name);
 			TIRESIAS_INIT_OBJECTCONSTRUCTOR (m_context
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).int32_value()
-					, call.parameters(i++).int32_value()
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, m_objects.at(call.parameters(i++).uint64_value())
-					, call.parameters(i++).uint32_value()
-					, call.parameters(i++).literal_value().c_str());
+					, m_objects.at(call.parameters(0).uint64_value())
+					, call.parameters(1).int32_value()
+					, call.parameters(2).int32_value()
+					, m_objects.at(call.parameters(3).uint64_value())
+					, m_objects.at(call.parameters(4).uint64_value())
+					, m_objects.at(call.parameters(5).uint64_value())
+					, m_objects.at(call.parameters(6).uint64_value())
+					, call.parameters(7).uint32_value()
+					, call.parameters(8).literal_value().c_str());
 			break;
 		}
 		default:
