-/* method scope#AClosureCallExpr#variable for (self: AClosureCallExpr): nullable ClosureVariable */
-val* scope__AClosureCallExpr__variable(val* self) {
-val* var /* : nullable ClosureVariable */;
-val* var1 /* : nullable ClosureVariable */;
-var1 = self->attrs[COLOR_scope__AClosureCallExpr___64dvariable].val; /* @variable on <self:AClosureCallExpr> */
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method scope#AClosureCallExpr#variable for (self: Object): nullable ClosureVariable */
-val* VIRTUAL_scope__AClosureCallExpr__variable(val* self) {
-val* var /* : nullable ClosureVariable */;
-val* var1 /* : nullable ClosureVariable */;
-var1 = scope__AClosureCallExpr__variable(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method scope#AClosureCallExpr#variable= for (self: AClosureCallExpr, nullable ClosureVariable) */
-void scope__AClosureCallExpr__variable_61d(val* self, val* p0) {
-self->attrs[COLOR_scope__AClosureCallExpr___64dvariable].val = p0; /* @variable on <self:AClosureCallExpr> */
-RET_LABEL:;
-}
-/* method scope#AClosureCallExpr#variable= for (self: Object, nullable ClosureVariable) */
-void VIRTUAL_scope__AClosureCallExpr__variable_61d(val* self, val* p0) {
-scope__AClosureCallExpr__variable_61d(self, p0);
-RET_LABEL:;
-}
-/* method scope#ASendExpr#escapemark for (self: ASendExpr): nullable EscapeMark */
-val* scope__ASendExpr__escapemark(val* self) {
-val* var /* : nullable EscapeMark */;
-val* var1 /* : nullable EscapeMark */;
-var1 = self->attrs[COLOR_scope__ASendExpr___64descapemark].val; /* @escapemark on <self:ASendExpr> */
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method scope#ASendExpr#escapemark for (self: Object): nullable EscapeMark */
-val* VIRTUAL_scope__ASendExpr__escapemark(val* self) {
-val* var /* : nullable EscapeMark */;
-val* var1 /* : nullable EscapeMark */;
-var1 = scope__ASendExpr__escapemark(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method scope#ASendExpr#escapemark= for (self: ASendExpr, nullable EscapeMark) */
-void scope__ASendExpr__escapemark_61d(val* self, val* p0) {
-self->attrs[COLOR_scope__ASendExpr___64descapemark].val = p0; /* @escapemark on <self:ASendExpr> */
-RET_LABEL:;
-}
-/* method scope#ASendExpr#escapemark= for (self: Object, nullable EscapeMark) */
-void VIRTUAL_scope__ASendExpr__escapemark_61d(val* self, val* p0) {
-scope__ASendExpr__escapemark_61d(self, p0);
-RET_LABEL:;
-}
-/* method scope#ASendExpr#accept_scope_visitor for (self: ASendExpr, ScopeVisitor) */
-void scope__ASendExpr__accept_scope_visitor(val* self, val* p0) {
-val* var_v /* var v: ScopeVisitor */;
-val* var /* : ANodes[AClosureDef] */;
-long var1 /* : Int */;
-long var2 /* : Int */;
-short int var3 /* : Bool */;
-short int var5 /* : Bool */;
-int cltype;
-int idtype;
-short int var6 /* : Bool */;
-val* var7 /* : ANodes[AClosureDef] */;
-val* var8 /* : nullable Object */;
-val* var9 /* : nullable ALabel */;
-short int var10 /* : Bool */;
-val* var11 /* : EscapeMark */;
-val* var_escapemark /* var escapemark: EscapeMark */;
-var_v = p0;
-var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ASendExpr__n_closure_defs]))(self) /* n_closure_defs on <self:ASendExpr>*/;
-var1 = ((long (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__length]))(var) /* length on <var:ANodes[AClosureDef]>*/;
-var2 = 0;
-{ /* Inline kernel#Int#> (var1,var2) */
-/* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
-/* <var2:Int> isa OTHER */
-var5 = 1; /* easy <var2:Int> isa OTHER*/
-if (!var5) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
-exit(1);
-}
-var6 = var1 > var2;
-var3 = var6;
-goto RET_LABEL4;
-RET_LABEL4:(void)0;
-}
-if (var3){
-var7 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ASendExpr__n_closure_defs]))(self) /* n_closure_defs on <self:ASendExpr>*/;
-var8 = ((val* (*)(val*))(var7->class->vft[COLOR_abstract_collection__SequenceRead__last]))(var7) /* last on <var7:ANodes[AClosureDef]>*/;
-var9 = ((val* (*)(val*))(var8->class->vft[COLOR_parser_nodes__ALabelable__n_label]))(var8) /* n_label on <var8:nullable Object(AClosureDef)>*/;
-var10 = 1;
-var11 = ((val* (*)(val*, val*, short int))(var_v->class->vft[COLOR_scope__ScopeVisitor__make_escape_mark]))(var_v, var9, var10) /* make_escape_mark on <var_v:ScopeVisitor>*/;
-var_escapemark = var11;
-((void (*)(val*, val*))(self->class->vft[COLOR_scope__ASendExpr__escapemark_61d]))(self, var_escapemark) /* escapemark= on <self:ASendExpr>*/;
-} else {
-}
-((void (*)(val*, val*))(self->class->vft[COLOR_scope__ASendExpr__accept_scope_visitor]))(self, p0) /* accept_scope_visitor on <self:ASendExpr>*/;
-RET_LABEL:;
-}
-/* method scope#ASendExpr#accept_scope_visitor for (self: Object, ScopeVisitor) */
-void VIRTUAL_scope__ASendExpr__accept_scope_visitor(val* self, val* p0) {
-scope__ASendExpr__accept_scope_visitor(self, p0);
-RET_LABEL:;
-}
-/* method scope#AClosureDef#variables for (self: AClosureDef): nullable Array[Variable] */
-val* scope__AClosureDef__variables(val* self) {
-val* var /* : nullable Array[Variable] */;
-val* var1 /* : nullable Array[Variable] */;
-var1 = self->attrs[COLOR_scope__AClosureDef___64dvariables].val; /* @variables on <self:AClosureDef> */
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method scope#AClosureDef#variables for (self: Object): nullable Array[Variable] */
-val* VIRTUAL_scope__AClosureDef__variables(val* self) {
-val* var /* : nullable Array[Variable] */;
-val* var1 /* : nullable Array[Variable] */;
-var1 = scope__AClosureDef__variables(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method scope#AClosureDef#variables= for (self: AClosureDef, nullable Array[Variable]) */
-void scope__AClosureDef__variables_61d(val* self, val* p0) {
-self->attrs[COLOR_scope__AClosureDef___64dvariables].val = p0; /* @variables on <self:AClosureDef> */
-RET_LABEL:;
-}
-/* method scope#AClosureDef#variables= for (self: Object, nullable Array[Variable]) */
-void VIRTUAL_scope__AClosureDef__variables_61d(val* self, val* p0) {
-scope__AClosureDef__variables_61d(self, p0);
-RET_LABEL:;
-}
-/* method scope#AClosureDef#escapemark for (self: AClosureDef): nullable EscapeMark */
-val* scope__AClosureDef__escapemark(val* self) {
-val* var /* : nullable EscapeMark */;
-val* var1 /* : nullable EscapeMark */;
-var1 = self->attrs[COLOR_scope__AClosureDef___64descapemark].val; /* @escapemark on <self:AClosureDef> */
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method scope#AClosureDef#escapemark for (self: Object): nullable EscapeMark */
-val* VIRTUAL_scope__AClosureDef__escapemark(val* self) {
-val* var /* : nullable EscapeMark */;
-val* var1 /* : nullable EscapeMark */;
-var1 = scope__AClosureDef__escapemark(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method scope#AClosureDef#escapemark= for (self: AClosureDef, nullable EscapeMark) */
-void scope__AClosureDef__escapemark_61d(val* self, val* p0) {
-self->attrs[COLOR_scope__AClosureDef___64descapemark].val = p0; /* @escapemark on <self:AClosureDef> */
-RET_LABEL:;
-}
-/* method scope#AClosureDef#escapemark= for (self: Object, nullable EscapeMark) */
-void VIRTUAL_scope__AClosureDef__escapemark_61d(val* self, val* p0) {
-scope__AClosureDef__escapemark_61d(self, p0);
-RET_LABEL:;
-}
-/* method scope#AClosureDef#accept_scope_visitor for (self: AClosureDef, ScopeVisitor) */
-void scope__AClosureDef__accept_scope_visitor(val* self, val* p0) {
-val* var_v /* var v: ScopeVisitor */;
-val* var /* : List[Scope] */;
-val* var1 /* : Scope */;
-val* var2 /* : Array[Variable] */;
-val* var_variables /* var variables: Array[Variable] */;
-val* var3 /* : ANodes[TId] */;
-val* var4 /* : Iterator[nullable Object] */;
-short int var5 /* : Bool */;
-val* var6 /* : nullable Object */;
-val* var_nid /* var nid: TId */;
-val* var7 /* : Variable */;
-val* var8 /* : String */;
-val* var_va /* var va: Variable */;
-short int var9 /* : Bool */;
-val* var10 /* : nullable ANode */;
-short int var11 /* : Bool */;
-int cltype;
-int idtype;
-val* var12 /* : nullable EscapeMark */;
-val* var13 /* : nullable AExpr */;
-val* var14 /* : nullable EscapeMark */;
-val* var15 /* : List[Scope] */;
-val* var16 /* : nullable Object */;
-var_v = p0;
-var = ((val* (*)(val*))(var_v->class->vft[COLOR_scope__ScopeVisitor__scopes]))(var_v) /* scopes on <var_v:ScopeVisitor>*/;
-var1 = NEW_scope__Scope(&type_scope__Scope);
-((void (*)(val*))(var1->class->vft[COLOR_scope__Scope__init]))(var1) /* init on <var1:Scope>*/;
-CHECK_NEW_scope__Scope(var1);
-((void (*)(val*, val*))(var->class->vft[COLOR_abstract_collection__Sequence__unshift]))(var, var1) /* unshift on <var:List[Scope]>*/;
-var2 = NEW_array__Array(&type_array__Arrayscope__Variable);
-((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on <var2:Array[Variable]>*/;
-CHECK_NEW_array__Array(var2);
-var_variables = var2;
-((void (*)(val*, val*))(self->class->vft[COLOR_scope__AClosureDef__variables_61d]))(self, var_variables) /* variables= on <self:AClosureDef>*/;
-var3 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AClosureDef__n_ids]))(self) /* n_ids on <self:AClosureDef>*/;
-var4 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__iterator]))(var3) /* iterator on <var3:ANodes[TId]>*/;
-for(;;) {
-var5 = ((short int (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var4) /* is_ok on <var4:Iterator[nullable Object]>*/;
-if(!var5) break;
-var6 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__item]))(var4) /* item on <var4:Iterator[nullable Object]>*/;
-var_nid = var6;
-var7 = NEW_scope__Variable(&type_scope__Variable);
-var8 = ((val* (*)(val*))(var_nid->class->vft[COLOR_parser_nodes__Token__text]))(var_nid) /* text on <var_nid:TId>*/;
-((void (*)(val*, val*))(var7->class->vft[COLOR_scope__Variable__init]))(var7, var8) /* init on <var7:Variable>*/;
-CHECK_NEW_scope__Variable(var7);
-var_va = var7;
-var9 = ((short int (*)(val*, val*, val*))(var_v->class->vft[COLOR_scope__ScopeVisitor__register_variable]))(var_v, var_nid, var_va) /* register_variable on <var_v:ScopeVisitor>*/;
-var9;
-((void (*)(val*, val*))(var_variables->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_variables, var_va) /* add on <var_variables:Array[Variable]>*/;
-CONTINUE_label: (void)0;
-((void (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__next]))(var4) /* next on <var4:Iterator[nullable Object]>*/;
-}
-BREAK_label: (void)0;
-var10 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__parent]))(self) /* parent on <self:AClosureDef>*/;
-/* <var10:nullable ANode> isa ASendExpr */
-cltype = type_parser_nodes__ASendExpr.color;
-idtype = type_parser_nodes__ASendExpr.id;
-if(var10 == NULL) {
-var11 = 0;
-} else {
-if(cltype >= var10->type->table_size) {
-var11 = 0;
-} else {
-var11 = var10->type->type_table[cltype] == idtype;
-}
-}
-if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/scope.nit", 476);
-exit(1);
-}
-var12 = ((val* (*)(val*))(var10->class->vft[COLOR_scope__ASendExpr__escapemark]))(var10) /* escapemark on <var10:nullable ANode(ASendExpr)>*/;
-((void (*)(val*, val*))(self->class->vft[COLOR_scope__AClosureDef__escapemark_61d]))(self, var12) /* escapemark= on <self:AClosureDef>*/;
-var13 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AClosureDef__n_expr]))(self) /* n_expr on <self:AClosureDef>*/;
-var14 = ((val* (*)(val*))(self->class->vft[COLOR_scope__AClosureDef__escapemark]))(self) /* escapemark on <self:AClosureDef>*/;
-((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_scope__ScopeVisitor__enter_visit_block]))(var_v, var13, var14) /* enter_visit_block on <var_v:ScopeVisitor>*/;
-var15 = ((val* (*)(val*))(var_v->class->vft[COLOR_scope__ScopeVisitor__scopes]))(var_v) /* scopes on <var_v:ScopeVisitor>*/;
-var16 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_collection__Sequence__shift]))(var15) /* shift on <var15:List[Scope]>*/;
-var16;
-RET_LABEL:;
-}
-/* method scope#AClosureDef#accept_scope_visitor for (self: Object, ScopeVisitor) */
-void VIRTUAL_scope__AClosureDef__accept_scope_visitor(val* self, val* p0) {
-scope__AClosureDef__accept_scope_visitor(self, p0);
-RET_LABEL:;
-}