1use sim_kernel::{Cx, Result, ShapeRef, TableRef};
2use sim_shape::Shape;
3
4pub use sim_shape::{
5 FunctionCase, FunctionObject, NativeFunctionImpl, SelectedCase, case_result_shape, case_shape,
6 function_cases, overload,
7};
8
9pub fn empty_member_table(cx: &mut Cx) -> Result<TableRef> {
11 cx.factory().table(Vec::new())
12}
13
14pub fn empty_shape_ref(cx: &mut Cx) -> Result<ShapeRef> {
16 cx.factory().nil()
17}
18
19pub fn function_case_shape(case: &FunctionCase) -> &dyn Shape {
21 case_shape(case)
22}
23
24pub fn function_case_result_shape(case: &FunctionCase) -> Option<&dyn Shape> {
26 case_result_shape(case)
27}