From ad7e984a918cbf89230d6a89bb9c7ed579236e6e Mon Sep 17 00:00:00 2001 From: Atsushi Eno Date: Wed, 6 Sep 2017 03:46:06 +0900 Subject: [PATCH] [generator] fix bug #58403 - do not trim 8 name chars on non-set-listeners. An event names is generated from the method name which was supposed to be setOnXxxListener. Though we had been generating events for methods that do not end with "Listener", resulting in weird event names (e.g. it was "VisibleWidt" for `setOnVisibleWidthChanged` method). Trim 8 characters only on setOnXxx"Listener" methods. --- tools/generator/Method.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/generator/Method.cs b/tools/generator/Method.cs index a71db1d11..3a17ec3f3 100644 --- a/tools/generator/Method.cs +++ b/tools/generator/Method.cs @@ -396,7 +396,8 @@ internal string CalculateEventName (Func checkNameDuplicate) { string event_name = EventName; if (event_name == null) { - event_name = Name.Substring (0, Name.Length - 8).Substring (3); + var trimSize = Name.EndsWith ("Listener", StringComparison.Ordinal) ? 8 : 0; + event_name = Name.Substring (0, Name.Length - trimSize).Substring (3); if (event_name.StartsWith ("On")) event_name = event_name.Substring (2); if (checkNameDuplicate (event_name))