Bug 1847469 - Part 6: Use column number types in Module API. r=iain

Differential Revision: https://phabricator.services.mozilla.com/D185744
This commit is contained in:
Tooru Fujisawa
2023-08-16 10:26:28 +00:00
parent 2c94de7a66
commit e16c52b827
4 changed files with 17 additions and 14 deletions

View File

@@ -13,6 +13,7 @@
#include "js/Array.h" // JS::GetArrayLength
#include "js/CompilationAndEvaluation.h"
#include "js/ColumnNumber.h" // JS::ColumnNumberZeroOrigin
#include "js/ContextOptions.h" // JS::ContextOptionsRef
#include "js/ErrorReport.h" // JSErrorBase
#include "js/friend/ErrorMessages.h" // js::GetErrorMessage, JSMSG_*
@@ -222,7 +223,8 @@ JSString* ModuleLoaderBase::ImportMetaResolveImpl(
if (result.isErr()) {
JS::Rooted<JS::Value> error(aCx);
nsresult rv = loader->HandleResolveFailure(
aCx, script, specifier, result.unwrapErr(), 0, 0, &error);
aCx, script, specifier, result.unwrapErr(), 0,
JS::ColumnNumberZeroOrigin::zero(), &error);
if (NS_FAILED(rv)) {
JS_ReportOutOfMemory(aCx);
return nullptr;
@@ -317,7 +319,8 @@ bool ModuleLoaderBase::HostImportModuleDynamically(
if (result.isErr()) {
JS::Rooted<JS::Value> error(aCx);
nsresult rv = loader->HandleResolveFailure(
aCx, script, specifier, result.unwrapErr(), 0, 0, &error);
aCx, script, specifier, result.unwrapErr(), 0,
JS::ColumnNumberZeroOrigin::zero(), &error);
if (NS_FAILED(rv)) {
JS_ReportOutOfMemory(aCx);
return false;
@@ -699,7 +702,8 @@ nsresult ModuleLoaderBase::GetResolveFailureMessage(ResolveError aError,
nsresult ModuleLoaderBase::HandleResolveFailure(
JSContext* aCx, LoadedScript* aScript, const nsAString& aSpecifier,
ResolveError aError, uint32_t aLineNumber, uint32_t aColumnNumber,
ResolveError aError, uint32_t aLineNumber,
JS::ColumnNumberZeroOrigin aColumnNumber,
JS::MutableHandle<JS::Value> aErrorOut) {
JS::Rooted<JSString*> filename(aCx);
if (aScript) {
@@ -724,8 +728,8 @@ nsresult ModuleLoaderBase::HandleResolveFailure(
}
if (!JS::CreateError(aCx, JSEXN_TYPEERR, nullptr, filename, aLineNumber,
JSErrorBase::fromZeroOriginToOneOrigin(aColumnNumber),
nullptr, string, JS::NothingHandleValue, aErrorOut)) {
aColumnNumber.oneOriginValue(), nullptr, string,
JS::NothingHandleValue, aErrorOut)) {
return NS_ERROR_OUT_OF_MEMORY;
}
@@ -820,7 +824,7 @@ nsresult ModuleLoaderBase::ResolveRequestedModules(
auto result = loader->ResolveModuleSpecifier(ms, specifier);
if (result.isErr()) {
uint32_t lineNumber = 0;
uint32_t columnNumber = 0;
JS::ColumnNumberZeroOrigin columnNumber;
JS::GetRequestedModuleSourcePos(cx, moduleRecord, i, &lineNumber,
&columnNumber);