diff options
author | Moonchild <moonchild@palemoon.org> | 2020-11-27 15:47:49 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-11-27 15:47:49 +0000 |
commit | 15914ec5780e7867ab508a48a83311c56950f8a9 (patch) | |
tree | 80562c8ff9e25d119fde8725fa89d171ef20bb42 /js/src/jsscript.h | |
parent | b863bd2edc94c16498edc3274531f57fbfc30d3f (diff) | |
download | uxp-15914ec5780e7867ab508a48a83311c56950f8a9.tar.gz |
Issue #1691 - Part 1: Provide a way of associating a private value with a script
or module.
This is a prerequisite for dynamic import
Diffstat (limited to 'js/src/jsscript.h')
-rw-r--r-- | js/src/jsscript.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/js/src/jsscript.h b/js/src/jsscript.h index d8d28ebebe..fd5c96a16d 100644 --- a/js/src/jsscript.h +++ b/js/src/jsscript.h @@ -638,12 +638,22 @@ class ScriptSourceObject : public NativeObject return static_cast<JSScript*>(untyped); } + void setPrivate(const Value& value) { + setReservedSlot(PRIVATE_SLOT, value); + } + Value getPrivate() const { + return getReservedSlot(PRIVATE_SLOT); + } + private: - static const uint32_t SOURCE_SLOT = 0; - static const uint32_t ELEMENT_SLOT = 1; - static const uint32_t ELEMENT_PROPERTY_SLOT = 2; - static const uint32_t INTRODUCTION_SCRIPT_SLOT = 3; - static const uint32_t RESERVED_SLOTS = 4; + enum { + SOURCE_SLOT = 0, + ELEMENT_SLOT, + ELEMENT_PROPERTY_SLOT, + INTRODUCTION_SCRIPT_SLOT, + PRIVATE_SLOT, + RESERVED_SLOTS + }; }; enum GeneratorKind { NotGenerator, LegacyGenerator, StarGenerator }; |