Skip to content

Commit

Permalink
Built artifacts of 96453d7 [ci skip]
Browse files Browse the repository at this point in the history
  • Loading branch information
bendk committed May 6, 2024
1 parent 24c8f10 commit 620150f
Show file tree
Hide file tree
Showing 70 changed files with 329 additions and 168 deletions.
6 changes: 3 additions & 3 deletions internals/api/search-index.js

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions internals/api/src/uniffi_bindgen/interface/ffi.rs.html
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,12 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<a href="#388" id="388">388</a>
<a href="#389" id="389">389</a>
<a href="#390" id="390">390</a>
<a href="#391" id="391">391</a>
<a href="#392" id="392">392</a>
<a href="#393" id="393">393</a>
<a href="#394" id="394">394</a>
<a href="#395" id="395">395</a>
<a href="#396" id="396">396</a>
</pre></div><pre class="rust"><code><span class="comment">/* 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/. */
Expand Down Expand Up @@ -610,6 +616,12 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<span class="kw-2">&amp;</span><span class="self">self</span>.name
}

<span class="doccomment">/// Name of the FFI buffer version of this function that's generated when the
/// `scaffolding-ffi-buffer-fns` feature is enabled.
</span><span class="kw">pub fn </span>ffi_buffer_fn_name(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; String {
uniffi_meta::ffi_buffer_symbol_name(<span class="kw-2">&amp;</span><span class="self">self</span>.name)
}

<span class="kw">pub fn </span>is_async(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
<span class="self">self</span>.is_async
}
Expand Down
142 changes: 142 additions & 0 deletions internals/api/src/uniffi_macros/export/scaffolding.rs.html
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,77 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<a href="#302" id="302">302</a>
<a href="#303" id="303">303</a>
<a href="#304" id="304">304</a>
<a href="#305" id="305">305</a>
<a href="#306" id="306">306</a>
<a href="#307" id="307">307</a>
<a href="#308" id="308">308</a>
<a href="#309" id="309">309</a>
<a href="#310" id="310">310</a>
<a href="#311" id="311">311</a>
<a href="#312" id="312">312</a>
<a href="#313" id="313">313</a>
<a href="#314" id="314">314</a>
<a href="#315" id="315">315</a>
<a href="#316" id="316">316</a>
<a href="#317" id="317">317</a>
<a href="#318" id="318">318</a>
<a href="#319" id="319">319</a>
<a href="#320" id="320">320</a>
<a href="#321" id="321">321</a>
<a href="#322" id="322">322</a>
<a href="#323" id="323">323</a>
<a href="#324" id="324">324</a>
<a href="#325" id="325">325</a>
<a href="#326" id="326">326</a>
<a href="#327" id="327">327</a>
<a href="#328" id="328">328</a>
<a href="#329" id="329">329</a>
<a href="#330" id="330">330</a>
<a href="#331" id="331">331</a>
<a href="#332" id="332">332</a>
<a href="#333" id="333">333</a>
<a href="#334" id="334">334</a>
<a href="#335" id="335">335</a>
<a href="#336" id="336">336</a>
<a href="#337" id="337">337</a>
<a href="#338" id="338">338</a>
<a href="#339" id="339">339</a>
<a href="#340" id="340">340</a>
<a href="#341" id="341">341</a>
<a href="#342" id="342">342</a>
<a href="#343" id="343">343</a>
<a href="#344" id="344">344</a>
<a href="#345" id="345">345</a>
<a href="#346" id="346">346</a>
<a href="#347" id="347">347</a>
<a href="#348" id="348">348</a>
<a href="#349" id="349">349</a>
<a href="#350" id="350">350</a>
<a href="#351" id="351">351</a>
<a href="#352" id="352">352</a>
<a href="#353" id="353">353</a>
<a href="#354" id="354">354</a>
<a href="#355" id="355">355</a>
<a href="#356" id="356">356</a>
<a href="#357" id="357">357</a>
<a href="#358" id="358">358</a>
<a href="#359" id="359">359</a>
<a href="#360" id="360">360</a>
<a href="#361" id="361">361</a>
<a href="#362" id="362">362</a>
<a href="#363" id="363">363</a>
<a href="#364" id="364">364</a>
<a href="#365" id="365">365</a>
<a href="#366" id="366">366</a>
<a href="#367" id="367">367</a>
<a href="#368" id="368">368</a>
<a href="#369" id="369">369</a>
<a href="#370" id="370">370</a>
<a href="#371" id="371">371</a>
<a href="#372" id="372">372</a>
<a href="#373" id="373">373</a>
<a href="#374" id="374">374</a>
<a href="#375" id="375">375</a>
</pre></div><pre class="rust"><code><span class="comment">/* 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/. */
Expand Down Expand Up @@ -553,6 +624,8 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<span class="kw">let </span>handle_failed_lift = ffiops::lower_return_handle_failed_lift(return_ty);

<span class="prelude-val">Ok</span>(<span class="kw">if </span>!sig.is_async {
<span class="kw">let </span>scaffolding_fn_ffi_buffer_version =
ffi_buffer_scaffolding_fn(<span class="kw-2">&amp;</span>ffi_ident, <span class="kw-2">&amp;</span>ffi_return_ty, <span class="kw-2">&amp;</span>param_types, <span class="bool-val">true</span>);
<span class="macro">quote! </span>{
<span class="attr">#[doc(hidden)]
#[no_mangle]
Expand All @@ -574,12 +647,16 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
})
})
}

