diff --git a/mozjs-sys/src/jsimpls.rs b/mozjs-sys/src/jsimpls.rs index b8b1ea4360f..4f74d6ca4ca 100644 --- a/mozjs-sys/src/jsimpls.rs +++ b/mozjs-sys/src/jsimpls.rs @@ -5,6 +5,7 @@ use crate::jsapi::glue::JS_ForOfIteratorInit; use crate::jsapi::glue::JS_ForOfIteratorNext; use crate::jsapi::jsid; +use crate::jsapi::mozilla; use crate::jsapi::JSAutoRealm; use crate::jsapi::JSContext; use crate::jsapi::JSErrNum; @@ -22,7 +23,7 @@ use crate::jsgc::RootKind; use crate::jsid::VoidId; use crate::jsval::UndefinedValue; -use crate::jsapi::JS::{ObjectOpResult, ObjectOpResult_SpecialCodes}; +use std::marker::PhantomData; use std::ops::Deref; use std::ops::DerefMut; use std::os::raw::c_void; @@ -87,7 +88,7 @@ impl JS::Handle { pub unsafe fn from_marked_location(ptr: *const T) -> JS::Handle { JS::Handle { ptr: ptr as *mut T, - _phantom_0: ::std::marker::PhantomData, + _phantom_0: PhantomData, } } } @@ -96,7 +97,7 @@ impl JS::MutableHandle { pub unsafe fn from_marked_location(ptr: *mut T) -> JS::MutableHandle { JS::MutableHandle { ptr, - _phantom_0: ::std::marker::PhantomData, + _phantom_0: PhantomData, } } @@ -379,9 +380,9 @@ impl JSNativeWrapper { impl JS::Rooted { pub fn new_unrooted() -> JS::Rooted { JS::Rooted { - stack: ::std::ptr::null_mut(), - prev: ::std::ptr::null_mut(), - ptr: unsafe { ::std::mem::zeroed() }, + stack: ptr::null_mut(), + prev: ptr::null_mut(), + ptr: unsafe { std::mem::zeroed() }, } } @@ -523,10 +524,10 @@ impl JS::ObjectOpResult { } } -impl Default for ObjectOpResult { - fn default() -> ObjectOpResult { - ObjectOpResult { - code_: ObjectOpResult_SpecialCodes::Uninitialized as usize, +impl Default for JS::ObjectOpResult { + fn default() -> JS::ObjectOpResult { + JS::ObjectOpResult { + code_: JS::ObjectOpResult_SpecialCodes::Uninitialized as usize, } } } @@ -544,3 +545,27 @@ impl JS::ForOfIterator { JS_ForOfIteratorNext(self, val, done) } } + +impl mozilla::Range { + pub fn new(start: &mut T, end: &mut T) -> mozilla::Range { + mozilla::Range { + mStart: mozilla::RangedPtr { + mPtr: start, + #[cfg(feature = "debugmozjs")] + mRangeStart: start, + #[cfg(feature = "debugmozjs")] + mRangeEnd: end, + _phantom_0: PhantomData, + }, + mEnd: mozilla::RangedPtr { + mPtr: end, + #[cfg(feature = "debugmozjs")] + mRangeStart: start, + #[cfg(feature = "debugmozjs")] + mRangeEnd: end, + _phantom_0: PhantomData, + }, + _phantom_0: PhantomData, + } + } +}