refactor(ffi-linkage): Phase 9.3-src — purge 'foreign' from src/ comments + a user-facing diagnostic
Reword every 'foreign' comment to the extern/runtime-class vocabulary matching the renamed identifiers (foreign call→extern call, foreign class→runtime class, foreign path→runtime path, the #foreign-literal comment mentions → extern, etc.). Also fixes two USER-FACING issues: the 'expected … #foreign … after type annotation' parse error no longer advertises the removed keyword, and the Android 'no #jni_main' help diagnostic now shows '#jni_class(…) extern' instead of the rejected '#foreign #jni_class'. Removed the now-dead prefix-#foreign-vs-postfix conflict branch in parseRuntimeClassDecl (the caller rejects #foreign before it runs). src/ now contains 'foreign' ONLY in the hash_foreign token machinery + its 4 rejection messages — the deprecation mechanism (kept per the 9.0 recommendation; the message MUST name #foreign to guide migration). Snapshot-neutral; suite green (646 corpus / 444 unit, 0 failed).
This commit is contained in:
@@ -53,7 +53,7 @@ pub fn lowerObjcDefinedClassMethods(self: *Lowering) void {
|
||||
self.emitObjcDefinedClassImps();
|
||||
}
|
||||
|
||||
/// If `obj_expr` is typed as a pointer to a foreign Obj-C class
|
||||
/// If `obj_expr` is typed as a pointer to a runtime Obj-C class
|
||||
/// and that class (or any of its `#extends` ancestors) declares a
|
||||
/// `#property` field with the given name, return the
|
||||
/// `RuntimeFieldDecl`. M2.2 + M2.3.
|
||||
@@ -257,7 +257,7 @@ pub fn lowerObjcPropertySetter(self: *Lowering, obj_expr: *const ast.Node, field
|
||||
|
||||
/// Get a FuncId for an external C-callconv function. If a function
|
||||
/// with this exported name already exists in the module (e.g.
|
||||
/// declared by stdlib `#foreign` decl), return it; otherwise
|
||||
/// declared by stdlib `extern` decl), return it; otherwise
|
||||
/// declare it fresh with the given signature.
|
||||
///
|
||||
/// One helper instead of a `get<Name>Fid` per runtime function —
|
||||
@@ -729,7 +729,7 @@ pub fn emitObjcDefinedClassImp(self: *Lowering, fcd: *const ast.RuntimeClassDecl
|
||||
|
||||
// Pass the Obj-C receiver pointer through to the sx body as
|
||||
// `self`. The body's `self: *Self` type resolves to the
|
||||
// foreign-class stub (the opaque Obj-C type), matching Apple's
|
||||
// runtime-class stub (the opaque Obj-C type), matching Apple's
|
||||
// Obj-C semantics where `self` IS the object. `self.field`
|
||||
// access on a sx-defined class is rewritten by lowerFieldAccess
|
||||
// to go through `object_getIvar(self, __sx_state_ivar)` and
|
||||
|
||||
Reference in New Issue
Block a user