Bug 1938588 - Fixing external object support, r=markh

Added code to check if a pointer type is for an external type and if so,
use the correct namespace.

It doesn't feel great to me to iterate over all external types for this.
Also the `crate_name_to_namespace` function seems hacky.  I hope to fix
this soon, maybe once the UniFFI bindgen pipline changes are merged and
vendored in.

Refactored some of the test crates to use proc-macros, which made the
testing easier.

Differential Revision: https://phabricator.services.mozilla.com/D232770
This commit is contained in:
Ben Dean-Kawamura
2024-12-31 15:07:53 +00:00
parent 640c3ba9d7
commit 3a18371bb7
25 changed files with 397 additions and 333 deletions

3
Cargo.lock generated
View File

@@ -1,6 +1,6 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
version = 4
[[package]]
name = "aa-stroke"
@@ -6790,6 +6790,7 @@ dependencies = [
"thiserror",
"uniffi",
"uniffi-example-geometry",
"uniffi-example-sprites",
]
[[package]]

View File

@@ -8,6 +8,7 @@ publish = false
[dependencies]
uniffi-example-geometry = { path = "../geometry/" }
uniffi-example-sprites = { path = "../sprites/" }
uniffi = { workspace = true }
thiserror = "1.0"

View File

@@ -1,7 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
fn main() {
uniffi::generate_scaffolding("./src/external-types.udl").unwrap();
}

View File

@@ -1,11 +0,0 @@
// A type defined in the `geometry` component
[External="uniffi_geometry"]
typedef extern Point;
[External="uniffi_geometry"]
typedef extern Line;
namespace external_types {
double gradient(Line? value);
Point? intersection(Line ln1, Line ln2);
};

View File

@@ -2,8 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use std::sync::Arc;
use uniffi_geometry::{Line, Point};
#[uniffi::export]
pub fn gradient(value: Option<Line>) -> f64 {
match value {
None => 0.0,
@@ -11,8 +14,14 @@ pub fn gradient(value: Option<Line>) -> f64 {
}
}
#[uniffi::export]
pub fn intersection(ln1: Line, ln2: Line) -> Option<Point> {
uniffi_geometry::intersection(ln1, ln2)
}
include!(concat!(env!("OUT_DIR"), "/external-types.uniffi.rs"));
#[uniffi::export]
pub fn move_sprite_to_origin(sprite: Arc<uniffi_sprites::Sprite>) {
sprite.move_to(uniffi_sprites::Point { x: 0.0, y: 0.0 })
}
uniffi::setup_scaffolding!("external_types");

View File

@@ -376,6 +376,14 @@ import {
// Export the FFIConverter object to make external types work.
export { FfiConverterTypePoint, Point };
import {
FfiConverterTypeSprite,
Sprite,
} from "resource://gre/modules/RustSprites.sys.mjs";
// Export the FFIConverter object to make external types work.
export { FfiConverterTypeSprite, Sprite };
@@ -446,3 +454,31 @@ export function intersection(ln1,ln2) {
return Promise.reject(error)
}
}
/**
* moveSpriteToOrigin
*/
export function moveSpriteToOrigin(sprite) {
const liftResult = (result) => undefined;
const liftError = null;
const functionCall = () => {
try {
FfiConverterTypeSprite.checkType(sprite)
} catch (e) {
if (e instanceof UniFFITypeError) {
e.addItemDescriptionPart("sprite");
}
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
98, // external_types:uniffi_uniffi_fixture_external_types_fn_func_move_sprite_to_origin
FfiConverterTypeSprite.lower(sprite),
)
}
try {
return functionCall().then((result) => handleRustResult(result, liftResult, liftError));
} catch (error) {
return Promise.reject(error)
}
}

View File

@@ -706,7 +706,7 @@ export function callLogRepeat(logger,message,count,exclude) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
98, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_call_log_repeat
99, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_call_log_repeat
FfiConverterTypeLogger.lower(logger),
FfiConverterString.lower(message),
FfiConverterU32.lower(count),
@@ -745,7 +745,7 @@ export function logEvenNumbers(logger,items) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
99, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_log_even_numbers
100, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_log_even_numbers
FfiConverterTypeLogger.lower(logger),
FfiConverterSequencei32.lower(items),
)
@@ -782,7 +782,7 @@ export function logEvenNumbersMainThread(logger,items) {
throw e;
}
return UniFFIScaffolding.callSync(
100, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_log_even_numbers_main_thread
101, // fixture_callbacks:uniffi_uniffi_fixture_callbacks_fn_func_log_even_numbers_main_thread
FfiConverterTypeLogger.lower(logger),
FfiConverterSequencei32.lower(items),
)

View File

