Migrated internal samples to new Context API

This commit is contained in:
ptitSeb
2022-06-30 15:37:39 +02:00
committed by Manos Pitsidianakis
parent 267a09ce8e
commit d12759f150
12 changed files with 156 additions and 96 deletions

View File

@@ -42,9 +42,11 @@ impl Memory {
///
/// ```
/// # use wasmer::{Memory, MemoryType, Pages, Store, Type, Value};
/// # use wasmer::Context as WasmerContext;
/// # let store = Store::default();
/// # let mut ctx = WasmerContext::new(&store, ());
/// #
/// let m = Memory::new(&store, MemoryType::new(1, None, false)).unwrap();
/// let m = Memory::new(&mut ctx, MemoryType::new(1, None, false)).unwrap();
/// ```
pub fn new(ctx: &mut impl AsContextMut, ty: MemoryType) -> Result<Self, MemoryError> {
let mut ctx = ctx.as_context_mut();
@@ -63,12 +65,14 @@ impl Memory {
///
/// ```
/// # use wasmer::{Memory, MemoryType, Pages, Store, Type, Value};
/// # use wasmer::Context as WasmerContext;
/// # let store = Store::default();
/// # let mut ctx = WasmerContext::new(&store, ());
/// #
/// let mt = MemoryType::new(1, None, false);
/// let m = Memory::new(&store, mt).unwrap();
/// let m = Memory::new(&mut ctx, mt).unwrap();
///
/// assert_eq!(m.ty(), mt);
/// assert_eq!(m.ty(&mut ctx), mt);
/// ```
pub fn ty(&self, ctx: &impl AsContextRef) -> MemoryType {
self.handle.get(ctx.as_context_ref().objects()).ty()
@@ -94,11 +98,13 @@ impl Memory {
///
/// ```
/// # use wasmer::{Memory, MemoryType, Pages, Store, Type, Value};
/// # use wasmer::Context as WasmerContext;
/// # let store = Store::default();
/// # let mut ctx = WasmerContext::new(&store, ());
/// #
/// let m = Memory::new(&store, MemoryType::new(1, None, false)).unwrap();
/// let m = Memory::new(&mut ctx, MemoryType::new(1, None, false)).unwrap();
///
/// assert_eq!(m.size(), Pages(1));
/// assert_eq!(m.size(&mut ctx), Pages(1));
/// ```
pub fn size(&self, ctx: &impl AsContextRef) -> Pages {
self.handle.get(ctx.as_context_ref().objects()).size()
@@ -111,13 +117,15 @@ impl Memory {
///
/// ```
/// # use wasmer::{Memory, MemoryType, Pages, Store, Type, Value, WASM_MAX_PAGES};
/// # use wasmer::Context as WasmerContext;
/// # let store = Store::default();
/// # let mut ctx = WasmerContext::new(&store, ());
/// #
/// let m = Memory::new(&store, MemoryType::new(1, Some(3), false)).unwrap();
/// let p = m.grow(2).unwrap();
/// let m = Memory::new(&mut ctx, MemoryType::new(1, Some(3), false)).unwrap();
/// let p = m.grow(&mut ctx, 2).unwrap();
///
/// assert_eq!(p, Pages(1));
/// assert_eq!(m.size(), Pages(3));
/// assert_eq!(m.size(&mut ctx), Pages(3));
/// ```
///
/// # Errors
@@ -127,12 +135,14 @@ impl Memory {
///
/// ```should_panic
/// # use wasmer::{Memory, MemoryType, Pages, Store, Type, Value, WASM_MAX_PAGES};
/// # use wasmer::Context as WasmerContext;
/// # let store = Store::default();
/// # let mut ctx = WasmerContext::new(&store, ());
/// #
/// let m = Memory::new(&store, MemoryType::new(1, Some(1), false)).unwrap();
/// let m = Memory::new(&mut ctx, MemoryType::new(1, Some(1), false)).unwrap();
///
/// // This results in an error: `MemoryError::CouldNotGrow`.
/// let s = m.grow(1).unwrap();
/// let s = m.grow(&mut ctx, 1).unwrap();
/// ```
pub fn grow<IntoPages>(
&self,