Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <./list.h>
- #include <sdk/lang/Exception.h>
- #include <sdk/lang/BufferIterator.h>
- #include <sdk/lang/System.h>
- #include <sdk/lang/Character.h>
- #include <sdk/lang/VarArgs.h>
- #include <sdk/lang/string.h>
- #include <sdk/lang/Iterators.h>
- #include <sdk/lang/Memory.h>
- #include <sdk/lang/Buffer.h>
- #include <sdk/lang/Numbers.h>
- #include <sdk/lang/Abstractions.h>
- #include <sdk/lang/Format.h>
- #include <sdk/lang/IO.h>
- static lang_string__String* __strLit122;
- static lang_string__String* __strLit120;
- void list__List_get(list__List* this, uint8_t* __genericReturn2, lang_Numbers__Int index) { ((list__ListClass *)((lang_core__Object *)this)->class)->get((list__List*)this, __genericReturn2, index); }
- void list__List_set(list__List* this, lang_Numbers__Int index, uint8_t* element) { return (void) ((list__ListClass *)((lang_core__Object *)this)->class)->set((list__List*)this, index, element); }
- void list__List___defaults__(list__List* this) { return (void) ((lang_core__ObjectClass *)((lang_core__Object *)this)->class)->__defaults__((lang_core__Object*)this); }
- list__List* list__List_new(lang_core__Class* X, lang_Numbers__SizeT size) {
- list__List* this = ((list__List*) (lang_core__Class_alloc__class((lang_core__Class*) list__List_class())));
- this->X = X;
- list__List___defaults__(this);
- list__List_init((list__List*) this, size);
- return this;
- }
- void list__List___load__() {
- lang_core__Class___load__();
- }
- void list__List_init(list__List* this, lang_Numbers__SizeT size) {
- this->size = size;
- this->data = (void*) lang_Memory__gc_malloc(this->X->size * size);
- }
- void list__List_get_impl(list__List* this, uint8_t* __genericReturn2, lang_Numbers__Int index) {
- if (__genericReturn2) {
- lang_Memory__memcpy(__genericReturn2, &(this->data[index * this->X->size]), this->X->size);
- }
- return;
- }
- void list__List_set_impl(list__List* this, lang_Numbers__Int index, uint8_t* element) {
- lang_Memory__memcpy(&(this->data[index * this->X->size]), element, this->X->size);
- }
- void list__List___defaults___impl(list__List* this) {
- lang_core__Class___defaults___impl((lang_core__Class*) this);
- }
- list__ListClass *list__List_class(){
- static int __done__ = 0;
- static list__ListClass class =
- {
- {
- {
- {
- { NULL },
- (lang_Numbers__SizeT) 0,
- (lang_Numbers__SizeT) 0,
- (lang_string__String*) 0,
- (lang_core__Class*) 0,
- },
- (void*) list__List___defaults___impl,
- (void*) lang_core__Object___destroy___impl,
- (void*) list__List___load__,
- },
- (void*) lang_core__Class_forCover,
- },
- (void*) list__List_new,
- (void*) list__List_get_impl,
- (void*) list__List_set_impl,
- };
- lang_core__Class *classPtr = (lang_core__Class *) &class;
- if(!__done__++){
- classPtr->instanceSize = sizeof(list__List);
- classPtr->size = sizeof(void*);
- classPtr->super = (lang_core__Class*) lang_core__Object_class();
- classPtr->name = (void*) lang_string__makeStringLiteral("List", 4);
- }
- return &class;
- }
- void list__Letter___load__() {
- lang_core__Class___load__();
- }
- list__LetterClass *list__Letter_class(){
- static lang_core__Class* classPtr = NULL;
- if (!classPtr) {
- classPtr = (void*) lang_core__Class_forCover(sizeof(list__Letter), sizeof(list__Letter));
- classPtr->super = (lang_core__Class*) lang_core__Object_class();
- classPtr->name = (void*) lang_string__makeStringLiteral("Letter", 6);
- }
- return (void*) classPtr;
- }
- list__Letter list__List___specialized1_get(list__List___specialized1* this, lang_Numbers__Int index) { return (list__Letter) ((list__List___specialized1Class *)((lang_core__Object *)this)->class)->get((list__List___specialized1*)this, index); }
- void list__List___specialized1_set(list__List___specialized1* this, lang_Numbers__Int index, list__Letter element) { return (void) ((list__List___specialized1Class *)((lang_core__Object *)this)->class)->set((list__List___specialized1*)this, index, element); }
- void list__List___specialized1___defaults__(list__List___specialized1* this) { return (void) ((lang_core__ObjectClass *)((lang_core__Object *)this)->class)->__defaults__((lang_core__Object*)this); }
- list__List___specialized1* list__List___specialized1_new(lang_Numbers__SizeT size) {
- list__List___specialized1* this = ((list__List___specialized1*) (lang_core__Class_alloc__class((lang_core__Class*) list__List___specialized1_class())));
- this->X = (lang_core__Class*) list__Letter_class();
- list__List___specialized1___defaults__(this);
- list__List___specialized1_init((list__List___specialized1*) this, size);
- return this;
- }
- void list__List___specialized1___load__() {
- lang_core__Class___load__();
- }
- void list__List___specialized1_init(list__List___specialized1* this, lang_Numbers__SizeT size) {
- this->size = size;
- this->data = (void*) lang_Memory__gc_malloc(this->X->size * size);
- }
- list__Letter list__List___specialized1_get_impl(list__List___specialized1* this, lang_Numbers__Int index) {
- return this->data[index];
- }
- void list__List___specialized1_set_impl(list__List___specialized1* this, lang_Numbers__Int index, list__Letter element) {
- lang_Memory__memcpy(&(this->data[index * this->X->size]), &(element), ((lang_core__Class*)list__Letter_class())->size);
- }
- void list__List___specialized1___defaults___impl(list__List___specialized1* this) {
- lang_core__Class___defaults___impl((lang_core__Class*) this);
- }
- list__List___specialized1Class *list__List___specialized1_class(){
- static int __done__ = 0;
- static list__List___specialized1Class class =
- {
- {
- {
- {
- { NULL },
- (lang_Numbers__SizeT) 0,
- (lang_Numbers__SizeT) 0,
- (lang_string__String*) 0,
- (lang_core__Class*) 0,
- },
- (void*) list__List___specialized1___defaults___impl,
- (void*) lang_core__Object___destroy___impl,
- (void*) list__List___specialized1___load__,
- },
- (void*) lang_core__Class_forCover,
- },
- (void*) list__List___specialized1_new,
- (void*) list__List___specialized1_get_impl,
- (void*) list__List___specialized1_set_impl,
- };
- lang_core__Class *classPtr = (lang_core__Class *) &class;
- if(!__done__++){
- classPtr->instanceSize = sizeof(list__List___specialized1);
- classPtr->size = sizeof(void*);
- classPtr->super = (lang_core__Class*) lang_core__Object_class();
- classPtr->name = (void*) lang_string__makeStringLiteral("List___specialized1", 19);
- }
- return &class;
- }
- void list_load() {
- static int __done__ = 0;
- if (!__done__++){
- lang_Exception_load();
- lang_BufferIterator_load();
- lang_System_load();
- lang_Character_load();
- lang_VarArgs_load();
- lang_core_load();
- lang_string_load();
- lang_Iterators_load();
- lang_Memory_load();
- lang_Buffer_load();
- lang_Numbers_load();
- lang_Abstractions_load();
- lang_Format_load();
- lang_IO_load();
- list__List___load__();
- list__Letter___load__();
- list__List___specialized1___load__();
- __strLit122 = (void*) lang_string__makeStringLiteral("%c", 2);
- __strLit120 = (void*) lang_string__makeStringLiteral("%c", 2);
- }
- }
- void list__test1() {
- list__List* l = list__List_new((lang_core__Class*)lang_Character__Char_class(), 3);
- lang_Character__Char __genArg117 = 'f';
- list__List_set(l, 0, (uint8_t*) &(__genArg117));
- lang_Character__Char __genArg118 = 'a';
- list__List_set(l, 1, (uint8_t*) &(__genArg118));
- lang_Character__Char __genArg119 = 'q';
- list__List_set(l, 2, (uint8_t*) &(__genArg119));
- {
- lang_Numbers__Int i;
- for (i = 0; i < l->size; i++) {
- lang_Character__Char __genCall121;
- lang_IO__printf(lang_string____OP_AS_String__Char__star(__strLit120), (list__List_get(l, (uint8_t*) &(__genCall121), i), __genCall121));
- }
- }
- lang_IO__println();
- }
- void list__test2() {
- list__List___specialized1* l = list__List___specialized1_new(3);
- list__List___specialized1_set(l, 0, ((list__Letter) ('f')));
- list__List___specialized1_set(l, 1, ((list__Letter) ('a')));
- list__List___specialized1_set(l, 2, ((list__Letter) ('q')));
- {
- lang_Numbers__Int i;
- for (i = 0; i < l->size; i++) {
- lang_IO__printf(lang_string____OP_AS_String__Char__star(__strLit122), list__List___specialized1_get(l, i));
- }
- }
- lang_IO__println();
- }
- lang_Numbers__Int main() {
- GC_INIT();
- list_load();
- list__test1();
- list__test2();
- return ((lang_Numbers__Int) (0));
- }
Add Comment
Please, Sign In to add comment