-if (0) {
-var8 = ((short int (*)(val* self, val* p0))(var_pexprnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pexprnode1, var6) /* != on <var_pexprnode1:nullable Object>*/;
-var7 = var8;
-}
-if (var7){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode1); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
-}
-} else {
-}
-var9 = NULL;
-if (var_pexprnode2 == NULL) {
-var10 = 0; /* is null */
-} else {
-var10 = 1; /* arg is null and recv is not */
-}
-if (0) {
-var11 = ((short int (*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pexprnode2, var9) /* != on <var_pexprnode2:nullable Object>*/;
-var10 = var11;
-}
-if (var10){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
-}
-} else {
-}
-var_node_list = var_listnode3;
-var12 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction370> */
-{
-var13 = nit___nit__Parser___go_to(var_p, var12);
-}
-{
-nit___nit__Parser___push(var_p, var13, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction371#action for (self: ReduceAction371, Parser) */
-void nit__parser___nit__parser__ReduceAction371___nit__parser_work__ReduceAction__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_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var3 /* : Array[Object] */;
-val* var_listnode2 /* var listnode2: Array[Object] */;
-val* var_pexprnode1 /* var pexprnode1: nullable Object */;
-val* var4 /* : null */;
-short int var5 /* : Bool */;
-short int var6 /* : Bool */;
-long var7 /* : Int */;
-long var8 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var2;
-var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
-}
-var_listnode2 = var3;
-var_pexprnode1 = var_nodearraylist1;
-var4 = NULL;
-if (var_pexprnode1 == NULL) {
-var5 = 0; /* is null */
-} else {
-var5 = 1; /* arg is null and recv is not */
-}
-if (0) {
-var6 = ((short int (*)(val* self, val* p0))(var_pexprnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pexprnode1, var4) /* != on <var_pexprnode1:nullable Object>*/;
-var5 = var6;
-}
-if (var5){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_pexprnode1); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
-}
-} else {
-}
-var_node_list = var_listnode2;
-var7 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction371> */
-{
-var8 = nit___nit__Parser___go_to(var_p, var7);
-}
-{
-nit___nit__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction372#action for (self: ReduceAction372, Parser) */
-void nit__parser___nit__parser__ReduceAction372___nit__parser_work__ReduceAction__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_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tstartstringnode2 /* var tstartstringnode2: nullable Object */;
-short int var2 /* : Bool */;
-int cltype;
-int idtype;
-val* var3 /* : AStartStringExpr */;
-val* var_pexprnode1 /* var pexprnode1: nullable AStartStringExpr */;
-long var4 /* : Int */;
-long var5 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var1;
-var_tstartstringnode2 = var_nodearraylist1;
-/* <var_tstartstringnode2:nullable Object> isa nullable TStartString */
-cltype = type_nullable__nit__TStartString.color;
-idtype = type_nullable__nit__TStartString.id;
-if(var_tstartstringnode2 == NULL) {
-var2 = 1;
-} else {
-if(cltype >= var_tstartstringnode2->type->table_size) {
-var2 = 0;
-} else {
-var2 = var_tstartstringnode2->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var2)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9357);
-show_backtrace(1);
-}
-var3 = NEW_nit__AStartStringExpr(&type_nit__AStartStringExpr);
-{
-nit__parser_prod___AStartStringExpr___init_astartstringexpr(var3, var_tstartstringnode2); /* Direct call parser_prod#AStartStringExpr#init_astartstringexpr on <var3:AStartStringExpr>*/
-}
-var_pexprnode1 = var3;
-var_node_list = var_pexprnode1;
-var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction372> */
-{
-var5 = nit___nit__Parser___go_to(var_p, var4);
-}
-{
-nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction375#action for (self: ReduceAction375, Parser) */
-void nit__parser___nit__parser__ReduceAction375___nit__parser_work__ReduceAction__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_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tmidstringnode2 /* var tmidstringnode2: nullable Object */;
-short int var2 /* : Bool */;
-int cltype;
-int idtype;
-val* var3 /* : AMidStringExpr */;
-val* var_pexprnode1 /* var pexprnode1: nullable AMidStringExpr */;
-long var4 /* : Int */;
-long var5 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var1;
-var_tmidstringnode2 = var_nodearraylist1;
-/* <var_tmidstringnode2:nullable Object> isa nullable TMidString */
-cltype = type_nullable__nit__TMidString.color;
-idtype = type_nullable__nit__TMidString.id;
-if(var_tmidstringnode2 == NULL) {
-var2 = 1;
-} else {
-if(cltype >= var_tmidstringnode2->type->table_size) {
-var2 = 0;
-} else {
-var2 = var_tmidstringnode2->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var2)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9372);
-show_backtrace(1);
-}
-var3 = NEW_nit__AMidStringExpr(&type_nit__AMidStringExpr);
-{
-nit__parser_prod___AMidStringExpr___init_amidstringexpr(var3, var_tmidstringnode2); /* Direct call parser_prod#AMidStringExpr#init_amidstringexpr on <var3:AMidStringExpr>*/
-}
-var_pexprnode1 = var3;
-var_node_list = var_pexprnode1;
-var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction375> */
-{
-var5 = nit___nit__Parser___go_to(var_p, var4);
-}
-{
-nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction376#action for (self: ReduceAction376, Parser) */
-void nit__parser___nit__parser__ReduceAction376___nit__parser_work__ReduceAction__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_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_tendstringnode2 /* var tendstringnode2: nullable Object */;
-short int var2 /* : Bool */;
-int cltype;
-int idtype;
-val* var3 /* : AEndStringExpr */;
-val* var_pexprnode1 /* var pexprnode1: nullable AEndStringExpr */;
-long var4 /* : Int */;
-long var5 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var1;
-var_tendstringnode2 = var_nodearraylist1;
-/* <var_tendstringnode2:nullable Object> isa nullable TEndString */
-cltype = type_nullable__nit__TEndString.color;
-idtype = type_nullable__nit__TEndString.id;
-if(var_tendstringnode2 == NULL) {
-var2 = 1;
-} else {
-if(cltype >= var_tendstringnode2->type->table_size) {
-var2 = 0;
-} else {
-var2 = var_tendstringnode2->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var2)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9387);
-show_backtrace(1);
-}
-var3 = NEW_nit__AEndStringExpr(&type_nit__AEndStringExpr);
-{
-nit__parser_prod___AEndStringExpr___init_aendstringexpr(var3, var_tendstringnode2); /* Direct call parser_prod#AEndStringExpr#init_aendstringexpr on <var3:AEndStringExpr>*/
-}
-var_pexprnode1 = var3;
-var_node_list = var_pexprnode1;
-var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction376> */
-{
-var5 = nit___nit__Parser___go_to(var_p, var4);
-}
-{
-nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction377#action for (self: ReduceAction377, Parser) */
-void nit__parser___nit__parser__ReduceAction377___nit__parser_work__ReduceAction__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_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var3 /* : Array[Object] */;
-val* var_listnode5 /* var listnode5: Array[Object] */;
-val* var_tatnode2 /* var tatnode2: nullable Object */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pannotationnode4 /* var pannotationnode4: nullable Object */;
-short int var5 /* : Bool */;
-int cltype6;
-int idtype7;
-val* var8 /* : null */;
-short int var9 /* : Bool */;
-short int var10 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var12 /* : Bool */;
-short int var13 /* : Bool */;
-val* var14 /* : AAnnotations */;
-val* var15 /* : null */;
-val* var16 /* : null */;
-val* var_pannotationsnode1 /* var pannotationsnode1: nullable AAnnotations */;
-long var17 /* : Int */;
-long var18 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var2;
-var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
-}
-var_listnode5 = var3;
-var_tatnode2 = var_nodearraylist1;
-/* <var_tatnode2:nullable Object> isa nullable TAt */
-cltype = type_nullable__nit__TAt.color;
-idtype = type_nullable__nit__TAt.id;
-if(var_tatnode2 == NULL) {
-var4 = 1;
-} else {
-if(cltype >= var_tatnode2->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_tatnode2->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var4)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9404);
-show_backtrace(1);
-}
-var_pannotationnode4 = var_nodearraylist2;
-/* <var_pannotationnode4:nullable Object> isa nullable AAnnotation */
-cltype6 = type_nullable__nit__AAnnotation.color;
-idtype7 = type_nullable__nit__AAnnotation.id;
-if(var_pannotationnode4 == NULL) {
-var5 = 1;
-} else {
-if(cltype6 >= var_pannotationnode4->type->table_size) {
-var5 = 0;
-} else {
-var5 = var_pannotationnode4->type->type_table[cltype6] == idtype7;
-}
-}
-if (unlikely(!var5)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9406);
-show_backtrace(1);
-}
-var8 = NULL;
-if (var_pannotationnode4 == NULL) {
-var9 = 0; /* is null */
-} else {
-var9 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_pannotationnode4,var8) on <var_pannotationnode4:nullable Object(nullable AAnnotation)> */
-var_other = var8;
-{
-var12 = ((short int (*)(val* self, val* p0))(var_pannotationnode4->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pannotationnode4, var_other) /* == on <var_pannotationnode4:nullable AAnnotation(AAnnotation)>*/;
-}
-var13 = !var12;
-var10 = var13;
-goto RET_LABEL11;
-RET_LABEL11:(void)0;
-}
-var9 = var10;
-}
-if (var9){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode5, var_pannotationnode4); /* Direct call array#Array#add on <var_listnode5:Array[Object]>*/
-}
-} else {
-}
-var14 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
-var15 = NULL;
-var16 = NULL;
-{
-nit__parser_prod___AAnnotations___init_aannotations(var14, var_tatnode2, var15, var_listnode5, var16); /* Direct call parser_prod#AAnnotations#init_aannotations on <var14:AAnnotations>*/
-}
-var_pannotationsnode1 = var14;
-var_node_list = var_pannotationsnode1;
-var17 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction377> */
-{
-var18 = nit___nit__Parser___go_to(var_p, var17);
-}
-{
-nit___nit__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction378#action for (self: ReduceAction378, Parser) */
-void nit__parser___nit__parser__ReduceAction378___nit__parser_work__ReduceAction__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_nodearraylist6 /* var nodearraylist6: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var5 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var6 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var7 /* : Array[Object] */;
-val* var_listnode5 /* var listnode5: Array[Object] */;
-val* var_tatnode2 /* var tatnode2: nullable Object */;
-short int var8 /* : Bool */;
-int cltype;
-int idtype;
-val* var_toparnode3 /* var toparnode3: nullable Object */;
-short int var9 /* : Bool */;
-int cltype10;
-int idtype11;
-val* var_listnode4 /* var listnode4: nullable Object */;
-short int var12 /* : Bool */;
-int cltype13;
-int idtype14;
-val* var15 /* : Array[Object] */;
-val* var_tcparnode6 /* var tcparnode6: nullable Object */;
-short int var16 /* : Bool */;
-int cltype17;
-int idtype18;
-val* var19 /* : AAnnotations */;
-val* var_pannotationsnode1 /* var pannotationsnode1: nullable AAnnotations */;
-long var20 /* : Int */;
-long var21 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist6 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist5 = var2;
-{
-var3 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist4 = var3;
-{
-var4 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist3 = var4;
-{
-var5 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var5;
-{
-var6 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var6;
-var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
-}
-var_listnode5 = var7;
-var_tatnode2 = var_nodearraylist1;
-/* <var_tatnode2:nullable Object> isa nullable TAt */
-cltype = type_nullable__nit__TAt.color;
-idtype = type_nullable__nit__TAt.id;
-if(var_tatnode2 == NULL) {
-var8 = 1;
-} else {
-if(cltype >= var_tatnode2->type->table_size) {
-var8 = 0;
-} else {
-var8 = var_tatnode2->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var8)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9433);
-show_backtrace(1);
-}
-var_toparnode3 = var_nodearraylist2;
-/* <var_toparnode3:nullable Object> isa nullable TOpar */
-cltype10 = type_nullable__nit__TOpar.color;
-idtype11 = type_nullable__nit__TOpar.id;
-if(var_toparnode3 == NULL) {
-var9 = 1;
-} else {
-if(cltype10 >= var_toparnode3->type->table_size) {
-var9 = 0;
-} else {
-var9 = var_toparnode3->type->type_table[cltype10] == idtype11;
-}
-}
-if (unlikely(!var9)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9435);
-show_backtrace(1);
-}
-var_listnode4 = var_nodearraylist4;
-/* <var_listnode4:nullable Object> isa Array[Object] */
-cltype13 = type_standard__Array__standard__Object.color;
-idtype14 = type_standard__Array__standard__Object.id;
-if(var_listnode4 == NULL) {
-var12 = 0;
-} else {
-if(cltype13 >= var_listnode4->type->table_size) {
-var12 = 0;
-} else {
-var12 = var_listnode4->type->type_table[cltype13] == idtype14;
-}
-}
-if (unlikely(!var12)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9437);
-show_backtrace(1);
-}
-{
-var15 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4);
-}
-var_listnode5 = var15;
-var_tcparnode6 = var_nodearraylist6;
-/* <var_tcparnode6:nullable Object> isa nullable TCpar */
-cltype17 = type_nullable__nit__TCpar.color;
-idtype18 = type_nullable__nit__TCpar.id;
-if(var_tcparnode6 == NULL) {
-var16 = 1;
-} else {
-if(cltype17 >= var_tcparnode6->type->table_size) {
-var16 = 0;
-} else {
-var16 = var_tcparnode6->type->type_table[cltype17] == idtype18;
-}
-}
-if (unlikely(!var16)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9440);
-show_backtrace(1);
-}
-var19 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
-{
-nit__parser_prod___AAnnotations___init_aannotations(var19, var_tatnode2, var_toparnode3, var_listnode5, var_tcparnode6); /* Direct call parser_prod#AAnnotations#init_aannotations on <var19:AAnnotations>*/
-}
-var_pannotationsnode1 = var19;
-var_node_list = var_pannotationsnode1;
-var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction378> */
-{
-var21 = nit___nit__Parser___go_to(var_p, var20);
-}
-{
-nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction379#action for (self: ReduceAction379, Parser) */
-void nit__parser___nit__parser__ReduceAction379___nit__parser_work__ReduceAction__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_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_pannotationsnode1 /* var pannotationsnode1: nullable Object */;
-long var2 /* : Int */;
-long var3 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var1;
-var_pannotationsnode1 = var_nodearraylist1;
-var_node_list = var_pannotationsnode1;
-var2 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction379> */
-{
-var3 = nit___nit__Parser___go_to(var_p, var2);
-}
-{
-nit___nit__Parser___push(var_p, var3, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction381#action for (self: ReduceAction381, Parser) */
-void nit__parser___nit__parser__ReduceAction381___nit__parser_work__ReduceAction__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_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var5 /* : Array[Object] */;
-val* var_listnode7 /* var listnode7: Array[Object] */;
-val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
-short int var7 /* : Bool */;
-int cltype8;
-int idtype9;
-val* var_patidnode5 /* var patidnode5: nullable Object */;
-short int var10 /* : Bool */;
-int cltype11;
-int idtype12;
-val* var_pannotationsnode9 /* var pannotationsnode9: nullable Object */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-val* var16 /* : AAnnotation */;
-val* var17 /* : null */;
-val* var18 /* : null */;
-val* var19 /* : null */;
-val* var_pannotationnode1 /* var pannotationnode1: nullable AAnnotation */;
-long var20 /* : Int */;
-long var21 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist4 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist3 = var2;
-{
-var3 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var3;
-{
-var4 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var4;
-var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
-}
-var_listnode7 = var5;
-var_tkwredefnode3 = var_nodearraylist1;
-/* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
-cltype = type_nullable__nit__TKwredef.color;
-idtype = type_nullable__nit__TKwredef.id;
-if(var_tkwredefnode3 == NULL) {
-var6 = 1;
-} else {
-if(cltype >= var_tkwredefnode3->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_tkwredefnode3->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9473);
-show_backtrace(1);
-}
-var_pvisibilitynode4 = var_nodearraylist2;
-/* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
-cltype8 = type_nullable__nit__AVisibility.color;
-idtype9 = type_nullable__nit__AVisibility.id;
-if(var_pvisibilitynode4 == NULL) {
-var7 = 1;
-} else {
-if(cltype8 >= var_pvisibilitynode4->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_pvisibilitynode4->type->type_table[cltype8] == idtype9;
-}
-}
-if (unlikely(!var7)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9475);
-show_backtrace(1);
-}
-var_patidnode5 = var_nodearraylist3;
-/* <var_patidnode5:nullable Object> isa nullable AAtid */
-cltype11 = type_nullable__nit__AAtid.color;
-idtype12 = type_nullable__nit__AAtid.id;
-if(var_patidnode5 == NULL) {
-var10 = 1;
-} else {
-if(cltype11 >= var_patidnode5->type->table_size) {
-var10 = 0;
-} else {
-var10 = var_patidnode5->type->type_table[cltype11] == idtype12;
-}
-}
-if (unlikely(!var10)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9477);
-show_backtrace(1);
-}
-var_pannotationsnode9 = var_nodearraylist4;
-/* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
-cltype14 = type_nullable__nit__AAnnotations.color;
-idtype15 = type_nullable__nit__AAnnotations.id;
-if(var_pannotationsnode9 == NULL) {
-var13 = 1;
-} else {
-if(cltype14 >= var_pannotationsnode9->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_pannotationsnode9->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9479);
-show_backtrace(1);
-}
-var16 = NEW_nit__AAnnotation(&type_nit__AAnnotation);
-var17 = NULL;
-var18 = NULL;
-var19 = NULL;
-{
-nit__parser_prod___AAnnotation___init_aannotation(var16, var17, var_tkwredefnode3, var_pvisibilitynode4, var_patidnode5, var18, var_listnode7, var19, var_pannotationsnode9); /* Direct call parser_prod#AAnnotation#init_aannotation on <var16:AAnnotation>*/
-}
-var_pannotationnode1 = var16;
-var_node_list = var_pannotationnode1;
-var20 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction381> */
-{
-var21 = nit___nit__Parser___go_to(var_p, var20);
-}
-{
-nit___nit__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction382#action for (self: ReduceAction382, Parser) */
-void nit__parser___nit__parser__ReduceAction382___nit__parser_work__ReduceAction__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 */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var9 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var10 /* : Array[Object] */;
-val* var_listnode8 /* var listnode8: Array[Object] */;
-val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
-short int var11 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
-short int var12 /* : Bool */;
-int cltype13;
-int idtype14;
-val* var_patidnode5 /* var patidnode5: nullable Object */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-val* var_toparnode6 /* var toparnode6: nullable Object */;
-short int var18 /* : Bool */;
-int cltype19;
-int idtype20;
-val* var_listnode7 /* var listnode7: nullable Object */;
-short int var21 /* : Bool */;
-int cltype22;
-int idtype23;
-val* var24 /* : Array[Object] */;
-val* var_tcparnode9 /* var tcparnode9: nullable Object */;
-short int var25 /* : Bool */;
-int cltype26;
-int idtype27;
-val* var_pannotationsnode10 /* var pannotationsnode10: nullable Object */;
-short int var28 /* : Bool */;
-int cltype29;
-int idtype30;
-val* var31 /* : AAnnotation */;
-val* var32 /* : null */;
-val* var_pannotationnode1 /* var pannotationnode1: nullable AAnnotation */;
-long var33 /* : Int */;
-long var34 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist9 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist8 = var2;
-{
-var3 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist7 = var3;
-{
-var4 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist6 = var4;
-{
-var5 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist5 = var5;
-{
-var6 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist4 = var6;
-{
-var7 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist3 = var7;
-{
-var8 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var8;
-{
-var9 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var9;
-var10 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var10); /* Direct call array#Array#init on <var10:Array[Object]>*/
-}
-var_listnode8 = var10;
-var_tkwredefnode3 = var_nodearraylist1;
-/* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
-cltype = type_nullable__nit__TKwredef.color;
-idtype = type_nullable__nit__TKwredef.id;
-if(var_tkwredefnode3 == NULL) {
-var11 = 1;
-} else {
-if(cltype >= var_tkwredefnode3->type->table_size) {
-var11 = 0;
-} else {
-var11 = var_tkwredefnode3->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var11)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9510);
-show_backtrace(1);
-}
-var_pvisibilitynode4 = var_nodearraylist2;
-/* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
-cltype13 = type_nullable__nit__AVisibility.color;
-idtype14 = type_nullable__nit__AVisibility.id;
-if(var_pvisibilitynode4 == NULL) {
-var12 = 1;
-} else {
-if(cltype13 >= var_pvisibilitynode4->type->table_size) {
-var12 = 0;
-} else {
-var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
-}
-}
-if (unlikely(!var12)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9512);
-show_backtrace(1);
-}
-var_patidnode5 = var_nodearraylist3;
-/* <var_patidnode5:nullable Object> isa nullable AAtid */
-cltype16 = type_nullable__nit__AAtid.color;
-idtype17 = type_nullable__nit__AAtid.id;
-if(var_patidnode5 == NULL) {
-var15 = 1;
-} else {
-if(cltype16 >= var_patidnode5->type->table_size) {
-var15 = 0;
-} else {
-var15 = var_patidnode5->type->type_table[cltype16] == idtype17;
-}
-}
-if (unlikely(!var15)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9514);
-show_backtrace(1);
-}
-var_toparnode6 = var_nodearraylist4;
-/* <var_toparnode6:nullable Object> isa nullable TOpar */
-cltype19 = type_nullable__nit__TOpar.color;
-idtype20 = type_nullable__nit__TOpar.id;
-if(var_toparnode6 == NULL) {
-var18 = 1;
-} else {
-if(cltype19 >= var_toparnode6->type->table_size) {
-var18 = 0;
-} else {
-var18 = var_toparnode6->type->type_table[cltype19] == idtype20;
-}
-}
-if (unlikely(!var18)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9516);
-show_backtrace(1);
-}
-var_listnode7 = var_nodearraylist6;
-/* <var_listnode7:nullable Object> isa Array[Object] */
-cltype22 = type_standard__Array__standard__Object.color;
-idtype23 = type_standard__Array__standard__Object.id;
-if(var_listnode7 == NULL) {
-var21 = 0;
-} else {
-if(cltype22 >= var_listnode7->type->table_size) {
-var21 = 0;
-} else {
-var21 = var_listnode7->type->type_table[cltype22] == idtype23;
-}
-}
-if (unlikely(!var21)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9518);
-show_backtrace(1);
-}
-{
-var24 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode8, var_listnode7);
-}
-var_listnode8 = var24;
-var_tcparnode9 = var_nodearraylist8;
-/* <var_tcparnode9:nullable Object> isa nullable TCpar */
-cltype26 = type_nullable__nit__TCpar.color;
-idtype27 = type_nullable__nit__TCpar.id;
-if(var_tcparnode9 == NULL) {
-var25 = 1;
-} else {
-if(cltype26 >= var_tcparnode9->type->table_size) {
-var25 = 0;
-} else {
-var25 = var_tcparnode9->type->type_table[cltype26] == idtype27;
-}
-}
-if (unlikely(!var25)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9521);
-show_backtrace(1);
-}
-var_pannotationsnode10 = var_nodearraylist9;
-/* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
-cltype29 = type_nullable__nit__AAnnotations.color;
-idtype30 = type_nullable__nit__AAnnotations.id;
-if(var_pannotationsnode10 == NULL) {
-var28 = 1;
-} else {
-if(cltype29 >= var_pannotationsnode10->type->table_size) {
-var28 = 0;
-} else {
-var28 = var_pannotationsnode10->type->type_table[cltype29] == idtype30;
-}
-}
-if (unlikely(!var28)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9523);
-show_backtrace(1);
-}
-var31 = NEW_nit__AAnnotation(&type_nit__AAnnotation);
-var32 = NULL;
-{
-nit__parser_prod___AAnnotation___init_aannotation(var31, var32, var_tkwredefnode3, var_pvisibilitynode4, var_patidnode5, var_toparnode6, var_listnode8, var_tcparnode9, var_pannotationsnode10); /* Direct call parser_prod#AAnnotation#init_aannotation on <var31:AAnnotation>*/
-}
-var_pannotationnode1 = var31;
-var_node_list = var_pannotationnode1;
-var33 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction382> */
-{
-var34 = nit___nit__Parser___go_to(var_p, var33);
-}
-{
-nit___nit__Parser___push(var_p, var34, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction383#action for (self: ReduceAction383, Parser) */
-void nit__parser___nit__parser__ReduceAction383___nit__parser_work__ReduceAction__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_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var2 /* : Array[Object] */;
-val* var_listnode5 /* var listnode5: Array[Object] */;
-val* var_listnode4 /* var listnode4: nullable Object */;
-short int var3 /* : Bool */;
-int cltype;
-int idtype;
-val* var4 /* : Array[Object] */;
-val* var5 /* : AAnnotations */;
-val* var6 /* : null */;
-val* var7 /* : null */;
-val* var8 /* : null */;
-val* var_pannotationsnode1 /* var pannotationsnode1: nullable AAnnotations */;
-long var9 /* : Int */;
-long var10 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var1;
-var2 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Object]>*/
-}
-var_listnode5 = var2;
-var_listnode4 = var_nodearraylist1;
-/* <var_listnode4:nullable Object> isa Array[Object] */
-cltype = type_standard__Array__standard__Object.color;
-idtype = type_standard__Array__standard__Object.id;
-if(var_listnode4 == NULL) {
-var3 = 0;
-} else {
-if(cltype >= var_listnode4->type->table_size) {
-var3 = 0;
-} else {
-var3 = var_listnode4->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var3)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9546);
-show_backtrace(1);
-}
-{
-var4 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode5, var_listnode4);
-}
-var_listnode5 = var4;
-var5 = NEW_nit__AAnnotations(&type_nit__AAnnotations);
-var6 = NULL;
-var7 = NULL;
-var8 = NULL;
-{
-nit__parser_prod___AAnnotations___init_aannotations(var5, var6, var7, var_listnode5, var8); /* Direct call parser_prod#AAnnotations#init_aannotations on <var5:AAnnotations>*/
-}
-var_pannotationsnode1 = var5;
-var_node_list = var_pannotationsnode1;
-var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction383> */
-{
-var10 = nit___nit__Parser___go_to(var_p, var9);
-}
-{
-nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction384#action for (self: ReduceAction384, Parser) */
-void nit__parser___nit__parser__ReduceAction384___nit__parser_work__ReduceAction__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_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var2 /* : Array[Object] */;
-val* var_listnode2 /* var listnode2: Array[Object] */;
-val* var_pannotationnode1 /* var pannotationnode1: nullable Object */;
-val* var3 /* : null */;
-short int var4 /* : Bool */;
-short int var5 /* : Bool */;
-long var6 /* : Int */;
-long var7 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var1;
-var2 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Object]>*/
-}
-var_listnode2 = var2;
-var_pannotationnode1 = var_nodearraylist1;
-var3 = NULL;
-if (var_pannotationnode1 == NULL) {
-var4 = 0; /* is null */
-} else {
-var4 = 1; /* arg is null and recv is not */
-}
-if (0) {
-var5 = ((short int (*)(val* self, val* p0))(var_pannotationnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pannotationnode1, var3) /* != on <var_pannotationnode1:nullable Object>*/;
-var4 = var5;
-}
-if (var4){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2, var_pannotationnode1); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
-}
-} else {
-}
-var_node_list = var_listnode2;
-var6 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction384> */
-{
-var7 = nit___nit__Parser___go_to(var_p, var6);
-}
-{
-nit___nit__Parser___push(var_p, var7, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction385#action for (self: ReduceAction385, Parser) */
-void nit__parser___nit__parser__ReduceAction385___nit__parser_work__ReduceAction__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_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var3 /* : Array[Object] */;
-val* var_listnode3 /* var listnode3: Array[Object] */;
-val* var_pannotationnode1 /* var pannotationnode1: nullable Object */;
-val* var_listnode2 /* var listnode2: nullable Object */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-val* var5 /* : null */;
-short int var6 /* : Bool */;
-short int var7 /* : Bool */;
-val* var8 /* : Array[Object] */;
-long var9 /* : Int */;
-long var10 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var2;
-var3 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on <var3:Array[Object]>*/
-}
-var_listnode3 = var3;
-var_pannotationnode1 = var_nodearraylist1;
-var_listnode2 = var_nodearraylist2;
-/* <var_listnode2:nullable Object> isa Array[Object] */
-cltype = type_standard__Array__standard__Object.color;
-idtype = type_standard__Array__standard__Object.id;
-if(var_listnode2 == NULL) {
-var4 = 0;
-} else {
-if(cltype >= var_listnode2->type->table_size) {
-var4 = 0;
-} else {
-var4 = var_listnode2->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var4)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9583);
-show_backtrace(1);
-}
-var5 = NULL;
-if (var_pannotationnode1 == NULL) {
-var6 = 0; /* is null */
-} else {
-var6 = 1; /* arg is null and recv is not */
-}
-if (0) {
-var7 = ((short int (*)(val* self, val* p0))(var_pannotationnode1->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_pannotationnode1, var5) /* != on <var_pannotationnode1:nullable Object>*/;
-var6 = var7;
-}
-if (var6){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3, var_pannotationnode1); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
-}
-} else {
-}
-{
-var8 = nit__parser_work___nit__parser_work__ReduceAction___concat(self, var_listnode3, var_listnode2);
-}
-var_listnode3 = var8;
-var_node_list = var_listnode3;
-var9 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction385> */
-{
-var10 = nit___nit__Parser___go_to(var_p, var9);
-}
-{
-nit___nit__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction388#action for (self: ReduceAction388, Parser) */
-void nit__parser___nit__parser__ReduceAction388___nit__parser_work__ReduceAction__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_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var5 /* : Array[Object] */;
-val* var_listnode8 /* var listnode8: Array[Object] */;
-val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
-short int var6 /* : Bool */;
-int cltype;
-int idtype;
-val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
-short int var7 /* : Bool */;
-int cltype8;
-int idtype9;
-val* var_patidnode5 /* var patidnode5: nullable Object */;
-short int var10 /* : Bool */;
-int cltype11;
-int idtype12;
-val* var_pexprnode7 /* var pexprnode7: nullable Object */;
-short int var13 /* : Bool */;
-int cltype14;
-int idtype15;
-val* var16 /* : null */;
-short int var17 /* : Bool */;
-short int var18 /* : Bool */;
-val* var_other /* var other: nullable Object */;
-short int var20 /* : Bool */;
-short int var21 /* : Bool */;
-val* var22 /* : AAnnotation */;
-val* var23 /* : null */;
-val* var24 /* : null */;
-val* var25 /* : null */;
-val* var26 /* : null */;
-val* var_pannotationnode1 /* var pannotationnode1: nullable AAnnotation */;
-long var27 /* : Int */;
-long var28 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist4 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist3 = var2;
-{
-var3 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var3;
-{
-var4 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var4;
-var5 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on <var5:Array[Object]>*/
-}
-var_listnode8 = var5;
-var_tkwredefnode3 = var_nodearraylist1;
-/* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
-cltype = type_nullable__nit__TKwredef.color;
-idtype = type_nullable__nit__TKwredef.id;
-if(var_tkwredefnode3 == NULL) {
-var6 = 1;
-} else {
-if(cltype >= var_tkwredefnode3->type->table_size) {
-var6 = 0;
-} else {
-var6 = var_tkwredefnode3->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var6)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9603);
-show_backtrace(1);
-}
-var_pvisibilitynode4 = var_nodearraylist2;
-/* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
-cltype8 = type_nullable__nit__AVisibility.color;
-idtype9 = type_nullable__nit__AVisibility.id;
-if(var_pvisibilitynode4 == NULL) {
-var7 = 1;
-} else {
-if(cltype8 >= var_pvisibilitynode4->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_pvisibilitynode4->type->type_table[cltype8] == idtype9;
-}
-}
-if (unlikely(!var7)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9605);
-show_backtrace(1);
-}
-var_patidnode5 = var_nodearraylist3;
-/* <var_patidnode5:nullable Object> isa nullable AAtid */
-cltype11 = type_nullable__nit__AAtid.color;
-idtype12 = type_nullable__nit__AAtid.id;
-if(var_patidnode5 == NULL) {
-var10 = 1;
-} else {
-if(cltype11 >= var_patidnode5->type->table_size) {
-var10 = 0;
-} else {
-var10 = var_patidnode5->type->type_table[cltype11] == idtype12;
-}
-}
-if (unlikely(!var10)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9607);
-show_backtrace(1);
-}
-var_pexprnode7 = var_nodearraylist4;
-/* <var_pexprnode7:nullable Object> isa nullable AExpr */
-cltype14 = type_nullable__nit__AExpr.color;
-idtype15 = type_nullable__nit__AExpr.id;
-if(var_pexprnode7 == NULL) {
-var13 = 1;
-} else {
-if(cltype14 >= var_pexprnode7->type->table_size) {
-var13 = 0;
-} else {
-var13 = var_pexprnode7->type->type_table[cltype14] == idtype15;
-}
-}
-if (unlikely(!var13)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9609);
-show_backtrace(1);
-}
-var16 = NULL;
-if (var_pexprnode7 == NULL) {
-var17 = 0; /* is null */
-} else {
-var17 = 1; /* arg is null and recv is not */
-}
-if (0) {
-{ /* Inline kernel#Object#!= (var_pexprnode7,var16) on <var_pexprnode7:nullable Object(nullable AExpr)> */
-var_other = var16;
-{
-var20 = ((short int (*)(val* self, val* p0))(var_pexprnode7->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pexprnode7, var_other) /* == on <var_pexprnode7:nullable AExpr(AExpr)>*/;
-}
-var21 = !var20;
-var18 = var21;
-goto RET_LABEL19;
-RET_LABEL19:(void)0;
-}
-var17 = var18;
-}
-if (var17){
-{
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8, var_pexprnode7); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
-}
-} else {
-}
-var22 = NEW_nit__AAnnotation(&type_nit__AAnnotation);
-var23 = NULL;
-var24 = NULL;
-var25 = NULL;
-var26 = NULL;
-{
-nit__parser_prod___AAnnotation___init_aannotation(var22, var23, var_tkwredefnode3, var_pvisibilitynode4, var_patidnode5, var24, var_listnode8, var25, var26); /* Direct call parser_prod#AAnnotation#init_aannotation on <var22:AAnnotation>*/
-}
-var_pannotationnode1 = var22;
-var_node_list = var_pannotationnode1;
-var27 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction388> */
-{
-var28 = nit___nit__Parser___go_to(var_p, var27);
-}
-{
-nit___nit__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction390#action for (self: ReduceAction390, Parser) */
-void nit__parser___nit__parser__ReduceAction390___nit__parser_work__ReduceAction__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_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var_pannotationnode1 /* var pannotationnode1: nullable Object */;
-long var4 /* : Int */;
-long var5 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist3 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var2;
-{
-var3 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var3;
-var_pannotationnode1 = var_nodearraylist3;
-var_node_list = var_pannotationnode1;
-var4 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction390> */
-{
-var5 = nit___nit__Parser___go_to(var_p, var4);
-}
-{
-nit___nit__Parser___push(var_p, var5, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction392#action for (self: ReduceAction392, Parser) */
-void nit__parser___nit__parser__ReduceAction392___nit__parser_work__ReduceAction__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_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var5 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var6 /* : Array[Object] */;
-val* var_listnode7 /* var listnode7: Array[Object] */;
-val* var_pdocnode2 /* var pdocnode2: nullable Object */;
-short int var7 /* : Bool */;
-int cltype;
-int idtype;
-val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
-short int var8 /* : Bool */;
-int cltype9;
-int idtype10;
-val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
-short int var11 /* : Bool */;
-int cltype12;
-int idtype13;
-val* var_patidnode5 /* var patidnode5: nullable Object */;
-short int var14 /* : Bool */;
-int cltype15;
-int idtype16;
-val* var17 /* : AAnnotation */;
-val* var18 /* : null */;
-val* var19 /* : null */;
-val* var20 /* : null */;
-val* var_pannotationnode1 /* var pannotationnode1: nullable AAnnotation */;
-long var21 /* : Int */;
-long var22 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist5 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist4 = var2;
-{
-var3 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist3 = var3;
-{
-var4 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var4;
-{
-var5 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var5;
-var6 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var6); /* Direct call array#Array#init on <var6:Array[Object]>*/
-}
-var_listnode7 = var6;
-var_pdocnode2 = var_nodearraylist1;
-/* <var_pdocnode2:nullable Object> isa nullable ADoc */
-cltype = type_nullable__nit__ADoc.color;
-idtype = type_nullable__nit__ADoc.id;
-if(var_pdocnode2 == NULL) {
-var7 = 1;
-} else {
-if(cltype >= var_pdocnode2->type->table_size) {
-var7 = 0;
-} else {
-var7 = var_pdocnode2->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var7)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9652);
-show_backtrace(1);
-}
-var_tkwredefnode3 = var_nodearraylist2;
-/* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
-cltype9 = type_nullable__nit__TKwredef.color;
-idtype10 = type_nullable__nit__TKwredef.id;
-if(var_tkwredefnode3 == NULL) {
-var8 = 1;
-} else {
-if(cltype9 >= var_tkwredefnode3->type->table_size) {
-var8 = 0;
-} else {
-var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10;
-}
-}
-if (unlikely(!var8)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9654);
-show_backtrace(1);
-}
-var_pvisibilitynode4 = var_nodearraylist3;
-/* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
-cltype12 = type_nullable__nit__AVisibility.color;
-idtype13 = type_nullable__nit__AVisibility.id;
-if(var_pvisibilitynode4 == NULL) {
-var11 = 1;
-} else {
-if(cltype12 >= var_pvisibilitynode4->type->table_size) {
-var11 = 0;
-} else {
-var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
-}
-}
-if (unlikely(!var11)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9656);
-show_backtrace(1);
-}
-var_patidnode5 = var_nodearraylist4;
-/* <var_patidnode5:nullable Object> isa nullable AAtid */
-cltype15 = type_nullable__nit__AAtid.color;
-idtype16 = type_nullable__nit__AAtid.id;
-if(var_patidnode5 == NULL) {
-var14 = 1;
-} else {
-if(cltype15 >= var_patidnode5->type->table_size) {
-var14 = 0;
-} else {
-var14 = var_patidnode5->type->type_table[cltype15] == idtype16;
-}
-}
-if (unlikely(!var14)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9658);
-show_backtrace(1);
-}
-var17 = NEW_nit__AAnnotation(&type_nit__AAnnotation);
-var18 = NULL;
-var19 = NULL;
-var20 = NULL;
-{
-nit__parser_prod___AAnnotation___init_aannotation(var17, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_patidnode5, var18, var_listnode7, var19, var20); /* Direct call parser_prod#AAnnotation#init_aannotation on <var17:AAnnotation>*/
-}
-var_pannotationnode1 = var17;
-var_node_list = var_pannotationnode1;
-var21 = self->attrs[COLOR_nit__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction392> */
-{
-var22 = nit___nit__Parser___go_to(var_p, var21);
-}
-{
-nit___nit__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
-}
-RET_LABEL:;
-}
-/* method parser#ReduceAction393#action for (self: ReduceAction393, Parser) */
-void nit__parser___nit__parser__ReduceAction393___nit__parser_work__ReduceAction__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_nodearraylist6 /* var nodearraylist6: nullable Object */;
-val* var2 /* : nullable Object */;
-val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
-val* var3 /* : nullable Object */;
-val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
-val* var4 /* : nullable Object */;
-val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
-val* var5 /* : nullable Object */;
-val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
-val* var6 /* : nullable Object */;
-val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
-val* var7 /* : Array[Object] */;
-val* var_listnode7 /* var listnode7: Array[Object] */;
-val* var_pdocnode2 /* var pdocnode2: nullable Object */;
-short int var8 /* : Bool */;
-int cltype;
-int idtype;
-val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
-short int var9 /* : Bool */;
-int cltype10;
-int idtype11;
-val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
-short int var12 /* : Bool */;
-int cltype13;
-int idtype14;
-val* var_patidnode5 /* var patidnode5: nullable Object */;
-short int var15 /* : Bool */;
-int cltype16;
-int idtype17;
-val* var_pannotationsnode9 /* var pannotationsnode9: nullable Object */;
-short int var18 /* : Bool */;
-int cltype19;
-int idtype20;
-val* var21 /* : AAnnotation */;
-val* var22 /* : null */;
-val* var23 /* : null */;
-val* var_pannotationnode1 /* var pannotationnode1: nullable AAnnotation */;
-long var24 /* : Int */;
-long var25 /* : Int */;
-var_p = p0;
-var = NULL;
-var_node_list = var;
-{
-var1 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist6 = var1;
-{
-var2 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist5 = var2;
-{
-var3 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist4 = var3;
-{
-var4 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist3 = var4;
-{
-var5 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist2 = var5;
-{
-var6 = nit___nit__Parser___pop(var_p);
-}
-var_nodearraylist1 = var6;
-var7 = NEW_standard__Array(&type_standard__Array__standard__Object);
-{
-standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on <var7:Array[Object]>*/
-}
-var_listnode7 = var7;
-var_pdocnode2 = var_nodearraylist1;
-/* <var_pdocnode2:nullable Object> isa nullable ADoc */
-cltype = type_nullable__nit__ADoc.color;
-idtype = type_nullable__nit__ADoc.id;
-if(var_pdocnode2 == NULL) {
-var8 = 1;
-} else {
-if(cltype >= var_pdocnode2->type->table_size) {
-var8 = 0;
-} else {
-var8 = var_pdocnode2->type->type_table[cltype] == idtype;
-}
-}
-if (unlikely(!var8)) {
-PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser, 9686);
-show_backtrace(1);
-}
-var_tkwredefnode3 = var_nodearraylist2;