char * handle_slim_message(char * message) { SlimList* instructions = SlimList_Deserialize(message); SlimList* results = ListExecutor_Execute(listExecutor, instructions); char * response = SlimList_Serialize(results); SlimList_Destroy(results); SlimList_Destroy(instructions); return response; }
void teardown() { SlimList_Destroy(slimList); if (deserializedList) SlimList_Destroy(deserializedList); if (serializedList != 0) SlimList_Release(serializedList); }
void teardown() { SlimList_Destroy(slimList); if (deserializedList) SlimList_Destroy(deserializedList); if (serializedList != 0) cpputest_free((void*)serializedList); }
char* Make(ListExecutor* self, SlimList* instruction) { char* instanceName = SlimList_GetStringAt(instruction, 2); char* className = SlimList_GetStringAt(instruction, 3); SlimList* args = SlimList_GetTailAt(instruction, 4); char * result = buyString(StatementExecutor_Make(self->executor, instanceName, className, args)); SlimList_Destroy(args); return result; }
static void AddResult(SlimList* list, char* id, char* result) { SlimList* pair = SlimList_Create(); SlimList_AddString(pair, id); SlimList_AddString(pair, result); SlimList_AddList(list, pair); SlimList_Destroy(pair); }
char* Call(ListExecutor* self, SlimList* instruction) { if (SlimList_GetLength(instruction) < 4) return MalformedInstruction(self, instruction); char* instanceName = SlimList_GetStringAt(instruction, 2); char* methodName = SlimList_GetStringAt(instruction, 3); SlimList* args = SlimList_GetTailAt(instruction, 4); char* result = buyString(StatementExecutor_Call(self->executor, instanceName, methodName, args)); SlimList_Destroy(args); return result; }
void SlimList_ReplaceAt(SlimList* self, int index, const char * replacementString) { Node* node = SlimList_GetNodeAt(self, index); if(node->list != 0) { SlimList_Destroy(node->list); node->list = 0; } char * newString = buyString(replacementString); free(node->string); node->string = newString; }
char* CallAndAssign(ListExecutor* self, SlimList* instruction) { if (SlimList_GetLength(instruction) < 5) return MalformedInstruction(self, instruction); char* symbolName = SlimList_GetStringAt(instruction, 2); char* instanceName = SlimList_GetStringAt(instruction, 3); char* methodName = SlimList_GetStringAt(instruction, 4); SlimList* args = SlimList_GetTailAt(instruction, 5); char* result = CSlim_BuyString(StatementExecutor_Call(self->executor, instanceName, methodName, args)); StatementExecutor_SetSymbol(self->executor, symbolName, result); SlimList_Destroy(args); return result; }
void SlimList_Destroy(SlimList* self) { Node * node; Node * next; for(node = self->head; node; node = next) { if (node->string) free(node->string); if (node->list) SlimList_Destroy(node->list); next = node->next; free(node); } free(self); }
void replaceSymbols(SymbolTable* symbolTable, SlimList* list) { int i; for (i=0; i<SlimList_GetLength(list); i++) { char* string = SlimList_GetStringAt(list, i); SlimList* embeddedList = SlimList_Deserialize(string); if (embeddedList == NULL) { char* replacedString = replaceString(symbolTable, string); SlimList_ReplaceAt(list, i, replacedString); free(replacedString); } else { replaceSymbols(symbolTable, embeddedList); char* serializedReplacedList = SlimList_Serialize(embeddedList); SlimList_ReplaceAt(list, i, serializedReplacedList); SlimList_Destroy(embeddedList); free(serializedReplacedList); } } }
void teardown() { StatementExecutor_Destroy(statementExecutor); SlimList_Destroy(args); SlimList_Destroy(empty); }
void teardown() { SlimList_Destroy(slimList); SlimList_Release(serializedList); }