@@ -1602,14 +1602,56 @@ ERROR(member_of_objc_implementation_not_objc_or_final,none,
16021602 " %0 %1 does not match any %0 declared in the headers for %2; did you use "
16031603 " the %0's Swift name?" ,
16041604 (DescriptiveDeclKind, ValueDecl *, ValueDecl *))
1605- NOTE(fixit_add_objc_for_objc_implementation ,none,
1606- " add '@objc' to define an Objective-C-compatible %0 not declared in "
1607- " the header" ,
1605+ NOTE(fixit_add_private_for_objc_implementation ,none,
1606+ " add 'private' or 'fileprivate' to define an Objective-C-compatible %0 "
1607+ " not declared in the header" ,
16081608 (DescriptiveDeclKind))
16091609NOTE(fixit_add_final_for_objc_implementation,none,
16101610 " add 'final' to define a Swift %0 that cannot be overridden" ,
16111611 (DescriptiveDeclKind))
16121612
1613+ ERROR(objc_implementation_wrong_category,none,
1614+ " %0 %1 should be implemented in extension for "
1615+ " %select{main class interface|category %2}2, not "
1616+ " %select{main class interface|category %3}3" ,
1617+ (DescriptiveDeclKind, ValueDecl *, Identifier, Identifier))
1618+
1619+ ERROR(objc_implementation_wrong_objc_name,none,
1620+ " selector %0 for %1 %2 not found in header; did you mean %3?" ,
1621+ (ObjCSelector, DescriptiveDeclKind, ValueDecl *, ObjCSelector))
1622+
1623+ ERROR(objc_implementation_wrong_swift_name,none,
1624+ " selector %0 used in header by an %1 with a different name; did you "
1625+ " mean %2?" ,
1626+ (ObjCSelector, DescriptiveDeclKind, DeclName))
1627+
1628+ ERROR(objc_implementation_missing_impl,none,
1629+ " extension for %select{main class interface|category %0}0 should "
1630+ " provide implementation for %1 %2" ,
1631+ (Identifier, DescriptiveDeclKind, ValueDecl *))
1632+
1633+ ERROR(objc_implementation_class_or_instance_mismatch,none,
1634+ " %0 %1 does not match %2 declared in header" ,
1635+ (DescriptiveDeclKind, ValueDecl *, DescriptiveDeclKind))
1636+
1637+ ERROR(objc_implementation_multiple_matching_candidates,none,
1638+ " found multiple implementations that could match %0 %1 with selector %2" ,
1639+ (DescriptiveDeclKind, ValueDecl *, ObjCSelector))
1640+ NOTE(objc_implementation_candidate_impl_here,none,
1641+ " %0 %1 is a potential match%select{|; insert '@objc(%3)' to use it}2" ,
1642+ (DescriptiveDeclKind, ValueDecl *, bool , StringRef))
1643+ NOTE(objc_implementation_requirement_here,none,
1644+ " %0 %1 declared in header here" ,
1645+ (DescriptiveDeclKind, ValueDecl *))
1646+
1647+ ERROR(objc_implementation_multiple_matching_requirements,none,
1648+ " %0 %1 could match several different members declared in the header" ,
1649+ (DescriptiveDeclKind, ValueDecl *))
1650+ NOTE(objc_implementation_one_matched_requirement,none,
1651+ " %0 %1 (with selector %2) is a potential match%select{|; insert "
1652+ " '@objc(%4)' to use it}3" ,
1653+ (DescriptiveDeclKind, ValueDecl *, ObjCSelector, bool , StringRef))
1654+
16131655ERROR(cdecl_not_at_top_level,none,
16141656 " @_cdecl can only be applied to global functions" , ())
16151657ERROR(cdecl_empty_name,none,
0 commit comments