xamarin-macios icon indicating copy to clipboard operation
xamarin-macios copied to clipboard

[RGen] Complete the native invoke implementation.

Open mandel-macaque opened this issue 5 months ago • 28 comments

We achieve the following:

  1. Create a method that will do any needed conversion of the return type.
  2. Fix a bug in which we were keeping alive the handle, when it should the managed object.
  3. Complete the generation of the invoke. Call the conversions, call the invoker, call the post conversions and return the valid value.

This completes all the code that needs to be generated by trampoline. We will add tests with known frameworks in coming commits to ensure that we are generating equivalent code.

mandel-macaque avatar Jun 14 '25 16:06 mandel-macaque

:white_check_mark: [CI Build #a5bfb17] Build passed (Build packages) :white_check_mark:

Pipeline on Agent Hash: a5bfb178c8cff1bc4328a735b232ee90561b7fda [PR build]

:white_check_mark: [PR Build #84a05be] Build passed (Detect API changes) :white_check_mark:

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

:white_check_mark: [PR Build #a5bfb17] Build passed (Detect API changes) :white_check_mark:

Pipeline on Agent Hash: a5bfb178c8cff1bc4328a735b232ee90561b7fda [PR build]

:white_check_mark: [CI Build #84a05be] Build passed (Build packages) :white_check_mark:

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

:white_check_mark: [PR Build #75d99f3] Build passed (Detect API changes) :white_check_mark:

Pipeline on Agent Hash: 75d99f315fcf1284d0cbe0663dae76ce20804d72 [PR build]

:white_check_mark: [CI Build #75d99f3] Build passed (Build packages) :white_check_mark:

Pipeline on Agent Hash: 75d99f315fcf1284d0cbe0663dae76ce20804d72 [PR build]

:white_check_mark: API diff for current PR / commit

.NET ( No breaking changes )

:white_check_mark: API diff vs stable

.NET ( No breaking changes )

:information_source: Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

:white_check_mark: API diff for current PR / commit

.NET ( No breaking changes )

:white_check_mark: API diff vs stable

.NET ( No breaking changes )

:information_source: Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent Hash: a5bfb178c8cff1bc4328a735b232ee90561b7fda [PR build]

:white_check_mark: [CI Build #a5bfb17] Build passed (Build macOS tests) :white_check_mark:

Pipeline on Agent Hash: a5bfb178c8cff1bc4328a735b232ee90561b7fda [PR build]

:computer: [CI Build #a5bfb17] Tests on macOS X64 - Mac Sonoma (14) passed :computer:

:white_check_mark: All tests on macOS X64 - Mac Sonoma (14) passed.

Pipeline on Agent Hash: a5bfb178c8cff1bc4328a735b232ee90561b7fda [PR build]

:computer: [CI Build #a5bfb17] Tests on macOS M1 - Mac Monterey (12) passed :computer:

:white_check_mark: All tests on macOS M1 - Mac Monterey (12) passed.

Pipeline on Agent Hash: a5bfb178c8cff1bc4328a735b232ee90561b7fda [PR build]

:white_check_mark: API diff for current PR / commit

.NET ( No breaking changes )

:white_check_mark: API diff vs stable

.NET ( No breaking changes )

:information_source: Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent Hash: 75d99f315fcf1284d0cbe0663dae76ce20804d72 [PR build]

:computer: [CI Build #a5bfb17] Tests on macOS arm64 - Mac Sequoia (15) passed :computer:

:white_check_mark: All tests on macOS arm64 - Mac Sequoia (15) passed.

Pipeline on Agent Hash: a5bfb178c8cff1bc4328a735b232ee90561b7fda [PR build]

:computer: [CI Build #a5bfb17] Tests on macOS M1 - Mac Ventura (13) passed :computer:

:white_check_mark: All tests on macOS M1 - Mac Ventura (13) passed.

Pipeline on Agent Hash: a5bfb178c8cff1bc4328a735b232ee90561b7fda [PR build]

:white_check_mark: [CI Build #84a05be] Build passed (Build macOS tests) :white_check_mark:

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

:computer: [CI Build #84a05be] Tests on macOS X64 - Mac Sonoma (14) passed :computer:

:white_check_mark: All tests on macOS X64 - Mac Sonoma (14) passed.

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

:computer: [CI Build #84a05be] Tests on macOS M1 - Mac Monterey (12) passed :computer:

:white_check_mark: All tests on macOS M1 - Mac Monterey (12) passed.

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

:computer: [CI Build #84a05be] Tests on macOS arm64 - Mac Sequoia (15) passed :computer:

:white_check_mark: All tests on macOS arm64 - Mac Sequoia (15) passed.

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

:computer: [CI Build #84a05be] Tests on macOS M1 - Mac Ventura (13) passed :computer:

:white_check_mark: All tests on macOS M1 - Mac Ventura (13) passed.

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

:white_check_mark: [CI Build #75d99f3] Build passed (Build macOS tests) :white_check_mark:

Pipeline on Agent Hash: 75d99f315fcf1284d0cbe0663dae76ce20804d72 [PR build]

:computer: [CI Build #75d99f3] Tests on macOS X64 - Mac Sonoma (14) passed :computer:

:white_check_mark: All tests on macOS X64 - Mac Sonoma (14) passed.

Pipeline on Agent Hash: 75d99f315fcf1284d0cbe0663dae76ce20804d72 [PR build]

:computer: [CI Build #75d99f3] Tests on macOS M1 - Mac Monterey (12) passed :computer:

:white_check_mark: All tests on macOS M1 - Mac Monterey (12) passed.

Pipeline on Agent Hash: 75d99f315fcf1284d0cbe0663dae76ce20804d72 [PR build]

:computer: [CI Build #75d99f3] Tests on macOS arm64 - Mac Sequoia (15) passed :computer:

:white_check_mark: All tests on macOS arm64 - Mac Sequoia (15) passed.

Pipeline on Agent Hash: 75d99f315fcf1284d0cbe0663dae76ce20804d72 [PR build]

:computer: [CI Build #75d99f3] Tests on macOS M1 - Mac Ventura (13) passed :computer:

:white_check_mark: All tests on macOS M1 - Mac Ventura (13) passed.

Pipeline on Agent Hash: 75d99f315fcf1284d0cbe0663dae76ce20804d72 [PR build]

:fire: [CI Build #75d99f3] Test results :fire:

Test results

:x: Tests failed on VSTS: test results

1 tests crashed, 0 tests failed, 116 tests passed.

Failures

:x: windows tests

:fire: Failed catastrophically on VSTS: test results - windows (no summary found).

Html Report (VSDrops) Download

Successes

:white_check_mark: cecil: All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: framework: All 2 tests passed. Html Report (VSDrops) Download :white_check_mark: fsharp: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: generator: All 5 tests passed. Html Report (VSDrops) Download :white_check_mark: interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: introspection: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: linker: All 44 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (iOS): All 10 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (MacCatalyst): All 11 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (macOS): All 9 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (tvOS): All 10 tests passed. Html Report (VSDrops) Download :white_check_mark: msbuild: All 2 tests passed. Html Report (VSDrops) Download :white_check_mark: xcframework: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: xtro: All 1 tests passed. Html Report (VSDrops) Download

Pipeline on Agent Hash: 75d99f315fcf1284d0cbe0663dae76ce20804d72 [PR build]

:rocket: [CI Build #a5bfb17] Test results :rocket:

Test results

:white_check_mark: All tests passed on VSTS: test results.

:tada: All 115 tests passed :tada:

Tests counts

:white_check_mark: cecil: All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: framework: All 2 tests passed. Html Report (VSDrops) Download :white_check_mark: fsharp: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: generator: All 5 tests passed. Html Report (VSDrops) Download :white_check_mark: interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: introspection: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: linker: All 44 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (iOS): All 8 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (MacCatalyst): All 11 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (macOS): All 9 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (tvOS): All 8 tests passed. Html Report (VSDrops) Download :white_check_mark: msbuild: All 2 tests passed. Html Report (VSDrops) Download :white_check_mark: windows: All 3 tests passed. Html Report (VSDrops) Download :white_check_mark: xcframework: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: xtro: All 1 tests passed. Html Report (VSDrops) Download

Pipeline on Agent Hash: a5bfb178c8cff1bc4328a735b232ee90561b7fda [PR build]

:fire: [CI Build #84a05be] Test results :fire:

Test results

:x: Tests failed on VSTS: test results

1 tests crashed, 0 tests failed, 118 tests passed.

Failures

:x: windows tests

:fire: Failed catastrophically on VSTS: test results - windows (no summary found).

Html Report (VSDrops) Download

Successes

:white_check_mark: cecil: All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: framework: All 2 tests passed. Html Report (VSDrops) Download :white_check_mark: fsharp: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: generator: All 5 tests passed. Html Report (VSDrops) Download :white_check_mark: interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: introspection: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: linker: All 44 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (iOS): All 8 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (MacCatalyst): All 15 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (macOS): All 9 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (tvOS): All 10 tests passed. Html Report (VSDrops) Download :white_check_mark: msbuild: All 2 tests passed. Html Report (VSDrops) Download :white_check_mark: xcframework: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: xtro: All 1 tests passed. Html Report (VSDrops) Download

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

:fire: [CI Build #84a05be] Test results :fire:

Test results

:x: Tests failed on VSTS: test results

1 tests crashed, 0 tests failed, 118 tests passed.

Failures

:x: windows tests [attempt 2]

:fire: Failed catastrophically on VSTS: test results - windows (no summary found).

Html Report (VSDrops) Download

Successes

:white_check_mark: cecil: All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download :white_check_mark: framework: All 2 tests passed. Html Report (VSDrops) Download :white_check_mark: fsharp: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: generator: All 5 tests passed. Html Report (VSDrops) Download :white_check_mark: interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: introspection: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: linker: All 44 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (iOS): All 8 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (MacCatalyst): All 15 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (macOS): All 9 tests passed. Html Report (VSDrops) Download :white_check_mark: monotouch (tvOS): All 10 tests passed. Html Report (VSDrops) Download :white_check_mark: msbuild: All 2 tests passed. Html Report (VSDrops) Download :white_check_mark: xcframework: All 4 tests passed. Html Report (VSDrops) Download :white_check_mark: xtro: All 1 tests passed. Html Report (VSDrops) Download

Pipeline on Agent Hash: 84a05be1ff904c830903129bee762808c380f330 [PR build]

Failing tests are unrelated to code changes.

mandel-macaque avatar Jun 16 '25 18:06 mandel-macaque