+val* var7 /* : nullable Object */;
+val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
+val* var8 /* : nullable Object */;
+val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
+val* var_pdocnode2 /* var pdocnode2: nullable Object */;
+short int var9 /* : Bool */;
+int cltype;
+int idtype;
+val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
+short int var10 /* : Bool */;
+int cltype11;
+int idtype12;
+val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
+short int var13 /* : Bool */;
+int cltype14;
+int idtype15;
+val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
+short int var16 /* : Bool */;
+int cltype17;
+int idtype18;
+val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
+short int var19 /* : Bool */;
+int cltype20;
+int idtype21;
+val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
+short int var22 /* : Bool */;
+int cltype23;
+int idtype24;
+val* var25 /* : AExternInitPropdef */;
+val* var26 /* : null */;
+val* var27 /* : null */;
+val* var28 /* : null */;
+val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
+long var29 /* : Int */;
+long var30 /* : Int */;
+var_p = p0;
+var = NULL;
+var_node_list = var;
+var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist8 = var1;
+var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist7 = var2;
+var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist6 = var3;
+var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist5 = var4;
+var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist4 = var5;
+var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist3 = var6;
+var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist2 = var7;
+var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
+var_nodearraylist1 = var8;
+var_pdocnode2 = var_nodearraylist1;
+/* <var_pdocnode2:nullable Object> isa nullable ADoc */
+cltype = type_nullable_parser_nodes__ADoc.color;
+idtype = type_nullable_parser_nodes__ADoc.id;
+if(var_pdocnode2 == NULL) {
+var9 = 1;
+} else {
+if(cltype >= var_pdocnode2->type->table_size) {
+var9 = 0;
+} else {
+var9 = var_pdocnode2->type->type_table[cltype] == idtype;
+}
+}
+if (!var9) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21223);
+show_backtrace(1);
+}
+var_pvisibilitynode4 = var_nodearraylist2;
+/* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
+cltype11 = type_nullable_parser_nodes__AVisibility.color;
+idtype12 = type_nullable_parser_nodes__AVisibility.id;
+if(var_pvisibilitynode4 == NULL) {
+var10 = 1;
+} else {
+if(cltype11 >= var_pvisibilitynode4->type->table_size) {
+var10 = 0;
+} else {
+var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
+}
+}
+if (!var10) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21225);
+show_backtrace(1);
+}
+var_tkwnewnode5 = var_nodearraylist3;
+/* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
+cltype14 = type_nullable_parser_nodes__TKwnew.color;
+idtype15 = type_nullable_parser_nodes__TKwnew.id;
+if(var_tkwnewnode5 == NULL) {
+var13 = 1;
+} else {
+if(cltype14 >= var_tkwnewnode5->type->table_size) {
+var13 = 0;
+} else {
+var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
+}
+}
+if (!var13) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21227);
+show_backtrace(1);
+}
+var_pmethidnode6 = var_nodearraylist4;
+/* <var_pmethidnode6:nullable Object> isa nullable AMethid */
+cltype17 = type_nullable_parser_nodes__AMethid.color;
+idtype18 = type_nullable_parser_nodes__AMethid.id;
+if(var_pmethidnode6 == NULL) {
+var16 = 1;
+} else {
+if(cltype17 >= var_pmethidnode6->type->table_size) {
+var16 = 0;
+} else {
+var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
+}
+}
+if (!var16) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21229);
+show_backtrace(1);
+}
+var_psignaturenode7 = var_nodearraylist5;
+/* <var_psignaturenode7:nullable Object> isa nullable ASignature */
+cltype20 = type_nullable_parser_nodes__ASignature.color;
+idtype21 = type_nullable_parser_nodes__ASignature.id;
+if(var_psignaturenode7 == NULL) {
+var19 = 1;
+} else {
+if(cltype20 >= var_psignaturenode7->type->table_size) {
+var19 = 0;
+} else {
+var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
+}
+}
+if (!var19) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21231);
+show_backtrace(1);
+}
+var_pexterncodeblocknode10 = var_nodearraylist8;
+/* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
+cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
+idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
+if(var_pexterncodeblocknode10 == NULL) {
+var22 = 1;
+} else {
+if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
+var22 = 0;
+} else {
+var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
+}
+}
+if (!var22) {
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21233);
+show_backtrace(1);
+}
+var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
+var26 = NULL;
+var27 = NULL;
+var28 = NULL;
+((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var27, var28, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
+var_ppropdefnode1 = var25;
+var_node_list = var_ppropdefnode1;
+var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction483> */
+var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
+((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
+RET_LABEL:;
+}
+/* method parser#ReduceAction483#action for (self: Object, Parser) */
+void VIRTUAL_parser__ReduceAction483__action(val* self, val* p0) {
+parser__ReduceAction483__action(self, p0);
+RET_LABEL:;
+}
+/* method parser#ReduceAction484#action for (self: ReduceAction484, Parser) */
+void parser__ReduceAction484__action(val* self, val* p0) {
+val* var_p /* var p: Parser */;
+val* var /* : null */;
+val* var_node_list /* var node_list: nullable Object */;
+val* var1 /* : nullable Object */;
+val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
+val* var2 /* : nullable Object */;
+val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
+val* var3 /* : nullable Object */;
+val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
+val* var4 /* : nullable Object */;
+val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
+val* var5 /* : nullable Object */;
+val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
+val* var6 /* : nullable Object */;
+val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
+val* var7 /* : nullable Object */;
+val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
+val* var8 /* : nullable Object */;