@@ -631,7 +631,7 @@ export class FutureTester {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
121, // futures:uniffi_uniffi_fixture_futures_fn_constructor_futuretester_init
122, // futures:uniffi_uniffi_fixture_futures_fn_constructor_futuretester_init
)
}
return handleRustResult(functionCall(), liftResult, liftError);}
@@ -656,7 +656,7 @@ export class FutureTester {
throw e;
}
return UniFFIScaffolding.callSync(
118, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_complete_futures
119, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_complete_futures
FfiConverterTypeFutureTester.lower(this),
FfiConverterU8.lower(value),
)
@@ -673,7 +673,7 @@ export class FutureTester {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsync(
119, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_make_future
120, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_make_future
FfiConverterTypeFutureTester.lower(this),
)
}
@@ -693,7 +693,7 @@ export class FutureTester {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
120, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_wake_futures
121, // futures:uniffi_uniffi_fixture_futures_fn_method_futuretester_wake_futures
FfiConverterTypeFutureTester.lower(this),
)
}
@@ -756,7 +756,7 @@ export class RustTask {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
122, // futures:uniffi_uniffi_fixture_futures_fn_method_rusttask_run
123, // futures:uniffi_uniffi_fixture_futures_fn_method_rusttask_run
FfiConverterTypeRustTask.lower(this),
)
}
@@ -827,7 +827,7 @@ export class Traveller {
throw e;
}
return UniFFIScaffolding.callSync(
124, // futures:uniffi_uniffi_fixture_futures_fn_constructor_traveller_new
125, // futures:uniffi_uniffi_fixture_futures_fn_constructor_traveller_new
FfiConverterString.lower(name),
)
}
@@ -842,7 +842,7 @@ export class Traveller {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
123, // futures:uniffi_uniffi_fixture_futures_fn_method_traveller_name
124, // futures:uniffi_uniffi_fixture_futures_fn_method_traveller_name
FfiConverterTypeTraveller.lower(this),
)
}
@@ -919,7 +919,7 @@ export class WorkerQueue {
throw e;
}
return UniFFIScaffolding.callSync(
125, // futures:uniffi_uniffi_fixture_futures_fn_method_workerqueue_add_task
126, // futures:uniffi_uniffi_fixture_futures_fn_method_workerqueue_add_task
FfiConverterTypeWorkerQueue.lower(this),
FfiConverterTypeRustTask.lower(task),
)
@@ -1073,7 +1073,7 @@ export function expensiveComputation() {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsync(
101, // futures:uniffi_uniffi_fixture_futures_fn_func_expensive_computation
102, // futures:uniffi_uniffi_fixture_futures_fn_func_expensive_computation
)
}
try {
@@ -1096,7 +1096,7 @@ export function initializeGeckoGlobalWorkerQueue() {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
102, // futures:uniffi_uniffi_fixture_futures_fn_func_initialize_gecko_global_worker_queue
103, // futures:uniffi_uniffi_fixture_futures_fn_func_initialize_gecko_global_worker_queue
)
}
return handleRustResult(functionCall(), liftResult, liftError);
@@ -1120,7 +1120,7 @@ export function initializeGlobalWorkerQueue(workerQueue) {
throw e;
}
return UniFFIScaffolding.callSync(
103, // futures:uniffi_uniffi_fixture_futures_fn_func_initialize_global_worker_queue
104, // futures:uniffi_uniffi_fixture_futures_fn_func_initialize_global_worker_queue
FfiConverterTypeWorkerQueue.lower(workerQueue),
)
}
@@ -1145,7 +1145,7 @@ export function roundtripF32(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
104, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_f32
105, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_f32
FfiConverterF32.lower(v),
)
}
@@ -1174,7 +1174,7 @@ export function roundtripF64(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
105, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_f64
106, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_f64
FfiConverterF64.lower(v),
)
}
@@ -1203,7 +1203,7 @@ export function roundtripI16(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
106, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i16
107, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i16
FfiConverterI16.lower(v),
)
}
@@ -1232,7 +1232,7 @@ export function roundtripI32(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
107, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i32
108, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i32
FfiConverterI32.lower(v),
)
}
@@ -1261,7 +1261,7 @@ export function roundtripI64(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
108, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i64
109, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i64
FfiConverterI64.lower(v),
)
}
@@ -1290,7 +1290,7 @@ export function roundtripI8(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
109, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i8
110, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_i8
FfiConverterI8.lower(v),
)
}
@@ -1319,7 +1319,7 @@ export function roundtripMap(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
110, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_map
111, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_map
FfiConverterMapStringString.lower(v),
)
}
@@ -1348,7 +1348,7 @@ export function roundtripObj(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
111, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_obj
112, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_obj
FfiConverterTypeTraveller.lower(v),
)
}
@@ -1377,7 +1377,7 @@ export function roundtripString(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
112, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_string
113, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_string
FfiConverterString.lower(v),
)
}
@@ -1406,7 +1406,7 @@ export function roundtripU16(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
113, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u16
114, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u16
FfiConverterU16.lower(v),
)
}
@@ -1435,7 +1435,7 @@ export function roundtripU32(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
114, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u32
115, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u32
FfiConverterU32.lower(v),
)
}
@@ -1464,7 +1464,7 @@ export function roundtripU64(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
115, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u64
116, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u64
FfiConverterU64.lower(v),
)
}
@@ -1493,7 +1493,7 @@ export function roundtripU8(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
116, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u8
117, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_u8
FfiConverterU8.lower(v),
)
}
@@ -1522,7 +1522,7 @@ export function roundtripVec(v) {
throw e;
}
return UniFFIScaffolding.callAsync(
117, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_vec
118, // futures:uniffi_uniffi_fixture_futures_fn_func_roundtrip_vec
FfiConverterSequenceu32.lower(v),
)
}

View File

@@ -511,7 +511,7 @@ export function gradient(ln) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
126, // geometry:uniffi_uniffi_geometry_fn_func_gradient
127, // geometry:uniffi_uniffi_geometry_fn_func_gradient
FfiConverterTypeLine.lower(ln),
)
}
@@ -548,7 +548,7 @@ export function intersection(ln1,ln2) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
127, // geometry:uniffi_uniffi_geometry_fn_func_intersection
128, // geometry:uniffi_uniffi_geometry_fn_func_intersection
FfiConverterTypeLine.lower(ln1),
FfiConverterTypeLine.lower(ln2),
)

View File

@@ -340,7 +340,7 @@ export class SingletonObject {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
130, // refcounts:uniffi_uniffi_fixture_refcounts_fn_method_singletonobject_method
131, // refcounts:uniffi_uniffi_fixture_refcounts_fn_method_singletonobject_method
FfiConverterTypeSingletonObject.lower(this),
)
}
@@ -392,7 +392,7 @@ export function getJsRefcount() {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
128, // refcounts:uniffi_uniffi_fixture_refcounts_fn_func_get_js_refcount
129, // refcounts:uniffi_uniffi_fixture_refcounts_fn_func_get_js_refcount
)
}
return handleRustResult(functionCall(), liftResult, liftError);
@@ -408,7 +408,7 @@ export function getSingleton() {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
129, // refcounts:uniffi_uniffi_fixture_refcounts_fn_func_get_singleton
130, // refcounts:uniffi_uniffi_fixture_refcounts_fn_func_get_singleton
)
}
return handleRustResult(functionCall(), liftResult, liftError);

View File

