-val_t list___List___iterator(val_t self) {
- struct trace_t trace = {NULL, NULL, 173, LOCATE_list___List___iterator};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = ATTR_list___List____head(variable[0]) /*List::_head*/;
- /* Register variable[2]: Result */
- variable[2] = NEW_ListIterator_list___ListIterator___init(variable[2]) /*new ListIterator[E]*/;
- variable[1] = variable[2];
- goto return_label0;
- return_label0: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t list___List___is_empty(val_t self) {
- struct trace_t trace = {NULL, NULL, 40, LOCATE_list___List___is_empty};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = ATTR_list___List____head(variable[0]) /*List::_head*/;
- /* Register variable[2]: Result */
- variable[2] = TAG_Bool((variable[2] == NIT_NULL /*null*/) || ((variable[2] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[2])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[2], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[2])(variable[2], NIT_NULL /*null*/) /*Object::==*/)))));
- variable[1] = variable[2];
- goto return_label1;
- return_label1: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t list___List___length(val_t self) {
- struct trace_t trace = {NULL, NULL, 43, LOCATE_list___List___length};
- val_t variable[5];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Local variable */
- variable[2] = TAG_Int(0);
- /* Register variable[3]: Local variable */
- /* Register variable[4]: Result */
- variable[4] = ATTR_list___List____head(variable[0]) /*List::_head*/;
- variable[3] = variable[4];
- while (true) { /*while*/
- /* Register variable[4]: Result */
- variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*t*/ == NIT_NULL /*null*/) || (( variable[3] /*t*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*t*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*t*/)( variable[3] /*t*/, NIT_NULL /*null*/) /*Object::==*/)))))));
- if (!UNTAG_Bool(variable[4])) break; /* while*/
- variable[2] = TAG_Int(UNTAG_Int(variable[2])+UNTAG_Int( TAG_Int(1))) /*l*/;
- /* Register variable[4]: Result */
- variable[4] = CALL_list___ListNode___next( variable[3] /*t*/)( variable[3] /*t*/) /*ListNode::next*/;
- variable[3] = variable[4] /*t=*/;
- continue_3: while(0);
- }
- break_3: while(0);
- variable[1] = variable[2] /*l*/;
- goto return_label2;
- return_label2: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t list___List___has(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 55, LOCATE_list___List___has};
- val_t variable[4];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Result */
- variable[3] = ATTR_list___List____head(variable[0]) /*List::_head*/;
- /* Register variable[3]: Result */
- variable[3] = CALL_list___List___search_node_after(variable[0])(variable[0], variable[1] /*e*/, variable[3]) /*List::search_node_after*/;
- /* Register variable[3]: Result */
- variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], NIT_NULL /*null*/) /*Object::==*/)))))));
- variable[2] = variable[3];
- goto return_label4;
- return_label4: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t list___List___has_only(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 58, LOCATE_list___List___has_only};
- val_t variable[5];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Local variable */
- /* Register variable[4]: Result */
- variable[4] = ATTR_list___List____head(variable[0]) /*List::_head*/;
- variable[3] = variable[4];
- while (true) { /*while*/
- /* Register variable[4]: Result */
- variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*node*/ == NIT_NULL /*null*/) || (( variable[3] /*node*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*node*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*node*/)( variable[3] /*node*/, NIT_NULL /*null*/) /*Object::==*/)))))));
- if (!UNTAG_Bool(variable[4])) break; /* while*/
- /* Register variable[4]: Result */
- variable[4] = CALL_abstract_collection___Container___item( variable[3] /*node*/)( variable[3] /*node*/) /*Container::item*/;
- /* Register variable[4]: Result */
- variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == variable[1] /*e*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], variable[1] /*e*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4], variable[1] /*e*/) /*Object::==*/)))))));
- if (UNTAG_Bool(variable[4])) { /*if*/
- variable[2] = TAG_Bool(false);
- goto return_label5;
- }
- /* Register variable[4]: Result */
- variable[4] = CALL_list___ListNode___next( variable[3] /*node*/)( variable[3] /*node*/) /*ListNode::next*/;
- variable[3] = variable[4] /*node=*/;
- continue_6: while(0);
- }
- break_6: while(0);
- variable[2] = TAG_Bool(true);
- goto return_label5;
- return_label5: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t list___List___count(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 68, LOCATE_list___List___count};
- val_t variable[6];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Local variable */
- variable[3] = TAG_Int(0);
- /* Register variable[4]: Local variable */
- /* Register variable[5]: Result */
- variable[5] = ATTR_list___List____head(variable[0]) /*List::_head*/;
- variable[4] = variable[5];
- while (true) { /*while*/
- /* Register variable[5]: Result */
- variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[4] /*node*/ == NIT_NULL /*null*/) || (( variable[4] /*node*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[4] /*node*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[4] /*node*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[4] /*node*/)( variable[4] /*node*/, NIT_NULL /*null*/) /*Object::==*/)))))));
- if (!UNTAG_Bool(variable[5])) break; /* while*/
- /* Register variable[5]: Result */
- variable[5] = CALL_abstract_collection___Container___item( variable[4] /*node*/)( variable[4] /*node*/) /*Container::item*/;
- /* Register variable[5]: Result */
- variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] == variable[1] /*e*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], variable[1] /*e*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], variable[1] /*e*/) /*Object::==*/)))))));
- if (UNTAG_Bool(variable[5])) { /*if*/
- variable[3] = TAG_Int(UNTAG_Int(variable[3])+UNTAG_Int( TAG_Int(1))) /*nb*/;
- }
- /* Register variable[5]: Result */
- variable[5] = CALL_list___ListNode___next( variable[4] /*node*/)( variable[4] /*node*/) /*ListNode::next*/;
- variable[4] = variable[5] /*node=*/;
- continue_8: while(0);
- }
- break_8: while(0);
- variable[2] = variable[3] /*nb*/;
- goto return_label7;
- return_label7: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t list___List___first(val_t self) {
- struct trace_t trace = {NULL, NULL, 26, LOCATE_list___List___first};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = ATTR_list___List____head(variable[0]) /*List::_head*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_abstract_collection___Container___item(variable[2])(variable[2]) /*Container::item*/;
- variable[1] = variable[2];
- goto return_label9;
- return_label9: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-val_t list___List_____bra(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 21, LOCATE_list___List_____bra};
- val_t variable[4];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Result */
- variable[3] = CALL_list___List___get_node(variable[0])(variable[0], variable[1] /*index*/) /*List::get_node*/;
- /* Register variable[3]: Result */
- variable[3] = CALL_abstract_collection___Container___item(variable[3])(variable[3]) /*Container::item*/;
- variable[2] = variable[3];
- goto return_label10;
- return_label10: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t list___List___has_key(val_t self, val_t param0) {
- struct trace_t trace = {NULL, NULL, 79, LOCATE_list___List___has_key};
- val_t variable[4];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Local variable */
- variable[1] = param0;
- /* Register variable[2]: Method return value and escape marker */
- /* Register variable[3]: Result */
- variable[3] = CALL_list___List___get_node(variable[0])(variable[0], variable[1] /*index*/) /*List::get_node*/;
- /* Register variable[3]: Result */
- variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], NIT_NULL /*null*/) /*Object::==*/)))))));
- variable[2] = variable[3];
- goto return_label11;
- return_label11: while(false);
- tracehead = trace.prev;
- return variable[2];
-}
-val_t list___List___last(val_t self) {
- struct trace_t trace = {NULL, NULL, 32, LOCATE_list___List___last};
- val_t variable[3];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- /* Register variable[2]: Result */
- variable[2] = ATTR_list___List____tail(variable[0]) /*List::_tail*/;
- /* Register variable[2]: Result */
- variable[2] = CALL_abstract_collection___Container___item(variable[2])(variable[2]) /*Container::item*/;
- variable[1] = variable[2];
- goto return_label12;
- return_label12: while(false);
- tracehead = trace.prev;
- return variable[1];
-}
-void list___List___clear(val_t self) {
- struct trace_t trace = {NULL, NULL, 166, LOCATE_list___List___clear};
- val_t variable[2];
- struct WBT_ **closurevariable = NULL;
- trace.prev = tracehead; tracehead = &trace;
- trace.file = LOCATE_list;
- /* Register variable[0]: Local variable */
- variable[0] = self;
- /* Register variable[1]: Method return value and escape marker */
- ATTR_list___List____head(variable[0]) /*List::_head*/ = NIT_NULL /*null*/;
- ATTR_list___List____tail(variable[0]) /*List::_tail*/ = NIT_NULL /*null*/;
- return_label13: while(false);
- tracehead = trace.prev;