@@ -169,25 +169,16 @@ private static void ProcessProperties(Class @class, HashSet<Property> newPropert
169
169
@class . Properties . Remove ( property ) ;
170
170
continue ;
171
171
}
172
-
173
- foreach ( var method in @class . Methods . Where (
174
- m => m . IsGenerated && m . Name == property . Name ) )
175
- {
176
- var oldName = method . Name ;
177
- method . Name = $@ "get{ char . ToUpperInvariant ( method . Name [ 0 ] ) } {
178
- method . Name . Substring ( 1 ) } " ;
179
- Diagnostics . Debug ( "Method {0}::{1} renamed to {2}" ,
180
- method . Namespace . Name , oldName , method . Name ) ;
181
- }
182
- foreach ( var @event in @class . Events . Where (
183
- e => e . Name == property . Name ) )
172
+ if ( property . SetMethod == null &&
173
+ @class . GetOverloads ( property . GetMethod ) . Any (
174
+ m => m != property . GetMethod && ! m . Ignore ) )
184
175
{
185
- var oldName = @event . Name ;
186
- @event . Name = $@ "on{ char . ToUpperInvariant ( @event . Name [ 0 ] ) } {
187
- @event . Name . Substring ( 1 ) } " ;
188
- Diagnostics . Debug ( "Event {0}::{1} renamed to {2}" ,
189
- @event . Namespace . Name , oldName , @event . Name ) ;
176
+ property . GetMethod . GenerationKind = GenerationKind . Generate ;
177
+ @class . Properties . Remove ( property ) ;
178
+ continue ;
190
179
}
180
+
181
+ RenameConflictingMethods ( @class , property ) ;
191
182
CombineComments ( property ) ;
192
183
}
193
184
}
@@ -211,6 +202,28 @@ private static Property GetBaseProperty(Class @class, Property @override)
211
202
return null ;
212
203
}
213
204
205
+ private static void RenameConflictingMethods ( Class @class , Property property )
206
+ {
207
+ foreach ( var method in @class . Methods . Where (
208
+ m => m . IsGenerated && m . Name == property . Name ) )
209
+ {
210
+ var oldName = method . Name ;
211
+ method . Name = $@ "get{ char . ToUpperInvariant ( method . Name [ 0 ] ) } {
212
+ method . Name . Substring ( 1 ) } " ;
213
+ Diagnostics . Debug ( "Method {0}::{1} renamed to {2}" ,
214
+ method . Namespace . Name , oldName , method . Name ) ;
215
+ }
216
+ foreach ( var @event in @class . Events . Where (
217
+ e => e . Name == property . Name ) )
218
+ {
219
+ var oldName = @event . Name ;
220
+ @event . Name = $@ "on{ char . ToUpperInvariant ( @event . Name [ 0 ] ) } {
221
+ @event . Name . Substring ( 1 ) } " ;
222
+ Diagnostics . Debug ( "Event {0}::{1} renamed to {2}" ,
223
+ @event . Namespace . Name , oldName , @event . Name ) ;
224
+ }
225
+ }
226
+
214
227
private static string GetReadWritePropertyName ( INamedDecl getter , string afterSet )
215
228
{
216
229
string name = GetPropertyName ( getter . Name ) ;
0 commit comments