Commits

Doug Gregor committed ca736fd27ca
[Omit needless words] Ensure Swift name consistency for overriding/overridden decalrations. When we transform an Objective-C method or property name, we take into account the parameter types, result type, and type of the enclosing context. Doing so means that one can get different Swift names for a particular method (or property) and one that overrides it, which leads to dangerous inconsistencies in the Swift names. Address this limitation by using the original declaration's name (i.e., one that does not override any other). It is possible that there is more than one "original declaration", when the same method/property name comes from different protocols. When this is the case, check for consistency and complain if there are inconsistencies. Amusingly, this changes exactly one method in Cocoa (UINavigationController's showViewController:sender:), with no conflicts detected. Fixes rdar://problem/24558337.