summaryrefslogtreecommitdiff
path: root/js/src/builtin/MapObject.h
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2022-06-07 20:20:19 -0500
committerMatt A. Tobin <email@mattatobin.com>2022-06-07 20:20:19 -0500
commit878ab758d5d4c1ef7badf2bc20ebc7c67dc2165b (patch)
tree3683d6df35e3618c0e7b456de7c749ca4c8c21a6 /js/src/builtin/MapObject.h
parenta621951327b0c19c0c24dfd9fd973f7bd13ae68f (diff)
parentcfb9884423faf741de03c5fcc72bf9ac8c6ada4d (diff)
downloadaura-central-878ab758d5d4c1ef7badf2bc20ebc7c67dc2165b.tar.gz
Merge branch 'TRUNK' into ARE-5.0
Diffstat (limited to 'js/src/builtin/MapObject.h')
-rw-r--r--js/src/builtin/MapObject.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/js/src/builtin/MapObject.h b/js/src/builtin/MapObject.h
index 5382adfd2..a9f685ea0 100644
--- a/js/src/builtin/MapObject.h
+++ b/js/src/builtin/MapObject.h
@@ -52,14 +52,22 @@ class HashableValue
}
};
-template <>
-class RootedBase<HashableValue> {
+template <typename Wrapper>
+class WrappedPtrOperations<HashableValue, Wrapper>
+{
public:
- MOZ_MUST_USE bool setValue(JSContext* cx, HandleValue v) {
- return static_cast<JS::Rooted<HashableValue>*>(this)->get().setValue(cx, v);
- }
Value value() const {
- return static_cast<const JS::Rooted<HashableValue>*>(this)->get().get();
+ return static_cast<const Wrapper*>(this)->get().get();
+ }
+};
+
+template <typename Wrapper>
+class MutableWrappedPtrOperations<HashableValue, Wrapper>
+ : public WrappedPtrOperations<HashableValue, Wrapper>
+{
+ public:
+ MOZ_MUST_USE bool setValue(JSContext* cx, HandleValue v) {
+ return static_cast<Wrapper*>(this)->get().setValue(cx, v);
}
};