@@ -634,7 +634,7 @@ export class Optionneur {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
161, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_optionneur_new
162, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_optionneur_new
)
}
try {
@@ -660,7 +660,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
136, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_boolean
137, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_boolean
FfiConverterTypeOptionneur.lower(this),
FfiConverterBool.lower(value),
)
@@ -689,7 +689,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
137, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_enum
138, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_enum
FfiConverterTypeOptionneur.lower(this),
FfiConverterTypeEnumeration.lower(value),
)
@@ -718,7 +718,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
138, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_f32
139, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_f32
FfiConverterTypeOptionneur.lower(this),
FfiConverterF32.lower(value),
)
@@ -747,7 +747,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
139, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_f64
140, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_f64
FfiConverterTypeOptionneur.lower(this),
FfiConverterF64.lower(value),
)
@@ -776,7 +776,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
140, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i16_dec
141, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i16_dec
FfiConverterTypeOptionneur.lower(this),
FfiConverterI16.lower(value),
)
@@ -805,7 +805,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
141, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i16_hex
142, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i16_hex
FfiConverterTypeOptionneur.lower(this),
FfiConverterI16.lower(value),
)
@@ -834,7 +834,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
142, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i32_dec
143, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i32_dec
FfiConverterTypeOptionneur.lower(this),
FfiConverterI32.lower(value),
)
@@ -863,7 +863,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
143, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i32_hex
144, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i32_hex
FfiConverterTypeOptionneur.lower(this),
FfiConverterI32.lower(value),
)
@@ -892,7 +892,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
144, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i64_dec
145, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i64_dec
FfiConverterTypeOptionneur.lower(this),
FfiConverterI64.lower(value),
)
@@ -921,7 +921,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
145, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i64_hex
146, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i64_hex
FfiConverterTypeOptionneur.lower(this),
FfiConverterI64.lower(value),
)
@@ -950,7 +950,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
146, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i8_dec
147, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i8_dec
FfiConverterTypeOptionneur.lower(this),
FfiConverterI8.lower(value),
)
@@ -979,7 +979,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
147, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i8_hex
148, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_i8_hex
FfiConverterTypeOptionneur.lower(this),
FfiConverterI8.lower(value),
)
@@ -1008,7 +1008,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
148, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_null
149, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_null
FfiConverterTypeOptionneur.lower(this),
FfiConverterOptionalstring.lower(value),
)
@@ -1037,7 +1037,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
149, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_sequence
150, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_sequence
FfiConverterTypeOptionneur.lower(this),
FfiConverterSequencestring.lower(value),
)
@@ -1066,7 +1066,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
150, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_string
151, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_string
FfiConverterTypeOptionneur.lower(this),
FfiConverterString.lower(value),
)
@@ -1095,7 +1095,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
151, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u16_dec
152, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u16_dec
FfiConverterTypeOptionneur.lower(this),
FfiConverterU16.lower(value),
)
@@ -1124,7 +1124,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
152, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u16_hex
153, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u16_hex
FfiConverterTypeOptionneur.lower(this),
FfiConverterU16.lower(value),
)
@@ -1153,7 +1153,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
153, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_dec
154, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_dec
FfiConverterTypeOptionneur.lower(this),
FfiConverterU32.lower(value),
)
@@ -1182,7 +1182,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
154, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_hex
155, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_hex
FfiConverterTypeOptionneur.lower(this),
FfiConverterU32.lower(value),
)
@@ -1211,7 +1211,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
155, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_oct
156, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u32_oct
FfiConverterTypeOptionneur.lower(this),
FfiConverterU32.lower(value),
)
@@ -1240,7 +1240,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
156, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u64_dec
157, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u64_dec
FfiConverterTypeOptionneur.lower(this),
FfiConverterU64.lower(value),
)
@@ -1269,7 +1269,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
157, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u64_hex
158, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u64_hex
FfiConverterTypeOptionneur.lower(this),
FfiConverterU64.lower(value),
)
@@ -1298,7 +1298,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
158, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u8_dec
159, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u8_dec
FfiConverterTypeOptionneur.lower(this),
FfiConverterU8.lower(value),
)
@@ -1327,7 +1327,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
159, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u8_hex
160, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_u8_hex
FfiConverterTypeOptionneur.lower(this),
FfiConverterU8.lower(value),
)
@@ -1356,7 +1356,7 @@ export class Optionneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
160, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_zero
161, // rondpoint:uniffi_uniffi_rondpoint_fn_method_optionneur_sinon_zero
FfiConverterTypeOptionneur.lower(this),
FfiConverterOptionali32.lower(value),
)
@@ -1424,7 +1424,7 @@ export class Retourneur {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
177, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_retourneur_new
178, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_retourneur_new
)
}
try {
@@ -1450,7 +1450,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
162, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_boolean
163, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_boolean
FfiConverterTypeRetourneur.lower(this),
FfiConverterBool.lower(value),
)
@@ -1479,7 +1479,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
163, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_double
164, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_double
FfiConverterTypeRetourneur.lower(this),
FfiConverterF64.lower(value),
)
@@ -1508,7 +1508,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
164, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_float
165, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_float
FfiConverterTypeRetourneur.lower(this),
FfiConverterF32.lower(value),
)
@@ -1537,7 +1537,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
165, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i16
166, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i16
FfiConverterTypeRetourneur.lower(this),
FfiConverterI16.lower(value),
)
@@ -1566,7 +1566,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
166, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i32
167, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i32
FfiConverterTypeRetourneur.lower(this),
FfiConverterI32.lower(value),
)
@@ -1595,7 +1595,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
167, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i64
168, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i64
FfiConverterTypeRetourneur.lower(this),
FfiConverterI64.lower(value),
)
@@ -1624,7 +1624,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
168, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i8
169, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_i8
FfiConverterTypeRetourneur.lower(this),
FfiConverterI8.lower(value),
)
@@ -1653,7 +1653,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
169, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_nombres
170, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_nombres
FfiConverterTypeRetourneur.lower(this),
FfiConverterTypeDictionnaireNombres.lower(value),
)
@@ -1682,7 +1682,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
170, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_nombres_signes
171, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_nombres_signes
FfiConverterTypeRetourneur.lower(this),
FfiConverterTypeDictionnaireNombresSignes.lower(value),
)
@@ -1711,7 +1711,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
171, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_optionneur_dictionnaire
172, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_optionneur_dictionnaire
FfiConverterTypeRetourneur.lower(this),
FfiConverterTypeOptionneurDictionnaire.lower(value),
)
@@ -1740,7 +1740,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
172, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_string
173, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_string
FfiConverterTypeRetourneur.lower(this),
FfiConverterString.lower(value),
)
@@ -1769,7 +1769,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
173, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u16
174, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u16
FfiConverterTypeRetourneur.lower(this),
FfiConverterU16.lower(value),
)
@@ -1798,7 +1798,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
174, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u32
175, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u32
FfiConverterTypeRetourneur.lower(this),
FfiConverterU32.lower(value),
)
@@ -1827,7 +1827,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
175, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u64
176, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u64
FfiConverterTypeRetourneur.lower(this),
FfiConverterU64.lower(value),
)
@@ -1856,7 +1856,7 @@ export class Retourneur {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
176, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u8
177, // rondpoint:uniffi_uniffi_rondpoint_fn_method_retourneur_identique_u8
FfiConverterTypeRetourneur.lower(this),
FfiConverterU8.lower(value),
)
@@ -1924,7 +1924,7 @@ export class Stringifier {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
190, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_stringifier_new
191, // rondpoint:uniffi_uniffi_rondpoint_fn_constructor_stringifier_new
)
}
try {
@@ -1950,7 +1950,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
178, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_boolean
179, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_boolean
FfiConverterTypeStringifier.lower(this),
FfiConverterBool.lower(value),
)
@@ -1979,7 +1979,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
179, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_double
180, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_double
FfiConverterTypeStringifier.lower(this),
FfiConverterF64.lower(value),
)
@@ -2008,7 +2008,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
180, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_float
181, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_float
FfiConverterTypeStringifier.lower(this),
FfiConverterF32.lower(value),
)
@@ -2037,7 +2037,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
181, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i16
182, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i16
FfiConverterTypeStringifier.lower(this),
FfiConverterI16.lower(value),
)
@@ -2066,7 +2066,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
182, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i32
183, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i32
FfiConverterTypeStringifier.lower(this),
FfiConverterI32.lower(value),
)
@@ -2095,7 +2095,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
183, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i64
184, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i64
FfiConverterTypeStringifier.lower(this),
FfiConverterI64.lower(value),
)
@@ -2124,7 +2124,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
184, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i8
185, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_i8
FfiConverterTypeStringifier.lower(this),
FfiConverterI8.lower(value),
)
@@ -2153,7 +2153,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
185, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u16
186, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u16
FfiConverterTypeStringifier.lower(this),
FfiConverterU16.lower(value),
)
@@ -2182,7 +2182,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
186, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u32
187, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u32
FfiConverterTypeStringifier.lower(this),
FfiConverterU32.lower(value),
)
@@ -2211,7 +2211,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
187, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u64
188, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u64
FfiConverterTypeStringifier.lower(this),
FfiConverterU64.lower(value),
)
@@ -2240,7 +2240,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
188, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u8
189, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_to_string_u8
FfiConverterTypeStringifier.lower(this),
FfiConverterU8.lower(value),
)
@@ -2269,7 +2269,7 @@ export class Stringifier {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
189, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_well_known_string
190, // rondpoint:uniffi_uniffi_rondpoint_fn_method_stringifier_well_known_string
FfiConverterTypeStringifier.lower(this),
FfiConverterString.lower(value),
)
@@ -3646,7 +3646,7 @@ export function copieCarte(c) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
131, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_carte
132, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_carte
FfiConverterMapStringTypeEnumerationAvecDonnees.lower(c),
)
}
@@ -3675,7 +3675,7 @@ export function copieDictionnaire(d) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
132, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_dictionnaire
133, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_dictionnaire
FfiConverterTypeDictionnaire.lower(d),
)
}
@@ -3704,7 +3704,7 @@ export function copieEnumeration(e) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
133, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_enumeration
134, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_enumeration
FfiConverterTypeEnumeration.lower(e),
)
}
@@ -3733,7 +3733,7 @@ export function copieEnumerations(e) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
134, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_enumerations
135, // rondpoint:uniffi_uniffi_rondpoint_fn_func_copie_enumerations
FfiConverterSequenceTypeEnumeration.lower(e),
)
}
@@ -3762,7 +3762,7 @@ export function switcheroo(b) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
135, // rondpoint:uniffi_uniffi_rondpoint_fn_func_switcheroo
136, // rondpoint:uniffi_uniffi_rondpoint_fn_func_switcheroo
FfiConverterBool.lower(b),
)
}

