This is an automated email from the ASF dual-hosted git repository.

chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fory-site.git

commit c83707ea734984f39a1b011dd93bd61792c2f278
Author: chaokunyang <[email protected]>
AuthorDate: Thu May 14 15:48:40 2026 +0000

    🔄 synced local 'docs/specification/' with remote 'docs/specification/'
---
 docs/specification/xlang_implementation_guide.md | 34 ------------------------
 1 file changed, 34 deletions(-)

diff --git a/docs/specification/xlang_implementation_guide.md 
b/docs/specification/xlang_implementation_guide.md
index 6fd32e15d8..ba1ee0a9c3 100644
--- a/docs/specification/xlang_implementation_guide.md
+++ b/docs/specification/xlang_implementation_guide.md
@@ -107,40 +107,6 @@ Generated and hand-written serializers should treat these 
contexts as the only
 source of operation-local services. Serializers must not keep ambient runtime
 state in thread locals, globals, or serializer instance fields.
 
-### Static generated serializer discovery
-
-The Java runtime discovers build-time generated xlang serializers through
-`StaticGeneratedSerializerProvider` service providers. A provider maps a target
-class to the generated serializer class and construction functions. Runtime
-registration still belongs to the user: users register target classes and
-their IDs or names with normal Fory registration APIs; generated providers must
-not choose user IDs or registered names.
-
-Generated-name `Class.forName` lookup is not the owner for static serializer
-discovery. Service-provider lookup is required for Android/R8 and is preferred
-for Kotlin classes. Kotlin xlang structs require a KSP-generated SPI mapping;
-missing static serializer metadata is a configuration error. When a registered
-type is a Kotlin class, or when the runtime is Android, the Java type resolver
-checks the static provider registry first. The static provider registry is
-resolver-owned shared metadata: it is held by `SharedRegistry`, not by
-serializer classes or by individual `TypeResolver` instances. The registry must
-be GraalVM build-time initialized so build-time `Fory` instances can embed 
their
-shared resolver metadata in the native-image heap without 
runtime-initialization
-conflicts. Generated Java annotation-processor providers and Kotlin KSP
-providers use separate marker service descriptors under
-`StaticGeneratedSerializerProvider` so mixed Java/Kotlin artifacts can package
-both provider lists without resource overwrite. The registry must load
-providers visible from the resolver class loader, the target class loader, and
-the context class loader, so generated serializers packaged beside plugin or
-child-loader classes can be found.
-
-Static generated serializers must expose descriptor metadata through an
-instance `getGeneratedDescriptors()` method and must have a provider-callable
-no-argument construction path for descriptor reads. That construction path is
-not a user registration API. The runtime creates the descriptor instance from
-the provider; it does not parse Kotlin metadata or Java fields at runtime to
-recover the generated schema.
-
 ### `WriteContext`
 
 `WriteContext` owns all write-side per-operation state:


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to