use crate::instruction::Instruction;
use super::body;
mod entry;
mod inferred;
mod manifest;
mod util;
pub(super) struct MethodsContext<'a> {
pub(super) instructions: &'a [Instruction],
pub(super) inferred_method_starts: &'a [usize],
pub(super) body_context: body::LiftedBodyContext<'a>,
}
pub(super) fn write_manifest_methods(
output: &mut String,
manifest: &crate::manifest::ContractManifest,
context: &MethodsContext<'_>,
warnings: &mut Vec<String>,
) {
manifest::write_manifest_methods(output, manifest, context, warnings);
}
pub(super) fn write_inferred_methods(
output: &mut String,
context: &MethodsContext<'_>,
manifest: Option<&crate::manifest::ContractManifest>,
warnings: &mut Vec<String>,
) {
inferred::write_inferred_methods(output, context, manifest, warnings);
}
pub(super) fn write_fallback_entry(
output: &mut String,
context: &MethodsContext<'_>,
warnings: &mut Vec<String>,
) {
entry::write_fallback_entry(output, context, warnings);
}