+/* method opts#OptionContext#errors= for (self: OptionContext, Array[String]) */
+void opts__OptionContext__errors_61d(val* self, val* p0) {
+self->attrs[COLOR_opts__OptionContext___errors].val = p0; /* _errors on <self:OptionContext> */
+RET_LABEL:;
+}
+/* method opts#OptionContext#errors= for (self: Object, Array[String]) */
+void VIRTUAL_opts__OptionContext__errors_61d(val* self, val* p0) {
+{ /* Inline opts#OptionContext#errors= (self,p0) on <self:Object(OptionContext)> */
+self->attrs[COLOR_opts__OptionContext___errors].val = p0; /* _errors on <self:Object(OptionContext)> */
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method opts#OptionContext#optmap for (self: OptionContext): Map[String, Option] */
+val* opts__OptionContext__optmap(val* self) {
+val* var /* : Map[String, Option] */;
+val* var1 /* : Map[String, Option] */;
+var1 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on <self:OptionContext> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap");
+PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256);
+show_backtrace(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method opts#OptionContext#optmap for (self: Object): Map[String, Option] */
+val* VIRTUAL_opts__OptionContext__optmap(val* self) {
+val* var /* : Map[String, Option] */;
+val* var1 /* : Map[String, Option] */;
+val* var3 /* : Map[String, Option] */;
+{ /* Inline opts#OptionContext#optmap (self) on <self:Object(OptionContext)> */
+var3 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on <self:Object(OptionContext)> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap");
+PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method opts#OptionContext#optmap= for (self: OptionContext, Map[String, Option]) */
+void opts__OptionContext__optmap_61d(val* self, val* p0) {
+self->attrs[COLOR_opts__OptionContext___optmap].val = p0; /* _optmap on <self:OptionContext> */
+RET_LABEL:;
+}
+/* method opts#OptionContext#optmap= for (self: Object, Map[String, Option]) */
+void VIRTUAL_opts__OptionContext__optmap_61d(val* self, val* p0) {
+{ /* Inline opts#OptionContext#optmap= (self,p0) on <self:Object(OptionContext)> */
+self->attrs[COLOR_opts__OptionContext___optmap].val = p0; /* _optmap on <self:Object(OptionContext)> */
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method opts#OptionContext#init for (self: OptionContext) */
+void opts__OptionContext__init(val* self) {
+val* var /* : Array[Option] */;
+val* var2 /* : HashMap[String, Option] */;
+val* var4 /* : Array[String] */;
+val* var6 /* : Array[String] */;
+var = NEW_array__Array(&type_array__Arrayopts__Option);
+{
+array__Array__init(var); /* Direct call array#Array#init on <var:Array[Option]>*/
+}
+{
+{ /* Inline opts#OptionContext#options= (self,var) on <self:OptionContext> */
+self->attrs[COLOR_opts__OptionContext___options].val = var; /* _options on <self:OptionContext> */
+RET_LABEL1:(void)0;
+}
+}
+var2 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringopts__Option);
+{
+hash_collection__HashMap__init(var2); /* Direct call hash_collection#HashMap#init on <var2:HashMap[String, Option]>*/
+}
+{
+{ /* Inline opts#OptionContext#optmap= (self,var2) on <self:OptionContext> */
+self->attrs[COLOR_opts__OptionContext___optmap].val = var2; /* _optmap on <self:OptionContext> */
+RET_LABEL3:(void)0;
+}
+}
+var4 = NEW_array__Array(&type_array__Arraystring__String);
+{
+array__Array__init(var4); /* Direct call array#Array#init on <var4:Array[String]>*/
+}
+{
+{ /* Inline opts#OptionContext#rest= (self,var4) on <self:OptionContext> */
+self->attrs[COLOR_opts__OptionContext___rest].val = var4; /* _rest on <self:OptionContext> */
+RET_LABEL5:(void)0;
+}
+}
+var6 = NEW_array__Array(&type_array__Arraystring__String);
+{
+array__Array__init(var6); /* Direct call array#Array#init on <var6:Array[String]>*/
+}
+{
+{ /* Inline opts#OptionContext#errors= (self,var6) on <self:OptionContext> */
+self->attrs[COLOR_opts__OptionContext___errors].val = var6; /* _errors on <self:OptionContext> */
+RET_LABEL7:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method opts#OptionContext#init for (self: Object) */
+void VIRTUAL_opts__OptionContext__init(val* self) {
+opts__OptionContext__init(self); /* Direct call opts#OptionContext#init on <self:Object(OptionContext)>*/
+RET_LABEL:;
+}
+/* method opts#OptionContext#add_option for (self: OptionContext, Array[Option]) */
+void opts__OptionContext__add_option(val* self, val* p0) {
+val* var_opts /* var opts: Array[Option] */;
+val* var /* : Array[Option] */;
+val* var2 /* : Array[Option] */;
+var_opts = p0;
+{
+{ /* Inline opts#OptionContext#options (self) on <self:OptionContext> */
+var2 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on <self:OptionContext> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
+PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247);
+show_backtrace(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+abstract_collection__SimpleCollection__add_all(var, var_opts); /* Direct call abstract_collection#SimpleCollection#add_all on <var:Array[Option]>*/
+}
+RET_LABEL:;
+}
+/* method opts#OptionContext#add_option for (self: Object, Array[Option]) */
+void VIRTUAL_opts__OptionContext__add_option(val* self, val* p0) {
+opts__OptionContext__add_option(self, p0); /* Direct call opts#OptionContext#add_option on <self:Object(OptionContext)>*/
+RET_LABEL:;
+}