-
Notifications
You must be signed in to change notification settings - Fork 69
Expand file tree
/
Copy pathMetadata.xml
More file actions
90 lines (83 loc) · 6.49 KB
/
Copy pathMetadata.xml
File metadata and controls
90 lines (83 loc) · 6.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<metadata>
<!--
Inline-class hash-mangled overloads: Kotlin inline-class receivers get JVM
name-mangled with a `-hash` suffix; both overloads collapse to the same C#
signature and clash.
-->
<remove-node path="/api/package[@name='androidx.compose.foundation.shape']/class[@name='CornerSizeKt']/method[starts-with(@name,'CornerSize-')]" />
<remove-node path="/api/package[@name='androidx.compose.foundation.shape']/class[@name='RoundedCornerShapeKt']/method[starts-with(@name,'RoundedCornerShape-')]" />
<remove-node path="/api/package[@name='androidx.compose.foundation.shape']/class[@name='CutCornerShapeKt']/method[starts-with(@name,'CutCornerShape-')]" />
<remove-node path="/api/package[@name='androidx.compose.foundation.shape']/class[@name='AbsoluteRoundedCornerShapeKt']/method[starts-with(@name,'AbsoluteRoundedCornerShape-')]" />
<remove-node path="/api/package[@name='androidx.compose.foundation.shape']/class[@name='AbsoluteCutCornerShapeKt']/method[starts-with(@name,'AbsoluteCutCornerShape-')]" />
<remove-node path="/api/package[@name='androidx.compose.foundation.lazy.layout']/class[@name='LazyLayoutCacheWindowKt']/method[starts-with(@name,'LazyLayoutCacheWindow-')]" />
<!--
LazyLayoutPinnedItemList: Kotlin MutableList that re-declares java.util.List
operations; the full set of MutableList method signatures clashes with
java.util.List on the auto-generated Invoker (CS0535, CS0738).
-->
<remove-node path="/api/package[@name='androidx.compose.foundation.lazy.layout']/class[@name='LazyLayoutPinnedItemList']" />
<!--
KeyMapping: interface returns java.lang.Enum<KeyCommand> which doesn't
project; drop it and its helpers.
-->
<remove-node path="/api/package[@name='androidx.compose.foundation.text']/interface[@name='KeyMapping']" />
<remove-node path="/api/package[@name='androidx.compose.foundation.text']/class[@name='KeyMappingKt']" />
<remove-node path="/api/package[@name='androidx.compose.foundation.text']/class[@name='KeyMapping_androidKt']" />
<!--
StyleState (and MutableStyleState peer): abstract class whose abstract
bool getters (IsChecked/IsPressed/IsSelected/IsHovered/IsEnabled/IsFocused)
are not implemented by the auto-generated MutableStyleState subclass
(CS0534). New in 1.11.x.
-->
<remove-node path="/api/package[@name='androidx.compose.foundation.style']/class[@name='StyleState']" />
<remove-node path="/api/package[@name='androidx.compose.foundation.style']/class[@name='MutableStyleState']" />
<remove-node path="/api/package[@name='androidx.compose.foundation.style']/class[@name='StyleStateKey']" />
<remove-node path="/api/package[@name='androidx.compose.foundation.style']/class[@name='StyleStateKt']" />
<!--
SelectionGestures_androidKt references AndroidX.Compose.Foundation.Text.Selection.ISelectionAdjustment
which is not surfaced by the binding generator (the underlying
SelectionAdjustment interface is not emitted as an interface — only its
*Kt companion). Drop the Android-specific helper that references the
missing type. New in 1.11.x.
-->
<remove-node path="/api/package[@name='androidx.compose.foundation.text.selection']/class[@name='SelectionGestures_androidKt']" />
<!--
CornerBasedShape.copy(CornerSize,CornerSize,CornerSize,CornerSize) is abstract
and returns CornerBasedShape; every subclass (RoundedCornerShape,
CutCornerShape, AbsoluteRoundedCornerShape, AbsoluteCutCornerShape) overrides
it with a covariant (subclass-typed) return, which the binding generator emits
without the `override` keyword, leaving the abstract member unimplemented
(CS0534). Pin the managed return to the base type so the override is
recognized. New in 1.11.x (surfaced once UI.Graphics started binding).
-->
<attr path="/api/package[@name='androidx.compose.foundation.shape']/class[@name='RoundedCornerShape']/method[@name='copy' and count(parameter)=4]" name="managedReturn">AndroidX.Compose.Foundation.Shape.CornerBasedShape</attr>
<attr path="/api/package[@name='androidx.compose.foundation.shape']/class[@name='CutCornerShape']/method[@name='copy' and count(parameter)=4]" name="managedReturn">AndroidX.Compose.Foundation.Shape.CornerBasedShape</attr>
<attr path="/api/package[@name='androidx.compose.foundation.shape']/class[@name='AbsoluteRoundedCornerShape']/method[@name='copy' and count(parameter)=4]" name="managedReturn">AndroidX.Compose.Foundation.Shape.CornerBasedShape</attr>
<attr path="/api/package[@name='androidx.compose.foundation.shape']/class[@name='AbsoluteCutCornerShape']/method[@name='copy' and count(parameter)=4]" name="managedReturn">AndroidX.Compose.Foundation.Shape.CornerBasedShape</attr>
<!--
MutationInterruptedException is `public final` in the JAR but Kotlin metadata
marks both it and its parent (internal.PlatformOptimizedCancellationException)
as `private`, so class-parse emits visibility="private" and both classes are
dropped. This is the exception Compose throws into await-able state-mutation
APIs (e.g. ScrollState.animateScrollTo, LazyListState.animateScrollToItem) when
a higher-priority MutatorMutex caller wins mid-flight. Force both back to public
so C# callers can catch it by type.
-->
<attr path="/api/package[@name='androidx.compose.foundation.internal']/class[@name='PlatformOptimizedCancellationException']" name="visibility">public</attr>
<attr path="/api/package[@name='androidx.compose.foundation']/class[@name='MutationInterruptedException']" name="visibility">public</attr>
<!--
Kotlin `object` companion on a `class`: the nested peer binds as
`<Outer>.Companion`, which collides with the static `Companion` property the
generator would otherwise emit on the outer class (a nested type and a
property can't share a name), so the field is silently dropped and the
singleton is only reachable via raw JNI. Rename every nested `*.Companion`
peer to `CompanionStatic` (the same wildcard pattern kotlin-stdlib, okio,
aicore, and genai-prompt already use) so the generator surfaces
`public static <Outer>.CompanionStatic Companion { get; }` on every outer
class, letting consumers write e.g. `KeyboardOptions.Companion.Default`,
`ScrollState.Companion.Saver`, `LazyListState.Companion.Saver` directly.
(Interface companions are hoisted to top-level `<Outer>Companion` by the
generator before this rename matches, so they're unaffected.)
-->
<attr path="/api/package/class[substring(@name,string-length(@name)-9)='.Companion']" name="managedName">CompanionStatic</attr>
</metadata>