|
@@ -2229,6 +2229,26 @@ Error BindingsGenerator::_generate_cs_signal(const BindingsGenerator::TypeInterf
|
|
|
|
|
|
// Generate signal
|
|
|
{
|
|
|
+ if (p_isignal.is_deprecated) {
|
|
|
+ if (p_isignal.deprecation_message.is_empty()) {
|
|
|
+ WARN_PRINT("An empty deprecation message is discouraged. Signal: '" + p_isignal.proxy_name + "'.");
|
|
|
+ }
|
|
|
+
|
|
|
+ p_output.append(MEMBER_BEGIN "[Obsolete(\"");
|
|
|
+ p_output.append(p_isignal.deprecation_message);
|
|
|
+ p_output.append("\")]");
|
|
|
+ }
|
|
|
+
|
|
|
+ String delegate_name = p_isignal.proxy_name;
|
|
|
+ delegate_name += "EventHandler"; // Delegate name is [SignalName]EventHandler
|
|
|
+
|
|
|
+ // Generate delegate
|
|
|
+ p_output.append(MEMBER_BEGIN "public delegate void ");
|
|
|
+ p_output.append(delegate_name);
|
|
|
+ p_output.append("(");
|
|
|
+ p_output.append(arguments_sig);
|
|
|
+ p_output.append(");\n");
|
|
|
+
|
|
|
if (p_isignal.method_doc && p_isignal.method_doc->description.size()) {
|
|
|
String xml_summary = bbcode_to_xml(fix_doc_description(p_isignal.method_doc->description), &p_itype);
|
|
|
Vector<String> summary_lines = xml_summary.length() ? xml_summary.split("\n") : Vector<String>();
|
|
@@ -2247,25 +2267,11 @@ Error BindingsGenerator::_generate_cs_signal(const BindingsGenerator::TypeInterf
|
|
|
}
|
|
|
|
|
|
if (p_isignal.is_deprecated) {
|
|
|
- if (p_isignal.deprecation_message.is_empty()) {
|
|
|
- WARN_PRINT("An empty deprecation message is discouraged. Signal: '" + p_isignal.proxy_name + "'.");
|
|
|
- }
|
|
|
-
|
|
|
p_output.append(MEMBER_BEGIN "[Obsolete(\"");
|
|
|
p_output.append(p_isignal.deprecation_message);
|
|
|
p_output.append("\")]");
|
|
|
}
|
|
|
|
|
|
- String delegate_name = p_isignal.proxy_name;
|
|
|
- delegate_name += "EventHandler"; // Delegate name is [SignalName]EventHandler
|
|
|
-
|
|
|
- // Generate delegate
|
|
|
- p_output.append(MEMBER_BEGIN "public delegate void ");
|
|
|
- p_output.append(delegate_name);
|
|
|
- p_output.append("(");
|
|
|
- p_output.append(arguments_sig);
|
|
|
- p_output.append(");\n");
|
|
|
-
|
|
|
// TODO:
|
|
|
// Could we assume the StringName instance of signal name will never be freed (it's stored in ClassDB) before the managed world is unloaded?
|
|
|
// If so, we could store the pointer we get from `data_unique_pointer()` instead of allocating StringName here.
|