refactor(ffi-linkage): Phase 7.2 — migrate 13xx ffi-objc examples #foreign→extern
18 obj-c examples migrated (1308/1311-1317/1319/1320/1321/1341-1347): import
runtime classes '#foreign #objc_class("X") {' → '#objc_class("X") extern {'
(prefix→postfix) + fn/comment '#foreign'→'extern'. No 13xx snapshot asserts on
'foreign' text → all behavior-preserving; empty snapshot diff, corpus-validated.
Per the keep-list policy: KEPT identity-#foreign tests 1306/1318 (filename
ffi-*-foreign*); LEFT comment-only #foreign in the extern/export test files
1332/1348/1349 (no decls). Bare defined #objc_class examples (no #foreign) untouched
— not a purge target. Suite green (647 corpus / 444 unit, 0 failed).
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
// call site, not get truncated to i8 by the enclosing function's
|
||||
// BOOL return type. Regression locks in the
|
||||
// `resolveCallParamTypes` fix that threads foreign-class method
|
||||
// param types correctly even when the receiver is a `#foreign
|
||||
// param types correctly even when the receiver is a `extern
|
||||
// #objc_class` alias. Every probe round-trips the receiver pointer
|
||||
// — a regression would read only the low byte and the observer
|
||||
// pointer would appear as e.g. 0xC0 / 0x20 instead of its real
|
||||
@@ -17,7 +17,7 @@ g_observer : *void = null;
|
||||
// Stand-in for NSNotificationCenter — we just need a foreign-class
|
||||
// method with several *void args so the call site's arg-target-type
|
||||
// resolution exercises the same path as uikit.sx's keyboard observer.
|
||||
SxIssue44Bus :: #foreign #objc_class("NSNotificationCenter") {
|
||||
SxIssue44Bus :: #objc_class("NSNotificationCenter") extern {
|
||||
defaultCenter :: () -> *SxIssue44Bus;
|
||||
addObserver_selector_name_object :: (self: *Self, observer: *void, sel: *void, name: *void, obj: *void);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user