From 6d55afe3ee35ad2bbf7a0e5634c3c0ffad9ba50e Mon Sep 17 00:00:00 2001 From: NikVolf Date: Tue, 9 Jan 2018 12:40:04 +0300 Subject: [PATCH] data builder doc effort --- src/builder/data.rs | 6 ++++++ src/builder/mod.rs | 1 + 2 files changed, 7 insertions(+) diff --git a/src/builder/data.rs b/src/builder/data.rs index 46398e5..39964fd 100644 --- a/src/builder/data.rs +++ b/src/builder/data.rs @@ -1,6 +1,7 @@ use super::invoke::{Identity, Invoke}; use elements; +/// Data segment builder pub struct DataSegmentBuilder { callback: F, // todo: add mapper once multiple memory refs possible @@ -10,12 +11,14 @@ pub struct DataSegmentBuilder { } impl DataSegmentBuilder { + /// New data segment builder pub fn new() -> Self { DataSegmentBuilder::with_callback(Identity) } } impl DataSegmentBuilder { + /// New data segment builder inside the chain context pub fn with_callback(callback: F) -> Self { DataSegmentBuilder { callback: callback, @@ -25,11 +28,13 @@ impl DataSegmentBuilder { } } + /// Set offset initialization opcode. `End` opcode will be added automatically. pub fn offset(mut self, opcode: elements::Opcode) -> Self { self.offset = elements::InitExpr::new(vec![opcode, elements::Opcode::End]); self } + /// Set the bytes value of the segment pub fn value(mut self, value: Vec) -> Self { self.value = value; self @@ -37,6 +42,7 @@ impl DataSegmentBuilder { } impl DataSegmentBuilder where F: Invoke { + /// Finish current builder, spawning resulting struct pub fn build(self) -> F::Result { self.callback.invoke( elements::DataSegment::new( diff --git a/src/builder/mod.rs b/src/builder/mod.rs index 6337da5..bb21864 100644 --- a/src/builder/mod.rs +++ b/src/builder/mod.rs @@ -22,3 +22,4 @@ pub use self::import::{import, ImportBuilder}; pub use self::invoke::Identity; pub use self::memory::MemoryBuilder; pub use self::module::{module, from_module, ModuleBuilder}; +pub use self::table::{TableBuilder, TableDefinition, TableEntryDefinition};