-val_t mmloader___ToolContext___paths(val_t self) {
- struct trace_t trace = {NULL, "mmloader::ToolContext::paths (src/mmloader.nit:48,2--49:35)"};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return ATTR_mmloader___ToolContext____paths( self) /*ToolContext::_paths*/;
-}
-val_t mmloader___ToolContext___option_context(val_t self) {
- struct trace_t trace = {NULL, "mmloader::ToolContext::option_context (src/mmloader.nit:54,2--55:65)"};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return ATTR_mmloader___ToolContext____option_context( self) /*ToolContext::_option_context*/;
-}
-val_t mmloader___ToolContext___opt_warn(val_t self) {
- struct trace_t trace = {NULL, "mmloader::ToolContext::opt_warn (src/mmloader.nit:57,2--58:85)"};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return ATTR_mmloader___ToolContext____opt_warn( self) /*ToolContext::_opt_warn*/;
-}
-val_t mmloader___ToolContext___opt_path(val_t self) {
- struct trace_t trace = {NULL, "mmloader::ToolContext::opt_path (src/mmloader.nit:60,2--61:131)"};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return ATTR_mmloader___ToolContext____opt_path( self) /*ToolContext::_opt_path*/;
-}
-val_t mmloader___ToolContext___opt_log(val_t self) {
- struct trace_t trace = {NULL, "mmloader::ToolContext::opt_log (src/mmloader.nit:63,2--64:90)"};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return ATTR_mmloader___ToolContext____opt_log( self) /*ToolContext::_opt_log*/;
-}
-val_t mmloader___ToolContext___opt_only_metamodel(val_t self) {
- struct trace_t trace = {NULL, "mmloader::ToolContext::opt_only_metamodel (src/mmloader.nit:66,2--67:118)"};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return ATTR_mmloader___ToolContext____opt_only_metamodel( self) /*ToolContext::_opt_only_metamodel*/;
-}
-val_t mmloader___ToolContext___opt_only_parse(val_t self) {
- struct trace_t trace = {NULL, "mmloader::ToolContext::opt_only_parse (src/mmloader.nit:69,2--70:115)"};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return ATTR_mmloader___ToolContext____opt_only_parse( self) /*ToolContext::_opt_only_parse*/;
-}
-val_t mmloader___ToolContext___opt_help(val_t self) {
- struct trace_t trace = {NULL, "mmloader::ToolContext::opt_help (src/mmloader.nit:72,2--73:101)"};
- trace.prev = tracehead; tracehead = &trace;
- tracehead = trace.prev;
- return ATTR_mmloader___ToolContext____opt_help( self) /*ToolContext::_opt_help*/;
-}
-void mmloader___ToolContext___init(val_t self, int* init_table) {
- struct trace_t trace = {NULL, "mmloader::ToolContext::init (src/mmloader.nit:75,2--78:102)"};
- val_t variable0;
- val_t variable1;
- val_t variable2;
- val_t variable3;
- val_t variable4;
- val_t variable5;
- val_t variable6;
- val_t variable7;
- trace.prev = tracehead; tracehead = &trace;
- if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ToolContext].i]) return;
- ((abstractmetamodel___MMContext___init_t)CALL( self,COLOR_abstractmetamodel___MMContext___init))( self, init_table /*YYY*/) /*MMContext::init*/;
- variable0 = ((mmloader___ToolContext___option_context_t)CALL( self,COLOR_mmloader___ToolContext___option_context))( self) /*ToolContext::option_context*/;
- variable1 = NEW_array___Array___with_capacity(TAG_Int(6)); /*new Array[Option]*/
- variable2 = ((mmloader___ToolContext___opt_warn_t)CALL( self,COLOR_mmloader___ToolContext___opt_warn))( self) /*ToolContext::opt_warn*/;
- ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable2) /*Array::add*/;
- variable3 = ((mmloader___ToolContext___opt_path_t)CALL( self,COLOR_mmloader___ToolContext___opt_path))( self) /*ToolContext::opt_path*/;
- ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable3) /*Array::add*/;
- variable4 = ((mmloader___ToolContext___opt_log_t)CALL( self,COLOR_mmloader___ToolContext___opt_log))( self) /*ToolContext::opt_log*/;
- ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable4) /*Array::add*/;
- variable5 = ((mmloader___ToolContext___opt_only_parse_t)CALL( self,COLOR_mmloader___ToolContext___opt_only_parse))( self) /*ToolContext::opt_only_parse*/;
- ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable5) /*Array::add*/;
- variable6 = ((mmloader___ToolContext___opt_only_metamodel_t)CALL( self,COLOR_mmloader___ToolContext___opt_only_metamodel))( self) /*ToolContext::opt_only_metamodel*/;
- ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable6) /*Array::add*/;
- variable7 = ((mmloader___ToolContext___opt_help_t)CALL( self,COLOR_mmloader___ToolContext___opt_help))( self) /*ToolContext::opt_help*/;
- ((array___AbstractArray___add_t)CALL(variable1,COLOR_abstract_collection___SimpleCollection___add))(variable1, variable7) /*Array::add*/;
- ((opts___OptionContext___add_option_t)CALL(variable0,COLOR_opts___OptionContext___add_option))(variable0, variable1) /*OptionContext::add_option*/;
- init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_ToolContext].i] = 1;
- tracehead = trace.prev;
+void mmloader___ToolContext___error(val_t p0, val_t p1, val_t p2){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 77;
+ fra.me.meth = LOCATE_mmloader___ToolContext___error;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[2] = p2;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____messages(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:80 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_messages");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 80);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = ATTR_mmloader___ToolContext____messages(fra.me.REG[0]);
+ fra.me.REG[2] = NEW_Message_mmloader___Message___init(fra.me.REG[1], fra.me.REG[2]);
+ array___Array___add(fra.me.REG[3], fra.me.REG[2]);
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:81 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_error_count");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 81);
+ nit_exit(1);
+ }
+ REGB0 = ATTR_mmloader___ToolContext____error_count(fra.me.REG[0]);
+ REGB1 = TAG_Int(1);
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
+ /* ./mmloader.nit:81 */
+ ATTR_mmloader___ToolContext____error_count(fra.me.REG[0]) = REGB1;
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void mmloader___ToolContext___fatal_error(val_t p0, val_t p1, val_t p2){
+ struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 84;
+ fra.me.meth = LOCATE_mmloader___ToolContext___fatal_error;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 3;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[2] = p2;
+ /* ./mmloader.nit:87 */
+ CALL_mmloader___ToolContext___error(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
+ /* ./mmloader.nit:88 */
+ CALL_mmloader___ToolContext___check_errors(fra.me.REG[0])(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void mmloader___ToolContext___warning(val_t p0, val_t p1, val_t p2){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t REGB2;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 91;
+ fra.me.meth = LOCATE_mmloader___ToolContext___warning;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ fra.me.REG[2] = p2;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:94 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_warn");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 94);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = ATTR_mmloader___ToolContext____opt_warn(fra.me.REG[0]);
+ fra.me.REG[3] = CALL_opts___Option___value(fra.me.REG[3])(fra.me.REG[3]);
+ REGB0 = TAG_Int(0);
+ REGB1 = TAG_Bool(IS_EQUAL_ON(REGB0,fra.me.REG[3]));
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ REGB2 = TAG_Bool(false);
+ REGB1 = REGB2;
+ } else {
+ REGB0 = TAG_Bool((fra.me.REG[3])==(REGB0));
+ REGB1 = REGB0;
+ /* ./mmloader.nit:94 */
+ }
+ }
+ if (UNTAG_Bool(REGB1)) {
+ goto label1;
+ }
+ REGB1 = TAG_Bool(ATTR_mmloader___ToolContext____messages(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:95 */
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_messages");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 95);
+ nit_exit(1);
+ }
+ fra.me.REG[3] = ATTR_mmloader___ToolContext____messages(fra.me.REG[0]);
+ fra.me.REG[2] = NEW_Message_mmloader___Message___init(fra.me.REG[1], fra.me.REG[2]);
+ array___Array___add(fra.me.REG[3], fra.me.REG[2]);
+ REGB1 = TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:96 */
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_warn");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 96);
+ nit_exit(1);
+ }
+ fra.me.REG[2] = ATTR_mmloader___ToolContext____opt_warn(fra.me.REG[0]);
+ fra.me.REG[2] = CALL_opts___Option___value(fra.me.REG[2])(fra.me.REG[2]);
+ REGB1 = TAG_Int(1);
+ REGB0 = TAG_Bool(IS_EQUAL_ON(REGB1,fra.me.REG[2]));
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
+ if (UNTAG_Bool(REGB2)) {
+ REGB2 = TAG_Bool(false);
+ REGB0 = REGB2;
+ } else {
+ REGB1 = TAG_Bool((fra.me.REG[2])==(REGB1));
+ REGB0 = REGB1;
+ /* ./mmloader.nit:96 */
+ }
+ }
+ if (UNTAG_Bool(REGB0)) {
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____warning_count(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:97 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_warning_count");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 97);
+ nit_exit(1);
+ }
+ REGB0 = ATTR_mmloader___ToolContext____warning_count(fra.me.REG[0]);
+ REGB1 = TAG_Int(1);
+ REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
+ /* ./mmloader.nit:97 */
+ ATTR_mmloader___ToolContext____warning_count(fra.me.REG[0]) = REGB1;
+ } else {
+ REGB1 = TAG_Bool(ATTR_mmloader___ToolContext____error_count(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:99 */
+ if (UNTAG_Bool(REGB1)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_error_count");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 99);
+ nit_exit(1);
+ }
+ REGB1 = ATTR_mmloader___ToolContext____error_count(fra.me.REG[0]);
+ REGB0 = TAG_Int(1);
+ REGB0 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB0));
+ /* ./mmloader.nit:99 */
+ ATTR_mmloader___ToolContext____error_count(fra.me.REG[0]) = REGB0;
+ }
+ label1: while(0);
+ stack_frame_head = fra.me.prev;
+ return;
+}
+void mmloader___ToolContext___info(val_t p0, val_t p1, val_t p2){
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t REGB1;
+ val_t tmp;
+ static val_t once_value_1; /* Once value */
+ static val_t once_value_2; /* Once value */
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 103;
+ fra.me.meth = LOCATE_mmloader___ToolContext___info;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = p1;
+ REGB0 = p2;
+ REGB1 = CALL_mmloader___ToolContext___verbose_level(fra.me.REG[0])(fra.me.REG[0]);
+ REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
+ /* ./mmloader.nit:106 */
+ if (UNTAG_Bool(REGB1)) {
+ REGB1 = TAG_Int(3);
+ fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB1);
+ /* ./mmloader.nit:107 */
+ if (!once_value_1) {
+ fra.me.REG[3] = BOX_NativeString("");
+ REGB1 = TAG_Int(0);
+ fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
+ once_value_1 = fra.me.REG[3];
+ register_static_object(&once_value_1);
+ } else fra.me.REG[3] = once_value_1;
+ array___Array___add(fra.me.REG[2], fra.me.REG[3]);
+ array___Array___add(fra.me.REG[2], fra.me.REG[1]);
+ if (!once_value_2) {
+ fra.me.REG[1] = BOX_NativeString("");
+ REGB1 = TAG_Int(0);
+ fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
+ once_value_2 = fra.me.REG[1];
+ register_static_object(&once_value_2);
+ } else fra.me.REG[1] = once_value_2;
+ array___Array___add(fra.me.REG[2], fra.me.REG[1]);
+ fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
+ CALL_file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
+ }
+ stack_frame_head = fra.me.prev;
+ return;
+}
+val_t mmloader___ToolContext___paths(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 111;
+ fra.me.meth = LOCATE_mmloader___ToolContext___paths;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____paths(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:111 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_paths");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 111);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____paths(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___option_context(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 117;
+ fra.me.meth = LOCATE_mmloader___ToolContext___option_context;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____option_context(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:117 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_option_context");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 117);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____option_context(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___opt_warn(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 120;
+ fra.me.meth = LOCATE_mmloader___ToolContext___opt_warn;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____opt_warn(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:120 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_warn");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 120);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____opt_warn(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___opt_path(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 123;
+ fra.me.meth = LOCATE_mmloader___ToolContext___opt_path;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____opt_path(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:123 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_path");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 123);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____opt_path(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___opt_log(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 126;
+ fra.me.meth = LOCATE_mmloader___ToolContext___opt_log;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____opt_log(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:126 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_log");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 126);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____opt_log(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___opt_only_metamodel(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 129;
+ fra.me.meth = LOCATE_mmloader___ToolContext___opt_only_metamodel;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____opt_only_metamodel(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:129 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_only_metamodel");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 129);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____opt_only_metamodel(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___opt_only_parse(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 132;
+ fra.me.meth = LOCATE_mmloader___ToolContext___opt_only_parse;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____opt_only_parse(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:132 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_only_parse");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 132);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____opt_only_parse(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___opt_help(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 135;
+ fra.me.meth = LOCATE_mmloader___ToolContext___opt_help;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____opt_help(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:135 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_help");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 135);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____opt_help(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___opt_version(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 138;
+ fra.me.meth = LOCATE_mmloader___ToolContext___opt_version;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____opt_version(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:138 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_version");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 138);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____opt_version(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___opt_verbose(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 141;
+ fra.me.meth = LOCATE_mmloader___ToolContext___opt_verbose;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____opt_verbose(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:141 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_opt_verbose");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 141);
+ nit_exit(1);
+ }
+ fra.me.REG[0] = ATTR_mmloader___ToolContext____opt_verbose(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return fra.me.REG[0];
+}
+val_t mmloader___ToolContext___verbose_level(val_t p0){
+ struct {struct stack_frame_t me;} fra;
+ val_t REGB0;
+ val_t tmp;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 144;
+ fra.me.meth = LOCATE_mmloader___ToolContext___verbose_level;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 1;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ REGB0 = TAG_Bool(ATTR_mmloader___ToolContext____verbose_level(fra.me.REG[0])!=NIT_NULL);
+ /* ./mmloader.nit:144 */
+ if (UNTAG_Bool(REGB0)) {
+ } else {
+ fprintf(stderr, "Uninitialized attribute %s", "_verbose_level");
+ fprintf(stderr, " (%s:%d)\n", LOCATE_mmloader, 144);
+ nit_exit(1);
+ }
+ REGB0 = ATTR_mmloader___ToolContext____verbose_level(fra.me.REG[0]);
+ stack_frame_head = fra.me.prev;
+ return REGB0;
+}
+void mmloader___ToolContext___init(val_t p0, int* init_table){
+ int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ToolContext].i;
+ struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
+ val_t REGB0;
+ val_t tmp;
+ if (init_table[itpos1]) return;
+ fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
+ fra.me.file = LOCATE_mmloader;
+ fra.me.line = 147;
+ fra.me.meth = LOCATE_mmloader___ToolContext___init;
+ fra.me.has_broke = 0;
+ fra.me.REG_size = 4;
+ fra.me.REG[0] = NIT_NULL;
+ fra.me.REG[1] = NIT_NULL;
+ fra.me.REG[2] = NIT_NULL;
+ fra.me.REG[3] = NIT_NULL;
+ fra.me.REG[0] = p0;
+ fra.me.REG[1] = fra.me.REG[0];
+ /* ./mmloader.nit:149 */
+ CALL_abstractmetamodel___MMContext___init(fra.me.REG[0])(fra.me.REG[0], init_table);
+ fra.me.REG[0] = CALL_mmloader___ToolContext___option_context(fra.me.REG[1])(fra.me.REG[1]);
+ REGB0 = TAG_Int(7);
+ fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
+ fra.me.REG[3] = CALL_mmloader___ToolContext___opt_warn(fra.me.REG[1])(fra.me.REG[1]);
+ /* ./mmloader.nit:150 */
+ array___Array___add(fra.me.REG[2], fra.me.REG[3]);
+ fra.me.REG[3] = CALL_mmloader___ToolContext___opt_path(fra.me.REG[1])(fra.me.REG[1]);
+ array___Array___add(fra.me.REG[2], fra.me.REG[3]);
+ fra.me.REG[3] = CALL_mmloader___ToolContext___opt_log(fra.me.REG[1])(fra.me.REG[1]);
+ array___Array___add(fra.me.REG[2], fra.me.REG[3]);
+ fra.me.REG[3] = CALL_mmloader___ToolContext___opt_only_parse(fra.me.REG[1])(fra.me.REG[1]);
+ array___Array___add(fra.me.REG[2], fra.me.REG[3]);
+ fra.me.REG[3] = CALL_mmloader___ToolContext___opt_only_metamodel(fra.me.REG[1])(fra.me.REG[1]);
+ array___Array___add(fra.me.REG[2], fra.me.REG[3]);
+ fra.me.REG[3] = CALL_mmloader___ToolContext___opt_help(fra.me.REG[1])(fra.me.REG[1]);
+ array___Array___add(fra.me.REG[2], fra.me.REG[3]);
+ fra.me.REG[3] = CALL_mmloader___ToolContext___opt_version(fra.me.REG[1])(fra.me.REG[1]);
+ array___Array___add(fra.me.REG[2], fra.me.REG[3]);
+ fra.me.REG[1] = CALL_mmloader___ToolContext___opt_verbose(fra.me.REG[1])(fra.me.REG[1]);
+ array___Array___add(fra.me.REG[2], fra.me.REG[1]);
+ CALL_opts___OptionContext___add_option(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
+ stack_frame_head = fra.me.prev;
+ init_table[itpos1] = 1;