From 7ffc59a08f79f738e3892a297dc4c142cc4d0f60 Mon Sep 17 00:00:00 2001 From: Redfire Date: Sat, 2 Dec 2023 12:16:47 +0800 Subject: [PATCH 1/2] Added Constructor for mozilla::Range --- mozjs-sys/src/jsimpls.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/mozjs-sys/src/jsimpls.rs b/mozjs-sys/src/jsimpls.rs index b8b1ea4360f..1388c41d431 100644 --- a/mozjs-sys/src/jsimpls.rs +++ b/mozjs-sys/src/jsimpls.rs @@ -18,6 +18,7 @@ use crate::jsapi::JSPropertySpec; use crate::jsapi::JSPropertySpec_Kind; use crate::jsapi::JSPropertySpec_Name; use crate::jsapi::JS; +use crate::jsapi::mozilla; use crate::jsgc::RootKind; use crate::jsid::VoidId; use crate::jsval::UndefinedValue; @@ -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, + } + } +} \ No newline at end of file From 6de852336ad5cce1551d33c415407b718297bc07 Mon Sep 17 00:00:00 2001 From: Redfire Date: Sat, 2 Dec 2023 12:26:41 +0800 Subject: [PATCH 2/2] Fixed Imports in jsimpls --- mozjs-sys/src/jsimpls.rs | 66 ++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/mozjs-sys/src/jsimpls.rs b/mozjs-sys/src/jsimpls.rs index 1388c41d431..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; @@ -18,12 +19,11 @@ use crate::jsapi::JSPropertySpec; use crate::jsapi::JSPropertySpec_Kind; use crate::jsapi::JSPropertySpec_Name; use crate::jsapi::JS; -use crate::jsapi::mozilla; 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; @@ -88,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, } } } @@ -97,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, } } @@ -380,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() }, } } @@ -524,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, } } } @@ -547,25 +547,25 @@ impl JS::ForOfIterator { } 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, - } - } -} \ No newline at end of file + 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, + } + } +}