Commit fe7421d
[XA.Tools.Bytecode] Add Kotlin support to our binding process. (#505)
Context: #525
Various fixes and enhancements to allow better default Kotlin
libraries bindings:
* Hide Kotlin-internal classes, constructors, and methods.
* Hide implementation methods (`*-impl*`).
* Rename extension method parameter like
`$this$decodeBase64` to `obj`.
* Use Kotlin provided method parameter names instead of
`p0`, `p1`, etc.
* Rename any method with a `-<mangling>` to drop the invalid part,
e.g. `add-H4uI21a` is bound as `add`.
("Name mangling" like this is how Kotlin ensures `add(UInt)` and
`add(Int)` don't clash when compiled to [Java][1].)
Note that the final bullet point -- "removing" name mangling -- may
result in C# code which is either not valid or not entirely usable.
See Issue #525 for details. This will be addressed "later".
[1]: https://kotlinlang.org/docs/reference/inline-classes.html#mangling1 parent 47f47bc commit fe7421d
File tree
54 files changed
+1121
-106
lines changed- src/Xamarin.Android.Tools.Bytecode
- Kotlin
- Tests
- kotlin
- tools/generator
- Java.Interop.Tools.Generator.Importers
- Tests/Unit-Tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
54 files changed
+1121
-106
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
| 189 | + | |
| 190 | + | |
189 | 191 | | |
190 | 192 | | |
191 | 193 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | 11 | | |
13 | 12 | | |
14 | 13 | | |
| |||
0 commit comments