mirror of
https://github.com/morluto/rea.git
synced 2026-10-23 06:12:29 -05:00
* fix(apple): stop counting single-object NIB connectors as ownerless The NIBArchive projection counts every object whose class name contains "Connector" and has no resolvable NSSource as an ownerless connection (#2484). AppKit also archives connector classes that annotate one object and never encode NSSource: tooltips (NSIBHelpConnector), accessibility attributes (NSNibAXAttributeConnector) and user-defined runtime attributes (NSIBUserDefinedRuntimeAttributesConnector). Each of them marked the document's connection coverage partial with connection_unresolved, raised connection_count, set graph.truncated and added the "declare no resolvable owner" limitation, although no connection was dropped. The keyed-archive producer does not treat these classes as connections. Skip AppKit connectors that encode no NSSource key. A connector whose NSSource is encoded but nil or malformed, and every UIKit runtime connection, is still counted as ownerless. Across 3924 NIBArchive files shipped with macOS system apps and Xcode, 688 reported this false partial coverage (for example Preview's PaperKitWindowController.nib, whose only other connector is one outlet); none do after the change. * test(apple): keep unusable AppKit connector sources counted as ownerless Only an absent NSSource marks a single-object annotation. Cover an AppKit outlet connector whose NSSource is nil or a non-reference value, which must still be reported as an unresolved, omitted connection. * test(apple): split unusable connector source cases into their own block Keep the connector describe block within the max-lines-per-function limit. * fix(apple): keep unknown NIB connectors unresolved * fix(apple): preserve unknown AppKit NIB connectors * fix(apple): share annotation connector semantics --------- Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>