Generate Types and StructuredData API shims
This commit is contained in:
@@ -48,7 +48,7 @@ External member APIs are not copied. Each signature type resolves to Rust core/s
|
||||
- Delegates and flags enums: **40 / 46**
|
||||
- Optional/ref/out/in parameters: **470 / 6,144 / 555 / 0**
|
||||
- Async Rust signatures: **360**
|
||||
- Descriptively renamed overloads: **7,131**
|
||||
- Descriptively renamed overloads: **7,137**
|
||||
- Explicit CLR delegate APM differences: **80**
|
||||
|
||||
Run `python3 tools/generate_rust_mapping.py --check` to regenerate in memory and enforce the complete gate.
|
||||
|
||||
@@ -37,6 +37,8 @@ Regenerate or validate the Rust mapping with only Python's standard library:
|
||||
```sh
|
||||
python3 tools/generate_rust_mapping.py
|
||||
python3 tools/generate_rust_mapping.py --check
|
||||
python3 tools/generate_api_shims.py
|
||||
python3 tools/generate_api_shims.py --check
|
||||
```
|
||||
|
||||
The checker rejects duplicate C# IDs, duplicate Rust destinations, invalid
|
||||
@@ -48,3 +50,9 @@ fallbacks, and generated function bodies that do not use the standardized
|
||||
The two support traits in `RUST-TYPES.tsv` are included because compiled public
|
||||
inheritance records reference them even though they are absent from the public
|
||||
type table.
|
||||
|
||||
`generate_api_shims.py` consumes the catalog and reviewed mapping ledger. It
|
||||
currently owns the completed Types and StructuredData slices, formats their
|
||||
generated Rust deterministically, and rejects any missing or stale type/member
|
||||
documentation ID. `SHIM-COVERAGE.md` distinguishes callable slices from the
|
||||
remaining milestone work; mapping coverage alone is not callable coverage.
|
||||
|
||||
9578
api/RUST-MAPPING.tsv
9578
api/RUST-MAPPING.tsv
File diff suppressed because it is too large
Load Diff
@@ -3092,7 +3092,7 @@ T:System.Action`1 System.Action<T> System.Private.CoreLib delegate core callback
|
||||
T:System.Action`2 System.Action<T1, T2> System.Private.CoreLib delegate core callback Box<dyn Fn(T1, T2) + Send + Sync> language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Action`3 System.Action<T1, T2, T3> System.Private.CoreLib delegate core callback Box<dyn Fn(T1, T2, T3) + Send + Sync> language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.ApplicationException System.ApplicationException System.Private.CoreLib class libremetaverse-types compat libremetaverse_types::compat::ApplicationException native_cross_platform_replacement not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Array System.Array System.Private.CoreLib class std Vec<T> stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Array System.Array System.Private.CoreLib class libremetaverse-types libremetaverse_types::compat::Array stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.AsyncCallback System.AsyncCallback System.Private.CoreLib delegate Box<dyn Fn(&dyn std Box<dyn Fn(&dyn std::any::Any) + Send + Sync> stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Attribute System.Attribute System.Private.CoreLib class libremetaverse-types libremetaverse_types::compat::Attribute stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Boolean System.Boolean System.Private.CoreLib struct core primitive bool language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
@@ -3135,7 +3135,7 @@ T:System.Func`1 System.Func<TResult> System.Private.CoreLib delegate core callba
|
||||
T:System.Func`2 System.Func<T, TResult> System.Private.CoreLib delegate core callback Box<dyn Fn(T) -> TResult + Send + Sync> language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Globalization.CultureInfo System.Globalization.CultureInfo System.Private.CoreLib class libremetaverse-types compat libremetaverse_types::compat::CultureInfo native_cross_platform_replacement not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Globalization.UnicodeCategory System.Globalization.UnicodeCategory System.Private.CoreLib enum libremetaverse-types compat libremetaverse_types::compat::UnicodeCategory native_cross_platform_replacement not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Guid System.Guid System.Private.CoreLib struct uuid uuid::Uuid stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Guid System.Guid System.Private.CoreLib struct libremetaverse-types libremetaverse_types::compat::Guid stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.IAsyncDisposable System.IAsyncDisposable System.Private.CoreLib interface libremetaverse-types compat libremetaverse_types::compat::IAsyncDisposable native_cross_platform_replacement not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.IAsyncResult System.IAsyncResult System.Private.CoreLib interface Box<dyn std Box<dyn std::any::Any + Send + Sync> stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.ICloneable System.ICloneable System.Private.CoreLib interface std Clone stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
@@ -3197,7 +3197,7 @@ T:System.Type System.Type System.Private.CoreLib class libremetaverse-types lib
|
||||
T:System.UInt16 System.UInt16 System.Private.CoreLib struct core primitive u16 language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.UInt32 System.UInt32 System.Private.CoreLib struct core primitive u32 language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.UInt64 System.UInt64 System.Private.CoreLib struct core primitive u64 language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Uri System.Uri System.Private.Uri class url url::Url stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Uri System.Uri System.Private.Uri class libremetaverse-types libremetaverse_types::compat::Uri stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.ValueTuple`2 System.ValueTuple<T1, T2> System.Private.CoreLib struct core tuple (T1, T2) language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.ValueTuple`3 System.ValueTuple<T1, T2, T3> System.Private.CoreLib struct core tuple (T1, T2, T3) language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.ValueTuple`4 System.ValueTuple<T1, T2, T3, T4> System.Private.CoreLib struct core tuple (T1, T2, T3, T4) language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
@@ -3205,7 +3205,7 @@ T:System.ValueTuple`6 System.ValueTuple<T1, T2, T3, T4, T5, T6> System.Private.C
|
||||
T:System.ValueType System.ValueType System.Private.CoreLib class libremetaverse-types libremetaverse_types::compat::Value stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Void System.Void System.Private.CoreLib struct core primitive () language not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Xml.XmlElement System.Xml.XmlElement System.Private.Xml class libremetaverse-structured-data libremetaverse_structured_data::xml::Element stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Xml.XmlReader System.Xml.XmlReader System.Private.Xml class libremetaverse-structured-data libremetaverse_structured_data::xml::Reader<R> stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Xml.XmlReader System.Xml.XmlReader System.Private.Xml class libremetaverse-structured-data libremetaverse_structured_data::xml::Reader stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Xml.XmlTextReader System.Xml.XmlTextReader System.Private.Xml class libremetaverse-types compat libremetaverse_types::compat::XmlTextReader native_cross_platform_replacement not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Xml.XmlTextWriter System.Xml.XmlTextWriter System.Private.Xml class libremetaverse-types compat libremetaverse_types::compat::XmlTextWriter native_cross_platform_replacement not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Xml.XmlWriter System.Xml.XmlWriter System.Private.Xml class libremetaverse-structured-data libremetaverse_structured_data::xml::Writer<W> stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
T:System.Xml.XmlWriter System.Xml.XmlWriter System.Private.Xml class libremetaverse-structured-data libremetaverse_structured_data::xml::Writer stdlib_or_adopted_crate not_applicable not_applicable not_applicable mapped external member surface is not copied
|
||||
|
||||
|
Can't render this file because it is too large.
|
21
api/SHIM-COVERAGE.md
Normal file
21
api/SHIM-COVERAGE.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Callable shim coverage
|
||||
|
||||
Generated by `python3 tools/generate_api_shims.py`; do not edit by hand.
|
||||
|
||||
| Assembly | Types | Members | Status |
|
||||
|---|---:|---:|---|
|
||||
| `LibreMetaverse` | 2,711 | 27,281 | pending milestone issue |
|
||||
| `LibreMetaverse.Imaging.Abstractions` | 3 | 20 | pending milestone issue |
|
||||
| `LibreMetaverse.Imaging.Skia` | 1 | 3 | pending milestone issue |
|
||||
| `LibreMetaverse.LslTools` | 164 | 768 | pending milestone issue |
|
||||
| `LibreMetaverse.PrimMesher` | 17 | 207 | pending milestone issue |
|
||||
| `LibreMetaverse.RLV` | 28 | 499 | pending milestone issue |
|
||||
| `LibreMetaverse.Rendering.MeshFoundry` | 1 | 14 | pending milestone issue |
|
||||
| `LibreMetaverse.Rendering.Simple` | 1 | 6 | pending milestone issue |
|
||||
| `LibreMetaverse.StructuredData` | 16 | 295 | callable failure-only shim |
|
||||
| `LibreMetaverse.Types` | 45 | 942 | callable failure-only shim |
|
||||
| `LibreMetaverse.Utilities` | 3 | 13 | pending milestone issue |
|
||||
| `LibreMetaverse.Voice.Vivox` | 64 | 531 | pending milestone issue |
|
||||
| `LibreMetaverse.Voice.WebRTC` | 12 | 210 | pending milestone issue |
|
||||
|
||||
Current callable coverage: **61 types / 1,237 members**.
|
||||
Reference in New Issue
Block a user