Embarcadero / octoid

Octoid is a tool for translating Objective-C headers into Delphi code. It is intended as a replacement for SDKTransform which ships with Delphi.
BSD 2-Clause "Simplified" License
31 stars 8 forks source link

Fails to create non-conflicting overloads for Intents framework #4

Closed DelphiWorlds closed 9 months ago

DelphiWorlds commented 1 year ago

Specifically the initWithPersonHandleNameComponents method of the INPerson class. Octoid is supposed to use a different method name (which then is not an overload) but retain the MethodName attribute. Probably best to append the conflicting parameter names that are different, e.g. to resolve this issue:

[MethodName('initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:')]
    function initWithPersonHandleNameComponents(personHandle: INPersonHandle; nameComponents: NSPersonNameComponents; displayName: NSString;
      image: INImage; contactIdentifier: NSString; customIdentifier: NSString; isContactSuggestion: Boolean;
      suggestionType: INPersonSuggestionType): Pointer; overload; cdecl;
[MethodName('initWithPersonHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:')]
    function initWithPersonHandleNameComponentsIsMe(personHandle: INPersonHandle; nameComponents: NSPersonNameComponents; displayName: NSString;
      image: INImage; contactIdentifier: NSString; customIdentifier: NSString; isMe: Boolean; suggestionType: INPersonSuggestionType): Pointer; cdecl;
DelphiWorlds commented 9 months ago

Fixed