mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-11-01 20:17:33 +09:00
1283712 - Part 1: Add JSErrorBase, JSErrorNotes, JSErrorNotes::Note, and JSErrorReport.{notes,freeNotes}.
This commit is contained in:
parent
c92b219172
commit
c2bd1ca0bc
6 changed files with 401 additions and 69 deletions
|
|
@ -557,6 +557,18 @@ class MOZ_RAII AutoMessageArgs
|
|||
}
|
||||
};
|
||||
|
||||
static void
|
||||
SetExnType(JSErrorReport* reportp, int16_t exnType)
|
||||
{
|
||||
reportp->exnType = exnType;
|
||||
}
|
||||
|
||||
static void
|
||||
SetExnType(JSErrorNotes::Note* notep, int16_t exnType)
|
||||
{
|
||||
// Do nothing for JSErrorNotes::Note.
|
||||
}
|
||||
|
||||
/*
|
||||
* The arguments from ap need to be packaged up into an array and stored
|
||||
* into the report struct.
|
||||
|
|
@ -568,12 +580,13 @@ class MOZ_RAII AutoMessageArgs
|
|||
*
|
||||
* Returns true if the expansion succeeds (can fail if out of memory).
|
||||
*/
|
||||
template <typename T>
|
||||
bool
|
||||
js::ExpandErrorArgumentsVA(ExclusiveContext* cx, JSErrorCallback callback,
|
||||
ExpandErrorArgumentsHelper(ExclusiveContext* cx, JSErrorCallback callback,
|
||||
void* userRef, const unsigned errorNumber,
|
||||
const char16_t** messageArgs,
|
||||
ErrorArgumentsType argumentsType,
|
||||
JSErrorReport* reportp, va_list ap)
|
||||
T* reportp, va_list ap)
|
||||
{
|
||||
const JSErrorFormatString* efs;
|
||||
|
||||
|
|
@ -586,7 +599,7 @@ js::ExpandErrorArgumentsVA(ExclusiveContext* cx, JSErrorCallback callback,
|
|||
}
|
||||
|
||||
if (efs) {
|
||||
reportp->exnType = efs->exnType;
|
||||
SetExnType(reportp, efs->exnType);
|
||||
|
||||
MOZ_ASSERT_IF(argumentsType == ArgumentsAreASCII, JS::StringIsASCII(efs->format));
|
||||
|
||||
|
|
@ -669,6 +682,28 @@ js::ExpandErrorArgumentsVA(ExclusiveContext* cx, JSErrorCallback callback,
|
|||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
js::ExpandErrorArgumentsVA(ExclusiveContext* cx, JSErrorCallback callback,
|
||||
void* userRef, const unsigned errorNumber,
|
||||
const char16_t** messageArgs,
|
||||
ErrorArgumentsType argumentsType,
|
||||
JSErrorReport* reportp, va_list ap)
|
||||
{
|
||||
return ExpandErrorArgumentsHelper(cx, callback, userRef, errorNumber,
|
||||
messageArgs, argumentsType, reportp, ap);
|
||||
}
|
||||
|
||||
bool
|
||||
js::ExpandErrorArgumentsVA(JSContext* cx, JSErrorCallback callback,
|
||||
void* userRef, const unsigned errorNumber,
|
||||
const char16_t** messageArgs,
|
||||
ErrorArgumentsType argumentsType,
|
||||
JSErrorNotes::Note* notep, va_list ap)
|
||||
{
|
||||
return ExpandErrorArgumentsHelper(cx, callback, userRef, errorNumber,
|
||||
messageArgs, argumentsType, notep, ap);
|
||||
}
|
||||
|
||||
bool
|
||||
js::ReportErrorNumberVA(JSContext* cx, unsigned flags, JSErrorCallback callback,
|
||||
void* userRef, const unsigned errorNumber,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue