pub mod interface;
pub const PLUGIN_DEFAULT_MODULE: Module = Module::from_str("Default.Plugin");
pub const PLUGIN_DEFAULT_EMISSION: Emission = Emission::FileEmission(FileEmission::CustomModule(PLUGIN_DEFAULT_MODULE));
use crate::lang::{FunctionId, ServiceId};
use interoptopus::lang::meta::{Emission, FileEmission, Module};
#[derive(Debug, Clone)]
pub enum TrampolineKind {
Raw,
ServiceCtor { service_id: ServiceId },
ServiceMethod { service_id: ServiceId },
ServiceDestructor { service_id: ServiceId },
}
#[derive(Debug, Clone)]
pub struct TrampolineEntry {
pub fn_id: FunctionId,
pub kind: TrampolineKind,
}