use crate::{
component::{AllCallFunc, Component, ComponentTypes, TrampolineIndex, TypeComponentIndex},
CompiledModuleInfo, FunctionLoc, PrimaryMap, StaticModuleIndex,
};
use serde_derive::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
pub struct ComponentArtifacts {
pub ty: TypeComponentIndex,
pub info: CompiledComponentInfo,
pub types: ComponentTypes,
pub static_modules: PrimaryMap<StaticModuleIndex, CompiledModuleInfo>,
}
#[derive(Serialize, Deserialize)]
pub struct CompiledComponentInfo {
pub component: Component,
pub trampolines: PrimaryMap<TrampolineIndex, AllCallFunc<FunctionLoc>>,
pub resource_drop_wasm_to_native_trampoline: Option<FunctionLoc>,
}