#scaffolding_fn_ffi_buffer_version
}
} <span class="kw">else </span>{
<span class="kw">let </span><span class="kw-2">mut </span>future_expr = rust_fn_call;
<span class="kw">if </span><span class="macro">matches!</span>(ar, <span class="prelude-val">Some</span>(AsyncRuntime::Tokio(<span class="kw">_</span>))) {
future_expr = <span class="macro">quote! </span>{ ::uniffi::deps::async_compat::Compat::new(#future_expr) }
}
<span class="kw">let </span>scaffolding_fn_ffi_buffer_version =
ffi_buffer_scaffolding_fn(<span class="kw-2">&amp;</span>ffi_ident, <span class="kw-2">&amp;</span><span class="macro">quote! </span>{ ::uniffi::Handle}, <span class="kw-2">&amp;</span>param_types, <span class="bool-val">false</span>);

<span class="macro">quote! </span>{
<span class="attr">#[doc(hidden)]
Expand All @@ -605,7 +682,72 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
},
}
}

#scaffolding_fn_ffi_buffer_version
}
})
}

<span class="attr">#[cfg(feature = <span class="string">"scaffolding-ffi-buffer-fns"</span>)]
</span><span class="kw">fn </span>ffi_buffer_scaffolding_fn(
fn_ident: <span class="kw-2">&amp;</span>Ident,
return_type: <span class="kw-2">&amp;</span>TokenStream,
param_types: <span class="kw-2">&amp;</span>[TokenStream],
has_rust_call_status: bool,
) -&gt; TokenStream {
<span class="kw">let </span>fn_name = fn_ident.to_string();
<span class="kw">let </span>ffi_buffer_fn_name = uniffi_meta::ffi_buffer_symbol_name(<span class="kw-2">&amp;</span>fn_name);
<span class="kw">let </span>ident = Ident::new(<span class="kw-2">&amp;</span>ffi_buffer_fn_name, proc_macro2::Span::call_site());
<span class="kw">let </span>type_list: Vec&lt;<span class="kw">_</span>&gt; = param_types.iter().map(|ty| <span class="macro">quote! </span>{ #ty }).collect();
<span class="kw">if </span>has_rust_call_status {
<span class="macro">quote! </span>{
<span class="attr">#[doc(hidden)]
#[no_mangle]
</span><span class="kw">pub unsafe extern </span><span class="string">"C" </span><span class="kw">fn </span>#ident(
arg_ptr: <span class="kw-2">*mut </span>::uniffi::FfiBufferElement,
return_ptr: <span class="kw-2">*mut </span>::uniffi::FfiBufferElement,
) {
<span class="kw">let </span><span class="kw-2">mut </span>arg_buf = <span class="kw">unsafe </span>{ ::std::slice::from_raw_parts(arg_ptr, <span class="macro">::uniffi::ffi_buffer_size!</span>(#(#type_list),<span class="kw-2">*</span>)) };
<span class="kw">let </span><span class="kw-2">mut </span>return_buf = <span class="kw">unsafe </span>{ ::std::slice::from_raw_parts_mut(return_ptr, <span class="macro">::uniffi::ffi_buffer_size!</span>(#return_type, ::uniffi::RustCallStatus)) };
<span class="kw">let </span><span class="kw-2">mut </span>out_status = ::uniffi::RustCallStatus::default();

<span class="kw">let </span>return_value = #fn_ident(
#(
&lt;#type_list <span class="kw">as </span>::uniffi::FfiSerialize&gt;::read(<span class="kw-2">&amp;mut </span>arg_buf),
)*
<span class="kw-2">&amp;mut </span>out_status,
);
&lt;#return_type <span class="kw">as </span>::uniffi::FfiSerialize&gt;::write(<span class="kw-2">&amp;mut </span>return_buf, return_value);
&lt;::uniffi::RustCallStatus <span class="kw">as </span>::uniffi::FfiSerialize&gt;::write(<span class="kw-2">&amp;mut </span>return_buf, out_status);
}
}
} <span class="kw">else </span>{
<span class="macro">quote! </span>{
<span class="attr">#[doc(hidden)]
#[no_mangle]
</span><span class="kw">pub unsafe extern </span><span class="string">"C" </span><span class="kw">fn </span>#ident(
arg_ptr: <span class="kw-2">*mut </span>::uniffi::FfiBufferElement,
return_ptr: <span class="kw-2">*mut </span>::uniffi::FfiBufferElement,
) {
<span class="kw">let </span><span class="kw-2">mut </span>arg_buf = <span class="kw">unsafe </span>{ ::std::slice::from_raw_parts(arg_ptr, <span class="macro">::uniffi::ffi_buffer_size!</span>(#(#type_list),<span class="kw-2">*</span>)) };
<span class="kw">let </span><span class="kw-2">mut </span>return_buf = <span class="kw">unsafe </span>{ ::std::slice::from_raw_parts_mut(return_ptr, <span class="macro">::uniffi::ffi_buffer_size!</span>(#return_type)) };

<span class="kw">let </span>return_value = #fn_ident(#(
&lt;#type_list <span class="kw">as </span>::uniffi::FfiSerialize&gt;::read(<span class="kw-2">&amp;mut </span>arg_buf),
)<span class="kw-2">*</span>);
&lt;#return_type <span class="kw">as </span>::uniffi::FfiSerialize&gt;::put(<span class="kw-2">&amp;mut </span>return_buf, return_value);
}
}
}
}

<span class="attr">#[cfg(not(feature = <span class="string">"scaffolding-ffi-buffer-fns"</span>))]
</span><span class="kw">fn </span>ffi_buffer_scaffolding_fn(
_fn_ident: <span class="kw-2">&amp;</span>Ident,
_return_type: <span class="kw-2">&amp;</span>TokenStream,
_param_types: <span class="kw-2">&amp;</span>[TokenStream],
_add_rust_call_status: bool,
) -&gt; TokenStream {
<span class="macro">quote! </span>{}
}
</code></pre></div></section></main></body></html>
2 changes: 0 additions & 2 deletions internals/api/src/uniffi_macros/util.rs.html
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,6 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<a href="#303" id="303">303</a>
<a href="#304" id="304">304</a>
<a href="#305" id="305">305</a>
<a href="#306" id="306">306</a>
</pre></div><pre class="rust"><code><span class="comment">/* 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/. */
Expand Down Expand Up @@ -419,7 +418,6 @@ <h2>Files</h2></div></nav><div class="sidebar-resizer"></div>
<span class="kw">let </span>const_ident =
<span class="macro">format_ident!</span>(<span class="string">"UNIFFI_META_CONST_{crate_name_upper}_{kind_upper}_{name_upper}"</span>);
<span class="kw">let </span>static_ident = <span class="macro">format_ident!</span>(<span class="string">"UNIFFI_META_{crate_name_upper}_{kind_upper}_{name_upper}"</span>);

<span class="kw">let </span>checksum_fn = checksum_fn_name.map(|name| {
<span class="kw">let </span>ident = Ident::new(<span class="kw-2">&amp;</span>name, Span::call_site());
<span class="macro">quote! </span>{
Expand Down
2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.f32.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.f64.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.i16.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.i32.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.i64.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.i8.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.u16.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.u32.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.u64.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internals/api/type.impl/std/primitive.u8.js

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading

0 comments on commit 620150f

Please sign in to comment.