summaryrefslogtreecommitdiffstats
path: root/js/src/builtin/ModuleObject.h
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-07-08 12:58:30 +0000
committerMoonchild <moonchild@palemoon.org>2020-08-30 09:33:06 +0000
commit498b1ab0c8db07784badbd2148f372027ef8cc27 (patch)
tree4b25652523fc84ca588671412b556195cef33d80 /js/src/builtin/ModuleObject.h
parent2f145b6eda95c08a76711f0393e4d9ebe13a5f92 (diff)
downloadUXP-498b1ab0c8db07784badbd2148f372027ef8cc27.tar
UXP-498b1ab0c8db07784badbd2148f372027ef8cc27.tar.gz
UXP-498b1ab0c8db07784badbd2148f372027ef8cc27.tar.lz
UXP-498b1ab0c8db07784badbd2148f372027ef8cc27.tar.xz
UXP-498b1ab0c8db07784badbd2148f372027ef8cc27.zip
Issue #618 - Align error handling for module scripts with the spec (again)
This updates module implementation to match spec regarding handling of instantiation errors, after it was changed yet again, this time to not remember instantiation errors, but instead immediately rethrow applicable ones. Ref: BZ 1420420
Diffstat (limited to 'js/src/builtin/ModuleObject.h')
-rw-r--r--js/src/builtin/ModuleObject.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/js/src/builtin/ModuleObject.h b/js/src/builtin/ModuleObject.h
index be0315215..5a809c865 100644
--- a/js/src/builtin/ModuleObject.h
+++ b/js/src/builtin/ModuleObject.h
@@ -107,8 +107,8 @@ class IndirectBindingMap
void trace(JSTracer* trc);
- bool putNew(JSContext* cx, HandleId name,
- HandleModuleEnvironmentObject environment, HandleId localName);
+ bool put(JSContext* cx, HandleId name,
+ HandleModuleEnvironmentObject environment, HandleId localName);
size_t count() const {
return map_.count();
@@ -218,7 +218,7 @@ class ModuleObject : public NativeObject
EnvironmentSlot,
NamespaceSlot,
StatusSlot,
- ErrorSlot,
+ EvaluationErrorSlot,
HostDefinedSlot,
RequestedModulesSlot,
ImportEntriesSlot,
@@ -238,8 +238,8 @@ class ModuleObject : public NativeObject
"EnvironmentSlot must match self-hosting define");
static_assert(StatusSlot == MODULE_OBJECT_STATUS_SLOT,
"StatusSlot must match self-hosting define");
- static_assert(ErrorSlot == MODULE_OBJECT_ERROR_SLOT,
- "ErrorSlot must match self-hosting define");
+ static_assert(EvaluationErrorSlot == MODULE_OBJECT_EVALUATION_ERROR_SLOT,
+ "EvaluationErrorSlot must match self-hosting define");
static_assert(DFSIndexSlot == MODULE_OBJECT_DFS_INDEX_SLOT,
"DFSIndexSlot must match self-hosting define");
static_assert(DFSAncestorIndexSlot == MODULE_OBJECT_DFS_ANCESTOR_INDEX_SLOT,
@@ -269,7 +269,8 @@ class ModuleObject : public NativeObject
ModuleEnvironmentObject* environment() const;
ModuleNamespaceObject* namespace_();
ModuleStatus status() const;
- Value error() const;
+ bool hadEvaluationError() const;
+ Value evaluationError() const;
Value hostDefinedField() const;
ArrayObject& requestedModules() const;
ArrayObject& importEntries() const;