View File

@@ -339,7 +339,7 @@ export class Sprite {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
195, // sprites:uniffi_uniffi_sprites_fn_constructor_sprite_new
196, // sprites:uniffi_uniffi_sprites_fn_constructor_sprite_new
FfiConverterOptionalTypePoint.lower(initialPosition),
)
}
@@ -373,7 +373,7 @@ export class Sprite {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
196, // sprites:uniffi_uniffi_sprites_fn_constructor_sprite_new_relative_to
197, // sprites:uniffi_uniffi_sprites_fn_constructor_sprite_new_relative_to
FfiConverterTypePoint.lower(reference),
FfiConverterTypeVector.lower(direction),
)
@@ -393,7 +393,7 @@ export class Sprite {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
192, // sprites:uniffi_uniffi_sprites_fn_method_sprite_get_position
193, // sprites:uniffi_uniffi_sprites_fn_method_sprite_get_position
FfiConverterTypeSprite.lower(this),
)
}
@@ -420,7 +420,7 @@ export class Sprite {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
193, // sprites:uniffi_uniffi_sprites_fn_method_sprite_move_by
194, // sprites:uniffi_uniffi_sprites_fn_method_sprite_move_by
FfiConverterTypeSprite.lower(this),
FfiConverterTypeVector.lower(direction),
)
@@ -448,7 +448,7 @@ export class Sprite {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
194, // sprites:uniffi_uniffi_sprites_fn_method_sprite_move_to
195, // sprites:uniffi_uniffi_sprites_fn_method_sprite_move_to
FfiConverterTypeSprite.lower(this),
FfiConverterTypePoint.lower(position),
)
@@ -702,31 +702,31 @@ export class FfiConverterOptionalTypePoint extends FfiConverterArrayBuffer {
* translate
* @returns {Point}
*/
export function translate(position,direction) {
export function translate(p,v) {
const liftResult = (result) => FfiConverterTypePoint.lift(result);
const liftError = null;
const functionCall = () => {
try {
FfiConverterTypePoint.checkType(position)
FfiConverterTypePoint.checkType(p)
} catch (e) {
if (e instanceof UniFFITypeError) {
e.addItemDescriptionPart("position");
e.addItemDescriptionPart("p");
}
throw e;
}
try {
FfiConverterTypeVector.checkType(direction)
FfiConverterTypeVector.checkType(v)
} catch (e) {
if (e instanceof UniFFITypeError) {
e.addItemDescriptionPart("direction");
e.addItemDescriptionPart("v");
}
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
191, // sprites:uniffi_uniffi_sprites_fn_func_translate
FfiConverterTypePoint.lower(position),
FfiConverterTypeVector.lower(direction),
192, // sprites:uniffi_uniffi_sprites_fn_func_translate
FfiConverterTypePoint.lower(p),
FfiConverterTypeVector.lower(v),
)
}
try {

View File

@@ -312,7 +312,7 @@ export class TodoList {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
211, // todolist:uniffi_uniffi_todolist_fn_constructor_todolist_new
212, // todolist:uniffi_uniffi_todolist_fn_constructor_todolist_new
)
}
try {
@@ -337,7 +337,7 @@ export class TodoList {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
200, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_entries
201, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_entries
FfiConverterTypeTodoList.lower(this),
FfiConverterSequenceTypeTodoEntry.lower(entries),
)
@@ -365,7 +365,7 @@ export class TodoList {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
201, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_entry
202, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_entry
FfiConverterTypeTodoList.lower(this),
FfiConverterTypeTodoEntry.lower(entry),
)
@@ -393,7 +393,7 @@ export class TodoList {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
202, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_item
203, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_item
FfiConverterTypeTodoList.lower(this),
FfiConverterString.lower(todo),
)
@@ -421,7 +421,7 @@ export class TodoList {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
203, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_items
204, // todolist:uniffi_uniffi_todolist_fn_method_todolist_add_items
FfiConverterTypeTodoList.lower(this),
FfiConverterSequencestring.lower(items),
)
@@ -449,7 +449,7 @@ export class TodoList {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
204, // todolist:uniffi_uniffi_todolist_fn_method_todolist_clear_item
205, // todolist:uniffi_uniffi_todolist_fn_method_todolist_clear_item
FfiConverterTypeTodoList.lower(this),
FfiConverterString.lower(todo),
)
@@ -470,7 +470,7 @@ export class TodoList {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
205, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_entries
206, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_entries
FfiConverterTypeTodoList.lower(this),
)
}
@@ -490,7 +490,7 @@ export class TodoList {
const liftError = (data) => FfiConverterTypeTodoError.lift(data);
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
206, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_first
207, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_first
FfiConverterTypeTodoList.lower(this),
)
}
@@ -510,7 +510,7 @@ export class TodoList {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
207, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_items
208, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_items
FfiConverterTypeTodoList.lower(this),
)
}
@@ -530,7 +530,7 @@ export class TodoList {
const liftError = (data) => FfiConverterTypeTodoError.lift(data);
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
208, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_last
209, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_last
FfiConverterTypeTodoList.lower(this),
)
}
@@ -550,7 +550,7 @@ export class TodoList {
const liftError = (data) => FfiConverterTypeTodoError.lift(data);
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
209, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_last_entry
210, // todolist:uniffi_uniffi_todolist_fn_method_todolist_get_last_entry
FfiConverterTypeTodoList.lower(this),
)
}
@@ -569,7 +569,7 @@ export class TodoList {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
210, // todolist:uniffi_uniffi_todolist_fn_method_todolist_make_default
211, // todolist:uniffi_uniffi_todolist_fn_method_todolist_make_default
FfiConverterTypeTodoList.lower(this),
)
}
@@ -961,7 +961,7 @@ export function createEntryWith(todo) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
197, // todolist:uniffi_uniffi_todolist_fn_func_create_entry_with
198, // todolist:uniffi_uniffi_todolist_fn_func_create_entry_with
FfiConverterString.lower(todo),
)
}
@@ -982,7 +982,7 @@ export function getDefaultList() {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callAsyncWrapper(
198, // todolist:uniffi_uniffi_todolist_fn_func_get_default_list
199, // todolist:uniffi_uniffi_todolist_fn_func_get_default_list
)
}
try {
@@ -1009,7 +1009,7 @@ export function setDefaultList(list) {
throw e;
}
return UniFFIScaffolding.callAsyncWrapper(
199, // todolist:uniffi_uniffi_todolist_fn_func_set_default_list
200, // todolist:uniffi_uniffi_todolist_fn_func_set_default_list
FfiConverterTypeTodoList.lower(list),
)
}

