diff --git a/src/bin/eolian_mono/eolian/mono/alias_definition.hh b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
index 12d9ce78f9..d4a4b5d47f 100644
--- a/src/bin/eolian_mono/eolian/mono/alias_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
@@ -62,8 +62,8 @@ struct alias_definition_generator
<< scope_tab << "public static implicit operator " << alias_type << "(" << alias_name << " value)\n"
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "return value.payload;\n"
- << scope_tab << "}\n\n"
- << "}\n\n"
+ << scope_tab << "}\n"
+ << "}\n"
).generate(sink, alias, context))
return false;
diff --git a/src/bin/eolian_mono/eolian/mono/documentation.hh b/src/bin/eolian_mono/eolian/mono/documentation.hh
index 2b4ed87a8d..234ce49430 100644
--- a/src/bin/eolian_mono/eolian/mono/documentation.hh
+++ b/src/bin/eolian_mono/eolian/mono/documentation.hh
@@ -23,7 +23,7 @@ struct documentation_generator
int scope_size = 0;
- documentation_generator(int scope_size)
+ documentation_generator(int scope_size = 0)
: scope_size(scope_size) {}
@@ -595,9 +595,8 @@ struct documentation_generator
else
ref = "";
- if (!as_generator(
- scope_tab << "/// " << summary << " See " << ref << "\n"
- ).generate(sink, param, context))
+ if (!as_generator(scope_tab(scope_size) << "/// " << summary << " See " << ref << "\n")
+ .generate(sink, param, context))
return false;
}
return true;
diff --git a/src/bin/eolian_mono/eolian/mono/enum_definition.hh b/src/bin/eolian_mono/eolian/mono/enum_definition.hh
index 4dae3cc7aa..c5ab79ae66 100644
--- a/src/bin/eolian_mono/eolian/mono/enum_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/enum_definition.hh
@@ -45,7 +45,7 @@ struct enum_definition_generator
return false;
}
- if(!as_generator("}\n\n").generate(sink, attributes::unused, context)) return false;
+ if(!as_generator("}\n").generate(sink, attributes::unused, context)) return false;
if(!name_helpers::close_namespaces(sink, enum_.namespaces, context))
return false;
diff --git a/src/bin/eolian_mono/eolian/mono/events.hh b/src/bin/eolian_mono/eolian/mono/events.hh
index 14a7f9b5ce..6c5f12ea2a 100644
--- a/src/bin/eolian_mono/eolian/mono/events.hh
+++ b/src/bin/eolian_mono/eolian/mono/events.hh
@@ -255,7 +255,7 @@ struct event_argument_wrapper_generator
<< scope_tab << "/// Actual event payload.\n"
<< scope_tab << "/// " << documentation_string << "\n"
<< scope_tab << "public " << type << " arg { get; set; }\n"
- << "}\n"
+ << "}\n\n"
).generate(sink, std::make_tuple(evt.documentation.summary, *etype), context);
}
} const event_argument_wrapper {};
@@ -279,9 +279,8 @@ struct event_declaration_generator
if (evt.type.is_engaged())
wrapper_args_type = "<" + name_helpers::managed_event_args_name(evt) + ">";
- if (!as_generator(
- documentation(1)
- ).generate(sink, evt, context)) return false;
+ if (!as_generator(documentation(1))
+ .generate(sink, evt, context)) return false;
if (evt.type.is_engaged())
if (!as_generator(
scope_tab << "/// \n"
@@ -427,7 +426,7 @@ struct event_definition_generator
<< scope_tab << scope_tab << scope_tab << "return;\n"
<< scope_tab << scope_tab << "}\n\n"
<< event_native_call
- << scope_tab << "}\n"
+ << scope_tab << "}\n\n"
).generate(sink, nullptr, context))
return false;
@@ -479,7 +478,7 @@ struct event_definition_generator
<< scope_tab << scope_tab << scope_tab << scope_tab << "RemoveNativeEventHandler(" << library_name << ", key, value);\n"
<< scope_tab << scope_tab << scope_tab << "}\n" // End of lock block
<< scope_tab << scope_tab << "}\n"
- << scope_tab << "}\n"
+ << scope_tab << "}\n\n"
).generate(sink, attributes::unused, context);
}
};
diff --git a/src/bin/eolian_mono/eolian/mono/function_declaration.hh b/src/bin/eolian_mono/eolian/mono/function_declaration.hh
index 4532746be2..734700c676 100644
--- a/src/bin/eolian_mono/eolian/mono/function_declaration.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_declaration.hh
@@ -27,11 +27,11 @@ struct function_declaration_generator
if(f.scope != attributes::member_scope::scope_public)
return true;
- if(!as_generator(documentation).generate(sink, f, context))
+ if(!as_generator(documentation(1)).generate(sink, f, context))
return false;
return as_generator
- (eolian_mono::type(true) << " " << string << "(" << (parameter % ", ") << ");\n")
+ (scope_tab << eolian_mono::type(true) << " " << string << "(" << (parameter % ", ") << ");\n\n")
.generate(sink, std::make_tuple(f.return_type, name_helpers::managed_method_name(f), f.parameters), context);
}
};
diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index a0f28df305..df72f2ce6c 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -119,7 +119,7 @@ struct native_function_definition_generator
<< indent << scope_tab << "var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);\n"
<< indent << scope_tab << "if (ws != null)\n"
<< indent << scope_tab << "{\n"
- << eolian_mono::native_function_definition_preamble()
+ << indent << scope_tab << scope_tab << eolian_mono::native_function_definition_preamble() << "\n"
<< indent << scope_tab << scope_tab << "try\n"
<< indent << scope_tab << scope_tab << "{\n"
<< indent << scope_tab << scope_tab << scope_tab << (return_type != "void" ? "_ret_var = " : "")
@@ -131,7 +131,7 @@ struct native_function_definition_generator
<< indent << scope_tab << scope_tab << scope_tab << "Eina.Log.Warning($\"Callback error: {e.ToString()}\");\n"
<< indent << scope_tab << scope_tab << scope_tab << "Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);\n"
<< indent << scope_tab << scope_tab << "}\n\n"
- << eolian_mono::native_function_definition_epilogue(*klass) << "\n"
+ << indent << eolian_mono::native_function_definition_epilogue(*klass) << "\n"
<< indent << scope_tab << "}\n"
<< indent << scope_tab << "else\n"
<< indent << scope_tab << "{\n"
@@ -204,14 +204,14 @@ struct function_definition_generator
if(!as_generator
(scope_tab << eolian_mono::function_scope_get(f) << ((do_super && !f.is_static) ? "virtual " : "") << (f.is_static ? "static " : "") << return_type << " " << string << "(" << (parameter % ", ")
- << ") {\n "
- << eolian_mono::function_definition_preamble()
+ << ") {\n"
+ << scope_tab(2) << eolian_mono::function_definition_preamble()
<< klass_full_native_inherit_name(f.klass) << "." << string << "_ptr.Value.Delegate("
<< self
<< ((!f.is_static && (f.parameters.size() > 0)) ? "," : "")
<< (argument_invocation % ", ") << ");\n"
- << eolian_mono::function_definition_epilogue()
- << " }\n")
+ << scope_tab(2) << eolian_mono::function_definition_epilogue()
+ << scope_tab(1) << "}\n\n")
.generate(sink, std::make_tuple(name_helpers::managed_method_name(f), f.parameters, f, f.c_name, f.parameters, f), context))
return false;
@@ -268,11 +268,11 @@ struct property_extension_method_definition_generator
if (property.setter.is_engaged())
{
attributes::type_def prop_type = property.setter->parameters[0].type;
- if (!as_generator("public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.Ui.ItemFactory fac, Efl.Csharp.ExtensionTag<"
- << name_helpers::klass_full_concrete_or_interface_name(cls)
- << ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n"
+ if (!as_generator(scope_tab << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.Ui.ItemFactory fac, Efl.Csharp.ExtensionTag<"
+ << name_helpers::klass_full_concrete_or_interface_name(cls)
+ << ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n"
<< scope_tab << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(\"" << property.name << "\", fac);\n"
- << scope_tab << "}\n"
+ << scope_tab << "}\n\n"
).generate(sink, std::make_tuple(prop_type, prop_type), context))
return false;
}
@@ -285,11 +285,11 @@ struct property_extension_method_definition_generator
if (property.setter.is_engaged())
{
attributes::type_def prop_type = property.setter->parameters[0].type;
- if (!as_generator("public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.BindablePart part, Efl.Csharp.ExtensionTag<"
- << name_helpers::klass_full_concrete_or_interface_name(cls)
- << ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n"
+ if (!as_generator(scope_tab << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.BindablePart part, Efl.Csharp.ExtensionTag<"
+ << name_helpers::klass_full_concrete_or_interface_name(cls)
+ << ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n"
<< scope_tab << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(part.PartName, \"" << property.name << "\", part.Binder);\n"
- << scope_tab << "}\n"
+ << scope_tab << "}\n\n"
).generate(sink, std::make_tuple(prop_type, prop_type), context))
return false;
}
@@ -522,7 +522,7 @@ struct property_wrapper_definition_generator
return false;
}
- if (!as_generator(scope_tab << "}\n").generate(sink, attributes::unused, context))
+ if (!as_generator(scope_tab << "}\n\n").generate(sink, attributes::unused, context))
return false;
return true;
diff --git a/src/bin/eolian_mono/eolian/mono/function_helpers.hh b/src/bin/eolian_mono/eolian/mono/function_helpers.hh
index 5f7cf67877..26146f7774 100644
--- a/src/bin/eolian_mono/eolian/mono/function_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_helpers.hh
@@ -34,14 +34,14 @@ struct native_function_definition_preamble_generator
return false;
if (!as_generator(
- *(scope_tab << scope_tab << native_convert_in_variable)
- << *(scope_tab << scope_tab << native_convert_out_variable)
- << *(scope_tab << scope_tab << native_convert_function_pointer)
- << scope_tab << scope_tab << scope_tab << native_convert_return_variable
+ *(native_convert_in_variable)
+ << *(native_convert_out_variable)
+ << *(native_convert_function_pointer)
+ << native_convert_return_variable
).generate(sink, std::make_tuple(f.parameters, f.parameters, f.parameters, f.return_type), context))
return false;
- return as_generator("\n").generate(sink, attributes::unused, context);
+ return as_generator("").generate(sink, attributes::unused, context);
}
};
@@ -57,11 +57,11 @@ struct function_definition_preamble_generator
return false;
if (!as_generator(
- *(scope_tab << scope_tab << convert_in_variable)
- << *(scope_tab << scope_tab << convert_out_variable)
- << *(scope_tab << scope_tab << convert_function_pointer)
- << scope_tab << scope_tab << convert_return_variable
- ).generate(sink, std::make_tuple(f.parameters, f.parameters, f.parameters, f.return_type), context))
+ *(convert_in_variable)
+ << *(convert_out_variable)
+ << *(convert_function_pointer)
+ << convert_return_variable
+ ).generate(sink, std::make_tuple(f.parameters, f.parameters, f.parameters, f.return_type), context))
return false;
return true;
@@ -82,9 +82,9 @@ struct native_function_definition_epilogue_generator
return false;
if (!as_generator(
- *(scope_tab << scope_tab << native_convert_out_assign(*klass))
- << *(scope_tab << scope_tab << native_convert_in_ptr_assign)
- << scope_tab << scope_tab << native_convert_return(*klass)
+ *(native_convert_out_assign(*klass))
+ << *(native_convert_in_ptr_assign)
+ << scope_tab(2) << native_convert_return(*klass)
).generate(sink, std::make_tuple(f.parameters, f.parameters, f.return_type), context))
return false;
@@ -99,10 +99,10 @@ struct function_definition_epilogue_generator
bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const
{
if (!as_generator(
- scope_tab << scope_tab << "Eina.Error.RaiseIfUnhandledException();\n"
- << *(scope_tab << scope_tab << convert_out_assign)
- << *(scope_tab << scope_tab << convert_in_ptr_assign)
- << scope_tab << scope_tab << convert_return
+ "Eina.Error.RaiseIfUnhandledException();\n"
+ << *(convert_out_assign)
+ << *(convert_in_ptr_assign)
+ << scope_tab(2) << convert_return << "\n"
).generate(sink, std::make_tuple(f.parameters, f.parameters, f.return_type), context))
return false;
diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh
index 80ac37c141..f33026444f 100644
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -127,10 +127,10 @@ struct klass
if(!as_generator("\n{\n").generate(sink, attributes::unused, iface_cxt))
return false;
- if(!as_generator(*(scope_tab << function_declaration)).generate(sink, cls.functions, iface_cxt))
+ if(!as_generator(*(function_declaration)).generate(sink, cls.functions, iface_cxt))
return false;
- if(!as_generator(*(scope_tab << async_function_declaration)).generate(sink, cls.functions, iface_cxt))
+ if(!as_generator(*(async_function_declaration)).generate(sink, cls.functions, iface_cxt))
return false;
if(!as_generator(*(event_declaration)).generate(sink, cls.events, iface_cxt))
@@ -147,7 +147,7 @@ struct klass
return false;
// End of interface declaration
- if(!as_generator("}\n").generate(sink, attributes::unused, iface_cxt)) return false;
+ if(!as_generator("}\n\n").generate(sink, attributes::unused, iface_cxt)) return false;
}
// Events arguments go in the top namespace to avoid the Concrete suffix clutter in interface events.
@@ -213,7 +213,7 @@ struct klass
(
scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag(concrete_cxt).actual_library_name(cls.filename)
<< ")] internal static extern System.IntPtr\n"
- << scope_tab << scope_tab << name_helpers::klass_get_name(cls) << "();\n"
+ << scope_tab << scope_tab << name_helpers::klass_get_name(cls) << "();\n\n"
<< scope_tab << "/// Initializes a new instance of the class.\n"
<< scope_tab << "/// Internal usage: This is used when interacting with C code and should not be used directly.\n"
<< scope_tab << "/// The native pointer to be wrapped.\n"
@@ -262,7 +262,7 @@ struct klass
scope_tab << "private static IntPtr GetEflClassStatic()\n"
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "return " << name_helpers::klass_get_full_name(cls) << "();\n"
- << scope_tab << "}\n"
+ << scope_tab << "}\n\n"
).generate(sink, attributes::unused, concrete_cxt))
return false;
@@ -342,7 +342,7 @@ struct klass
scope_tab << "private static IntPtr GetEflClassStatic()\n"
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "return " << name_helpers::klass_get_full_name(cls) << "();\n"
- << scope_tab << "}\n"
+ << scope_tab << "}\n\n"
).generate(sink, attributes::unused, inherit_cxt))
return false;
@@ -370,8 +370,8 @@ struct klass
<< "#pragma warning disable CS1591\n" // Disabling warnings as DocFx will hide these classes
<<"public static class " << (string % "_") << name_helpers::klass_inherit_name(cls)
<< "_ExtensionMethods {\n"
- << *((scope_tab << property_extension_method_definition(cls)) << "\n")
- << *((scope_tab << part_extension_method_definition(cls)) << "\n")
+ << *(property_extension_method_definition(cls))
+ << *(part_extension_method_definition(cls))
<< "}\n"
<< "#pragma warning restore CS1591\n"
<< "#endif\n")
@@ -416,7 +416,7 @@ struct klass
{
if(!as_generator(
indent << scope_tab << "private static Efl.Eo.NativeModule Module = new Efl.Eo.NativeModule("
- << indent << context_find_tag(context).actual_library_name(cls.filename) << ");\n"
+ << context_find_tag(context).actual_library_name(cls.filename) << ");\n\n"
).generate(sink, attributes::unused, inative_cxt))
return false;
}
@@ -466,7 +466,7 @@ struct klass
if(!as_generator(
indent << scope_tab << scope_tab << "return descs;\n"
- << indent << scope_tab << "}\n"
+ << indent << scope_tab << "}\n\n"
).generate(sink, attributes::unused, inative_cxt))
return false;
@@ -532,7 +532,7 @@ struct klass
if(!as_generator(
scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag(context).actual_library_name(cls.filename)
<< ")] internal static extern System.IntPtr\n"
- << scope_tab << scope_tab << name_helpers::klass_get_name(cls) << "();\n"
+ << scope_tab << scope_tab << name_helpers::klass_get_name(cls) << "();\n\n"
).generate(sink, attributes::unused, context))
return false;
@@ -607,7 +607,7 @@ struct klass
return true;
// Self events
- if (!as_generator(*(event_definition(cls, cls))).generate(sink, cls.events, context))
+ if (!as_generator(*(event_definition(cls, cls)) << "\n").generate(sink, cls.events, context))
return false;
// Inherited events
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
index e68de6bf66..08b2bc997a 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -508,7 +508,7 @@ bool open_namespaces(OutputIterator sink, std::vector namespaces, C
template
bool close_namespaces(OutputIterator sink, std::vector const& namespaces, Context const& context)
{
- auto close_namespace = (lit("}") % "\n\n" ) << "\n\n";
+ auto close_namespace = (lit("}") % "\n" ) << "\n\n";
return as_generator(close_namespace).generate(sink, namespaces, context);
}
diff --git a/src/bin/eolian_mono/eolian/mono/parameter.hh b/src/bin/eolian_mono/eolian/mono/parameter.hh
index 52afaf456e..4050c60866 100644
--- a/src/bin/eolian_mono/eolian/mono/parameter.hh
+++ b/src/bin/eolian_mono/eolian/mono/parameter.hh
@@ -1071,7 +1071,7 @@ struct convert_return_generator
else if (helpers::need_struct_conversion(regular))
{
return as_generator(
- "return _ret_var;\n"
+ "return _ret_var;"
).generate(sink, nullptr, context);
}
else if (ret_type.c_type == "Eina_Binbuf *" || ret_type.c_type == "const Eina_Binbuf *")
@@ -1119,7 +1119,7 @@ struct convert_return_generator
}
else if (ret_type.c_type != "void")
{
- return as_generator("return _ret_var;\n").generate(sink, ret_type, context);
+ return as_generator("return _ret_var;").generate(sink, ret_type, context);
}
return true;
}
@@ -1289,13 +1289,13 @@ struct native_convert_return_generator
if (ret_type.is_ptr && helpers::need_pointer_conversion(regular) && !helpers::need_struct_conversion_in_return(ret_type, attributes::parameter_direction::unknown) )
{
return as_generator(
- "return Eina.PrimitiveConversion.ManagedToPointerAlloc(_ret_var);\n"
+ "return Eina.PrimitiveConversion.ManagedToPointerAlloc(_ret_var);"
).generate(sink, attributes::unused, context);
}
else if (helpers::need_struct_conversion(regular))
{
return as_generator(
- "return _ret_var;\n"
+ "return _ret_var;"
).generate(sink, nullptr, context);
}
else if (ret_type.c_type == "const char *")
@@ -1308,12 +1308,12 @@ struct native_convert_return_generator
return false;
}
return as_generator(
- "return _ret_var;\n"
+ "return _ret_var;"
).generate(sink, attributes::unused, context);
}
else
{
- return as_generator("return _ret_var;\n"
+ return as_generator("return _ret_var;"
).generate(sink, attributes::unused, context);
}
}
@@ -1326,12 +1326,12 @@ struct native_convert_return_generator
return false;
}
return as_generator(
- "return _ret_var;\n"
+ "return _ret_var;"
).generate(sink, attributes::unused, context);
}
else
{
- return as_generator("return _ret_var;\n")
+ return as_generator("return _ret_var;")
.generate(sink, attributes::unused, context);
}
}
@@ -1341,7 +1341,7 @@ struct native_convert_return_generator
.generate(sink, attributes::unused, context))
return false;
- return as_generator("return _ret_var.Handle;\n")
+ return as_generator("return _ret_var.Handle;")
.generate(sink, attributes::unused, context);
}
else if (ret_type.c_type == "Eina_Hash *" || ret_type.c_type == "const Eina_Hash *")
@@ -1359,7 +1359,7 @@ struct native_convert_return_generator
.generate(sink, attributes::unused, context))
return false;
- return as_generator("return _ret_var.Handle;\n")
+ return as_generator("return _ret_var.Handle;")
.generate(sink, attributes::unused, context);
}
else if (ret_type.c_type == "Eina_Array *" || ret_type.c_type == "const Eina_Array *"
@@ -1386,11 +1386,11 @@ struct native_convert_return_generator
return false;
}
- return as_generator("return _ret_var.Handle;\n")
+ return as_generator("return _ret_var.Handle;")
.generate(sink, attributes::unused, context);
}
else if (ret_type.c_type != "void")
- return as_generator("return _ret_var;\n").generate(sink, ret_type, context);
+ return as_generator("return _ret_var;").generate(sink, ret_type, context);
return true;
}
diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh b/src/bin/eolian_mono/eolian/mono/part_definition.hh
index 3569f438d5..f3811b96fc 100644
--- a/src/bin/eolian_mono/eolian/mono/part_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh
@@ -60,7 +60,7 @@ struct part_extension_method_definition_generator
<< ", T> x=null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << "\n"
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "return new " << bindableClass << "<" << part_klass_name << ">(\"" << part.name << "\" ,fac);\n"
- << scope_tab << "}\n"
+ << scope_tab << "}\n\n"
).generate(sink, attributes::unused, context))
return false;
diff --git a/src/bin/eolian_mono/eolian/mono/struct_definition.hh b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
index fe96e2d175..7fb4c0cf2f 100644
--- a/src/bin/eolian_mono/eolian/mono/struct_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
@@ -370,12 +370,12 @@ struct struct_internal_definition_generator
}
if (!as_generator(indent << scope_tab << scope_tab << "return _external_struct;\n"
- << indent << scope_tab << "}\n\n").generate(sink, nullptr, context))
+ << indent << scope_tab << "}\n").generate(sink, nullptr, context))
return false;
// close internal class
- if(!as_generator(indent << "}\n\n"
- << indent << "#pragma warning restore CS1591\n\n"
+ if(!as_generator(indent << "}\n"
+ << indent << "#pragma warning restore CS1591\n"
).generate(sink, attributes::unused, context)) return false;
return true;
diff --git a/src/bin/eolian_mono/eolian/mono/struct_fields.hh b/src/bin/eolian_mono/eolian/mono/struct_fields.hh
index 02b2cbec6e..9a0225e9d1 100644
--- a/src/bin/eolian_mono/eolian/mono/struct_fields.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_fields.hh
@@ -42,7 +42,7 @@ struct field_argument_docs_generator
template
bool generate(OutputIterator sink, attributes::struct_field_def const& field, Context const& context) const
{
- if (!as_generator("/// " << documentation_string << "")
+ if (!as_generator(current_indentation(context) << "/// " << documentation_string << "")
.generate(sink, std::make_tuple(name_helpers::to_field_name(field.name), field.documentation.summary), context))
return false;
return true;