Browse Source

Remove `[Signal]` attribute from events

- Remove event as a valid target of `SignalAttribute`
- Stop adding the `[Signal]` attribute to events in bindings_generator
- Make bindings_generator use the `EventHandler` suffix to be consistent with the C# source generator
- Remove obsolete comment about the signal's delegate name
Raul Santos 3 years ago
parent
commit
9c9b8fcd34

+ 0 - 4
modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators/ScriptSignalsGenerator.cs

@@ -117,10 +117,6 @@ namespace Godot.SourceGenerators
             source.Append(symbol.NameWithTypeParameters());
             source.Append(symbol.NameWithTypeParameters());
             source.Append("\n{\n");
             source.Append("\n{\n");
 
 
-            // TODO:
-            // The delegate name already needs to end with 'Signal' to avoid collision with the event name.
-            // Requiring SignalAttribute is redundant. Should we remove it to make declaration shorter?
-
             var members = symbol.GetMembers();
             var members = symbol.GetMembers();
 
 
             var signalDelegateSymbols = members
             var signalDelegateSymbols = members

+ 2 - 2
modules/mono/editor/bindings_generator.cpp

@@ -2257,7 +2257,7 @@ Error BindingsGenerator::_generate_cs_signal(const BindingsGenerator::TypeInterf
 		}
 		}
 
 
 		String delegate_name = p_isignal.proxy_name;
 		String delegate_name = p_isignal.proxy_name;
-		delegate_name += "Handler"; // Delegate name is [SignalName]Handler
+		delegate_name += "EventHandler"; // Delegate name is [SignalName]EventHandler
 
 
 		// Generate delegate
 		// Generate delegate
 		p_output.append(MEMBER_BEGIN "public delegate void ");
 		p_output.append(MEMBER_BEGIN "public delegate void ");
@@ -2271,7 +2271,7 @@ Error BindingsGenerator::_generate_cs_signal(const BindingsGenerator::TypeInterf
 		// If so, we could store the pointer we get from `data_unique_pointer()` instead of allocating StringName here.
 		// If so, we could store the pointer we get from `data_unique_pointer()` instead of allocating StringName here.
 
 
 		// Generate event
 		// Generate event
-		p_output.append(MEMBER_BEGIN "[Signal]" MEMBER_BEGIN "public ");
+		p_output.append(MEMBER_BEGIN "public ");
 
 
 		if (p_itype.is_singleton) {
 		if (p_itype.is_singleton) {
 			p_output.append("static ");
 			p_output.append("static ");

+ 1 - 1
modules/mono/glue/GodotSharp/GodotSharp/Core/Attributes/SignalAttribute.cs

@@ -2,6 +2,6 @@ using System;
 
 
 namespace Godot
 namespace Godot
 {
 {
-    [AttributeUsage(AttributeTargets.Delegate | AttributeTargets.Event)]
+    [AttributeUsage(AttributeTargets.Delegate)]
     public class SignalAttribute : Attribute { }
     public class SignalAttribute : Attribute { }
 }
 }