View File

@@ -357,7 +357,7 @@ export class Calc {
throw e;
}
return UniFFIScaffolding.callSync(
214, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_method_calc_add
215, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_method_calc_add
FfiConverterTypeCalc.lower(this),
FfiConverterU32.lower(a),
FfiConverterU32.lower(b),
@@ -411,7 +411,7 @@ export function makeBuggyCalculator() {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
212, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_func_make_buggy_calculator
213, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_func_make_buggy_calculator
)
}
return handleRustResult(functionCall(), liftResult, liftError);
@@ -427,7 +427,7 @@ export function makeCalculator() {
const liftError = null;
const functionCall = () => {
return UniFFIScaffolding.callSync(
213, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_func_make_calculator
214, // uniffi_trait_interfaces:uniffi_uniffi_trait_interfaces_fn_func_make_calculator
)
}
return handleRustResult(functionCall(), liftResult, liftError);

View File

@@ -1,7 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
fn main() {
uniffi::generate_scaffolding("src/geometry.udl").unwrap();
}

View File

@@ -1,15 +0,0 @@
namespace geometry {
double gradient(Line ln);
Point? intersection(Line ln1, Line ln2);
};
dictionary Point {
double coord_x;
double coord_y;
};
dictionary Line {
Point start;
Point end;
};

View File

@@ -6,24 +6,26 @@
// Silence, clippy!
const EPSILON: f64 = 0.0001f64;
#[derive(Debug, Clone)]
#[derive(Debug, Clone, uniffi::Record)]
pub struct Point {
coord_x: f64,
coord_y: f64,
}
#[derive(Debug, Clone)]
#[derive(Debug, Clone, uniffi::Record)]
pub struct Line {
start: Point,
end: Point,
}
#[uniffi::export]
pub fn gradient(ln: Line) -> f64 {
let rise = ln.end.coord_y - ln.start.coord_y;
let run = ln.end.coord_x - ln.start.coord_x;
rise / run
}
#[uniffi::export]
pub fn intersection(ln1: Line, ln2: Line) -> Option<Point> {
// TODO: yuck, should be able to take &Line as argument here
// and have rust figure it out with a bunch of annotations...
@@ -44,4 +46,4 @@ pub fn intersection(ln1: Line, ln2: Line) -> Option<Point> {
})
}
uniffi::include_scaffolding!("geometry");
uniffi::setup_scaffolding!("geometry");

View File

@@ -1,7 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
fn main() {
uniffi::generate_scaffolding("src/sprites.udl").unwrap();
}

View File

@@ -5,21 +5,22 @@
use std::sync::RwLock;
// A point in two-dimensional space.
#[derive(Debug, Clone)]
#[derive(Debug, Clone, uniffi::Record)]
pub struct Point {
x: f64,
y: f64,
pub x: f64,
pub y: f64,
}
// A magnitude and direction in two-dimensional space.
// For simplicity we represent this as a point relative to the origin.
#[derive(Debug, Clone)]
#[derive(Debug, Clone, uniffi::Record)]
pub struct Vector {
dx: f64,
dy: f64,
pub dx: f64,
pub dy: f64,
}
// Move from the given Point, according to the given Vector.
#[uniffi::export]
pub fn translate(p: &Point, v: Vector) -> Point {
Point {
x: p.x + v.dx,
@@ -29,37 +30,40 @@ pub fn translate(p: &Point, v: Vector) -> Point {
// An entity in our imaginary world, which occupies a position in space
// and which can move about over time.
#[derive(Debug)]
#[derive(Debug, uniffi::Object)]
pub struct Sprite {
// We must use interior mutability for managing mutable state, hence the `RwLock`.
current_position: RwLock<Point>,
}
#[uniffi::export]
impl Sprite {
fn new(initial_position: Option<Point>) -> Sprite {
#[uniffi::constructor]
pub fn new(initial_position: Option<Point>) -> Sprite {
Sprite {
current_position: RwLock::new(initial_position.unwrap_or(Point { x: 0.0, y: 0.0 })),
}
}
fn new_relative_to(reference: Point, direction: Vector) -> Sprite {
#[uniffi::constructor]
pub fn new_relative_to(reference: Point, direction: Vector) -> Sprite {
Sprite {
current_position: RwLock::new(translate(&reference, direction)),
}
}
fn get_position(&self) -> Point {
pub fn get_position(&self) -> Point {
self.current_position.read().unwrap().clone()
}
fn move_to(&self, position: Point) {
pub fn move_to(&self, position: Point) {
*self.current_position.write().unwrap() = position;
}
fn move_by(&self, direction: Vector) {
pub fn move_by(&self, direction: Vector) {
let mut current_position = self.current_position.write().unwrap();
*current_position = translate(&current_position, direction)
}
}
uniffi::include_scaffolding!("sprites");
uniffi::setup_scaffolding!("sprites");

View File

@@ -4,8 +4,11 @@
const ExternalTypes = ChromeUtils.importESModule(
"resource://gre/modules/RustExternalTypes.sys.mjs"
);
const Sprites = ChromeUtils.importESModule(
"resource://gre/modules/RustSprites.sys.mjs"
);
add_task(async function () {
add_task(async function testDataTypes() {
const line = new ExternalTypes.Line({
start: await new ExternalTypes.Point({ coordX: 0, coordY: 0 }),
end: await new ExternalTypes.Point({ coordX: 2, coordY: 1 }),
@@ -14,3 +17,9 @@ add_task(async function () {
Assert.equal(await ExternalTypes.gradient(null), 0.0);
});
add_task(async function testInterface() {
const s = await Sprites.Sprite.init(new Sprites.Point({ x: 100, y: 100 }));
await ExternalTypes.moveSpriteToOrigin(s);
Assert.deepEqual(await s.getPosition(), new Sprites.Point({ x: 0, y: 0 }));
});

View File

@@ -68,13 +68,13 @@ pub struct TodoList {
}
impl TodoList {
fn new() -> Self {
pub fn new() -> Self {
Self {
items: RwLock::new(Vec::new()),
}
}
fn add_item<S: Into<String>>(&self, item: S) -> Result<()> {
pub fn add_item<S: Into<String>>(&self, item: S) -> Result<()> {
let item = item.into();
if item.is_empty() {
return Err(TodoError::EmptyString(
@@ -89,36 +89,36 @@ impl TodoList {
Ok(())
}
fn get_last(&self) -> Result<String> {
pub fn get_last(&self) -> Result<String> {
let items = self.items.read().unwrap();
items.last().cloned().ok_or(TodoError::EmptyTodoList)
}
fn get_first(&self) -> Result<String> {
pub fn get_first(&self) -> Result<String> {
let items = self.items.read().unwrap();
items.first().cloned().ok_or(TodoError::EmptyTodoList)
}
fn add_entries(&self, entries: Vec<TodoEntry>) {
pub fn add_entries(&self, entries: Vec<TodoEntry>) {
let mut items = self.items.write().unwrap();
items.extend(entries.into_iter().map(|e| e.text))
}
fn add_entry(&self, entry: TodoEntry) -> Result<()> {
pub fn add_entry(&self, entry: TodoEntry) -> Result<()> {
self.add_item(entry.text)
}
fn add_items<S: Into<String>>(&self, items: Vec<S>) {
pub fn add_items<S: Into<String>>(&self, items: Vec<S>) {
let mut my_items = self.items.write().unwrap();
my_items.extend(items.into_iter().map(Into::into))
}
fn get_items(&self) -> Vec<String> {
pub fn get_items(&self) -> Vec<String> {
let items = self.items.read().unwrap();
items.clone()
}
fn get_entries(&self) -> Vec<TodoEntry> {
pub fn get_entries(&self) -> Vec<TodoEntry> {
let items = self.items.read().unwrap();
items
.iter()
@@ -126,12 +126,12 @@ impl TodoList {
.collect()
}
fn get_last_entry(&self) -> Result<TodoEntry> {
pub fn get_last_entry(&self) -> Result<TodoEntry> {
let text = self.get_last()?;
Ok(TodoEntry { text })
}
fn clear_item<S: Into<String>>(&self, item: S) -> Result<()> {
pub fn clear_item<S: Into<String>>(&self, item: S) -> Result<()> {
let item = item.into();
let mut items = self.items.write().unwrap();
let idx = items
@@ -142,7 +142,7 @@ impl TodoList {
Ok(())
}
fn make_default(self: Arc<Self>) {
pub fn make_default(self: Arc<Self>) {
set_default_list(self);
}
}

View File

@@ -22,6 +22,7 @@ use uniffi_bindgen::interface::{
AsType, Callable, CallbackInterface, ComponentInterface, FfiDefinition, FfiFunction, FfiType,
};
use super::shared::*;
use crate::{CallbackIds, Component, FunctionIds, ObjectIds};
#[derive(Template)]
@@ -140,7 +141,7 @@ impl CPPScaffoldingTemplate {
.iter()
.map(move |obj| PointerType {
object_id: object_ids.get(&c.ci, obj),
name: pointer_type(&c.ci, obj.name()),
name: pointer_type(&c.ci.namespace(), obj.name()),
label: format!("{}::{}", c.ci.namespace(), obj.name()),
clone_fn: obj.ffi_object_clone().name().to_string(),
free_fn: obj.ffi_object_free().name().to_string(),
@@ -414,16 +415,28 @@ struct ScaffoldingCallAsyncInfo {
fn scaffolding_converter(ci: &ComponentInterface, ffi_type: &FfiType) -> String {
match ffi_type {
FfiType::RustArcPtr(name) => {
format!("ScaffoldingObjectConverter<&{}>", pointer_type(ci, name),)
// Check if this is an external type
for (extern_name, crate_name, _, _) in ci.iter_external_types() {
if extern_name == name {
return format!(
"ScaffoldingObjectConverter<&{}>",
pointer_type(crate_name_to_namespace(&crate_name), name),
);
}
}
format!(
"ScaffoldingObjectConverter<&{}>",
pointer_type(ci.namespace(), name),
)
}
_ => format!("ScaffoldingConverter<{}>", cpp_type(ffi_type)),
}
}
fn pointer_type(ci: &ComponentInterface, name: &str) -> String {
fn pointer_type(namespace: &str, name: &str) -> String {
format!(
"k{}{}PointerType",
ci.namespace().to_upper_camel_case(),
namespace.to_upper_camel_case(),
name.to_upper_camel_case()
)
}

View File

@@ -61,11 +61,7 @@ impl<'a> JSBindingsTemplate<'a> {
}
fn js_module_name_for_crate_name(&self, crate_name: &str) -> String {
let namespace = match crate_name {
"uniffi_geometry" => "geometry",
s => s,
};
js_module_name(namespace)
js_module_name(crate_name_to_namespace(crate_name))
}
}

View File

@@ -34,6 +34,16 @@ fn call_style(callable: impl Callable, config: &Config, spec: &str) -> CallStyle
}
}
/// Map Rust crate names to UniFFI namespaces.
pub fn crate_name_to_namespace(crate_name: &str) -> &str {
// TODO: remove this hack, we should be able to calculate this by walking the CI data.
match crate_name {
"uniffi_geometry" => "geometry",
"uniffi_sprites" => "sprites",
s => s,
}
}
#[ext]
pub impl Function {
fn call_style(&self, config: &Config) -> CallStyle {

View File

@@ -846,6 +846,7 @@ extern "C" {
uint32_t ffi_uniffi_custom_types_uniffi_contract_version();
double uniffi_uniffi_fixture_external_types_fn_func_gradient(RustBuffer, RustCallStatus*);
RustBuffer uniffi_uniffi_fixture_external_types_fn_func_intersection(RustBuffer, RustBuffer, RustCallStatus*);
void uniffi_uniffi_fixture_external_types_fn_func_move_sprite_to_origin(void*, RustCallStatus*);
RustBuffer ffi_uniffi_fixture_external_types_rustbuffer_alloc(uint64_t, RustCallStatus*);
RustBuffer ffi_uniffi_fixture_external_types_rustbuffer_from_bytes(ForeignBytes, RustCallStatus*);
void ffi_uniffi_fixture_external_types_rustbuffer_free(RustBuffer, RustCallStatus*);
@@ -904,6 +905,7 @@ extern "C" {
void ffi_uniffi_fixture_external_types_rust_future_complete_void(uint64_t, RustCallStatus*);
uint16_t uniffi_uniffi_fixture_external_types_checksum_func_gradient();
uint16_t uniffi_uniffi_fixture_external_types_checksum_func_intersection();
uint16_t uniffi_uniffi_fixture_external_types_checksum_func_move_sprite_to_origin();
uint32_t ffi_uniffi_fixture_external_types_uniffi_contract_version();
typedef void (*CallbackInterfaceLoggerMethod0)(uint64_t, RustBuffer, void*, RustCallStatus*);
typedef void (*CallbackInterfaceLoggerMethod1)(uint64_t, RustBuffer, uint32_t, RustBuffer, void*, RustCallStatus*);
@@ -5644,6 +5646,31 @@ public:
);
}
};
class ScaffoldingCallHandlerUniffiUniffiFixtureExternalTypesFnFuncMoveSpriteToOrigin : public UniffiSyncCallHandler {
private:
// PrepareRustArgs stores the resulting arguments in these fields
typename ScaffoldingObjectConverter<&kSpritesSpritePointerType>::IntermediateType mSprite;
// MakeRustCall stores the result of the call in these fields
public:
void PrepareRustArgs(const dom::Sequence<dom::UniFFIScaffoldingValue>& aArgs, ErrorResult& aError) override {
ScaffoldingObjectConverter<&kSpritesSpritePointerType>::FromJs(aArgs[0], &mSprite, aError);
if (aError.Failed()) {
return;
}
}
void MakeRustCall(RustCallStatus* aOutStatus) override {
uniffi_uniffi_fixture_external_types_fn_func_move_sprite_to_origin(
ScaffoldingObjectConverter<&kSpritesSpritePointerType>::IntoRust(std::move(mSprite)),
aOutStatus
);
}
virtual void ExtractSuccessfulCallResult(JSContext* aCx, dom::Optional<dom::UniFFIScaffoldingValue>& aDest, ErrorResult& aError) override {
}
};
class ScaffoldingCallHandlerUniffiUniffiFixtureCallbacksFnFuncCallLogRepeat : public UniffiSyncCallHandler {
private:
// PrepareRustArgs stores the resulting arguments in these fields
@@ -9120,19 +9147,19 @@ public:
class ScaffoldingCallHandlerUniffiUniffiSpritesFnFuncTranslate : public UniffiSyncCallHandler {
private:
// PrepareRustArgs stores the resulting arguments in these fields
typename ScaffoldingConverter<RustBuffer>::IntermediateType mPosition;
typename ScaffoldingConverter<RustBuffer>::IntermediateType mDirection;
typename ScaffoldingConverter<RustBuffer>::IntermediateType mP;
typename ScaffoldingConverter<RustBuffer>::IntermediateType mV;
// MakeRustCall stores the result of the call in these fields
typename ScaffoldingConverter<RustBuffer>::IntermediateType mUniffiReturnValue;
public:
void PrepareRustArgs(const dom::Sequence<dom::UniFFIScaffoldingValue>& aArgs, ErrorResult& aError) override {
ScaffoldingConverter<RustBuffer>::FromJs(aArgs[0], &mPosition, aError);
ScaffoldingConverter<RustBuffer>::FromJs(aArgs[0], &mP, aError);
if (aError.Failed()) {
return;
}
ScaffoldingConverter<RustBuffer>::FromJs(aArgs[1], &mDirection, aError);
ScaffoldingConverter<RustBuffer>::FromJs(aArgs[1], &mV, aError);
if (aError.Failed()) {
return;
}
@@ -9141,8 +9168,8 @@ public:
void MakeRustCall(RustCallStatus* aOutStatus) override {
mUniffiReturnValue = ScaffoldingConverter<RustBuffer>::FromRust(
uniffi_uniffi_sprites_fn_func_translate(
ScaffoldingConverter<RustBuffer>::IntoRust(std::move(mPosition)),
ScaffoldingConverter<RustBuffer>::IntoRust(std::move(mDirection)),
ScaffoldingConverter<RustBuffer>::IntoRust(std::move(mP)),
ScaffoldingConverter<RustBuffer>::IntoRust(std::move(mV)),
aOutStatus
)
);
@@ -10196,306 +10223,309 @@ UniquePtr<UniffiSyncCallHandler> GetSyncCallHandler(uint64_t aId) {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureExternalTypesFnFuncIntersection>();
}
case 98: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureCallbacksFnFuncCallLogRepeat>();
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureExternalTypesFnFuncMoveSpriteToOrigin>();
}
case 99: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureCallbacksFnFuncLogEvenNumbers>();
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureCallbacksFnFuncCallLogRepeat>();
}
case 100: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureCallbacksFnFuncLogEvenNumbers>();
}
case 101: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureCallbacksFnFuncLogEvenNumbersMainThread>();
}
case 102: {
case 103: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncInitializeGeckoGlobalWorkerQueue>();
}
case 103: {
case 104: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncInitializeGlobalWorkerQueue>();
}
case 118: {
case 119: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnMethodFuturetesterCompleteFutures>();
}
case 120: {
case 121: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnMethodFuturetesterWakeFutures>();
}
case 121: {
case 122: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnConstructorFuturetesterInit>();
}
case 122: {
case 123: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnMethodRusttaskRun>();
}
case 123: {
case 124: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnMethodTravellerName>();
}
case 124: {
case 125: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnConstructorTravellerNew>();
}
case 125: {
case 126: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnMethodWorkerqueueAddTask>();
}
case 126: {
case 127: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiGeometryFnFuncGradient>();
}
case 127: {
case 128: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiGeometryFnFuncIntersection>();
}
case 128: {
case 129: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureRefcountsFnFuncGetJsRefcount>();
}
case 129: {
case 130: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureRefcountsFnFuncGetSingleton>();
}
case 130: {
case 131: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureRefcountsFnMethodSingletonobjectMethod>();
}
case 131: {
case 132: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnFuncCopieCarte>();
}
case 132: {
case 133: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnFuncCopieDictionnaire>();
}
case 133: {
case 134: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnFuncCopieEnumeration>();
}
case 134: {
case 135: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnFuncCopieEnumerations>();
}
case 135: {
case 136: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnFuncSwitcheroo>();
}
case 136: {
case 137: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonBoolean>();
}
case 137: {
case 138: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonEnum>();
}
case 138: {
case 139: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonF32>();
}
case 139: {
case 140: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonF64>();
}
case 140: {
case 141: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonI16Dec>();
}
case 141: {
case 142: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonI16Hex>();
}
case 142: {
case 143: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonI32Dec>();
}
case 143: {
case 144: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonI32Hex>();
}
case 144: {
case 145: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonI64Dec>();
}
case 145: {
case 146: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonI64Hex>();
}
case 146: {
case 147: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonI8Dec>();
}
case 147: {
case 148: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonI8Hex>();
}
case 148: {
case 149: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonNull>();
}
case 149: {
case 150: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonSequence>();
}
case 150: {
case 151: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonString>();
}
case 151: {
case 152: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonU16Dec>();
}
case 152: {
case 153: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonU16Hex>();
}
case 153: {
case 154: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonU32Dec>();
}
case 154: {
case 155: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonU32Hex>();
}
case 155: {
case 156: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonU32Oct>();
}
case 156: {
case 157: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonU64Dec>();
}
case 157: {
case 158: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonU64Hex>();
}
case 158: {
case 159: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonU8Dec>();
}
case 159: {
case 160: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonU8Hex>();
}
case 160: {
case 161: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodOptionneurSinonZero>();
}
case 161: {
case 162: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnConstructorOptionneurNew>();
}
case 162: {
case 163: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueBoolean>();
}
case 163: {
case 164: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueDouble>();
}
case 164: {
case 165: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueFloat>();
}
case 165: {
case 166: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueI16>();
}
case 166: {
case 167: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueI32>();
}
case 167: {
case 168: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueI64>();
}
case 168: {
case 169: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueI8>();
}
case 169: {
case 170: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueNombres>();
}
case 170: {
case 171: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueNombresSignes>();
}
case 171: {
case 172: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueOptionneurDictionnaire>();
}
case 172: {
case 173: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueString>();
}
case 173: {
case 174: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueU16>();
}
case 174: {
case 175: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueU32>();
}
case 175: {
case 176: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueU64>();
}
case 176: {
case 177: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodRetourneurIdentiqueU8>();
}
case 177: {
case 178: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnConstructorRetourneurNew>();
}
case 178: {
case 179: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringBoolean>();
}
case 179: {
case 180: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringDouble>();
}
case 180: {
case 181: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringFloat>();
}
case 181: {
case 182: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringI16>();
}
case 182: {
case 183: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringI32>();
}
case 183: {
case 184: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringI64>();
}
case 184: {
case 185: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringI8>();
}
case 185: {
case 186: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringU16>();
}
case 186: {
case 187: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringU32>();
}
case 187: {
case 188: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringU64>();
}
case 188: {
case 189: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierToStringU8>();
}
case 189: {
case 190: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnMethodStringifierWellKnownString>();
}
case 190: {
case 191: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiRondpointFnConstructorStringifierNew>();
}
case 191: {
case 192: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiSpritesFnFuncTranslate>();
}
case 192: {
case 193: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiSpritesFnMethodSpriteGetPosition>();
}
case 193: {
case 194: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiSpritesFnMethodSpriteMoveBy>();
}
case 194: {
case 195: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiSpritesFnMethodSpriteMoveTo>();
}
case 195: {
case 196: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiSpritesFnConstructorSpriteNew>();
}
case 196: {
case 197: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiSpritesFnConstructorSpriteNewRelativeTo>();
}
case 197: {
case 198: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnFuncCreateEntryWith>();
}
case 198: {
case 199: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnFuncGetDefaultList>();
}
case 199: {
case 200: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnFuncSetDefaultList>();
}
case 200: {
case 201: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistAddEntries>();
}
case 201: {
case 202: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistAddEntry>();
}
case 202: {
case 203: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistAddItem>();
}
case 203: {
case 204: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistAddItems>();
}
case 204: {
case 205: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistClearItem>();
}
case 205: {
case 206: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistGetEntries>();
}
case 206: {
case 207: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistGetFirst>();
}
case 207: {
case 208: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistGetItems>();
}
case 208: {
case 209: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistGetLast>();
}
case 209: {
case 210: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistGetLastEntry>();
}
case 210: {
case 211: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnMethodTodolistMakeDefault>();
}
case 211: {
case 212: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTodolistFnConstructorTodolistNew>();
}
case 212: {
case 213: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTraitInterfacesFnFuncMakeBuggyCalculator>();
}
case 213: {
case 214: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTraitInterfacesFnFuncMakeCalculator>();
}
case 214: {
case 215: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiTraitInterfacesFnMethodCalcAdd>();
}
#endif /* MOZ_UNIFFI_FIXTURES */
@@ -10510,52 +10540,52 @@ UniquePtr<UniffiAsyncCallHandler> GetAsyncCallHandler(uint64_t aId) {
#ifdef MOZ_UNIFFI_FIXTURES
case 101: {
case 102: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncExpensiveComputation>();
}
case 104: {
case 105: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripF32>();
}
case 105: {
case 106: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripF64>();
}
case 106: {
case 107: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripI16>();
}
case 107: {
case 108: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripI32>();
}
case 108: {
case 109: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripI64>();
}
case 109: {
case 110: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripI8>();
}
case 110: {
case 111: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripMap>();
}
case 111: {
case 112: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripObj>();
}
case 112: {
case 113: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripString>();
}
case 113: {
case 114: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripU16>();
}
case 114: {
case 115: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripU32>();
}
case 115: {
case 116: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripU64>();
}
case 116: {
case 117: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripU8>();
}
case 117: {
case 118: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnFuncRoundtripVec>();
}
case 119: {
case 120: {
return MakeUnique<ScaffoldingCallHandlerUniffiUniffiFixtureFuturesFnMethodFuturetesterMakeFuture>();
}
#endif /* MOZ_UNIFFI_FIXTURES */