mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-01 05:48:26 +00:00
Make various returns in jsopcode.cpp properly return NULL rather than false. Followup to bug 692274, r=themaid
This commit is contained in:
parent
afbe1e8534
commit
4f79e0b92f
@ -3348,11 +3348,11 @@ Decompile(SprintStack *ss, jsbytecode *pc, intN nb)
|
|||||||
*/
|
*/
|
||||||
Vector<const char *> rhsExprs(cx);
|
Vector<const char *> rhsExprs(cx);
|
||||||
if (!rhsExprs.resize(atoms.length()))
|
if (!rhsExprs.resize(atoms.length()))
|
||||||
return false;
|
return NULL;
|
||||||
for (size_t i = 0; i < rhsExprs.length(); ++i) {
|
for (size_t i = 0; i < rhsExprs.length(); ++i) {
|
||||||
rhsExprs[i] = GetStr(ss, letDepth + i);
|
rhsExprs[i] = GetStr(ss, letDepth + i);
|
||||||
if (!rhsExprs[i])
|
if (!rhsExprs[i])
|
||||||
return false;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Build the let head starting at headBegin. */
|
/* Build the let head starting at headBegin. */
|
||||||
@ -3364,15 +3364,15 @@ Decompile(SprintStack *ss, jsbytecode *pc, intN nb)
|
|||||||
*/
|
*/
|
||||||
if (groupAssign) {
|
if (groupAssign) {
|
||||||
if (Sprint(&ss->sprinter, "[") < 0)
|
if (Sprint(&ss->sprinter, "[") < 0)
|
||||||
return false;
|
return NULL;
|
||||||
for (size_t i = 0; i < atoms.length(); ++i) {
|
for (size_t i = 0; i < atoms.length(); ++i) {
|
||||||
if (i && Sprint(&ss->sprinter, ", ") < 0)
|
if (i && Sprint(&ss->sprinter, ", ") < 0)
|
||||||
return false;
|
return NULL;
|
||||||
if (!QuoteString(&ss->sprinter, atoms[i], 0))
|
if (!QuoteString(&ss->sprinter, atoms[i], 0))
|
||||||
return false;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (Sprint(&ss->sprinter, "] = [") < 0)
|
if (Sprint(&ss->sprinter, "] = [") < 0)
|
||||||
return false;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (size_t i = 0; i < atoms.length(); ++i) {
|
for (size_t i = 0; i < atoms.length(); ++i) {
|
||||||
@ -3381,31 +3381,31 @@ Decompile(SprintStack *ss, jsbytecode *pc, intN nb)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (i && Sprint(&ss->sprinter, ", ") < 0)
|
if (i && Sprint(&ss->sprinter, ", ") < 0)
|
||||||
return false;
|
return NULL;
|
||||||
|
|
||||||
if (groupAssign) {
|
if (groupAssign) {
|
||||||
if (SprintCString(&ss->sprinter, rhs) < 0)
|
if (SprintCString(&ss->sprinter, rhs) < 0)
|
||||||
return false;
|
return NULL;
|
||||||
} else if (!strncmp(rhs, DestructuredString, DestructuredStringLength)) {
|
} else if (!strncmp(rhs, DestructuredString, DestructuredStringLength)) {
|
||||||
if (SprintCString(&ss->sprinter, rhs + DestructuredStringLength) < 0)
|
if (SprintCString(&ss->sprinter, rhs + DestructuredStringLength) < 0)
|
||||||
return false;
|
return NULL;
|
||||||
} else {
|
} else {
|
||||||
JS_ASSERT(atoms[i] != cx->runtime->atomState.emptyAtom);
|
JS_ASSERT(atoms[i] != cx->runtime->atomState.emptyAtom);
|
||||||
if (!QuoteString(&ss->sprinter, atoms[i], 0))
|
if (!QuoteString(&ss->sprinter, atoms[i], 0))
|
||||||
return false;
|
return NULL;
|
||||||
if (*rhs) {
|
if (*rhs) {
|
||||||
uint8_t prec = js_CodeSpec[ss->opcodes[letDepth + i]].prec;
|
uint8_t prec = js_CodeSpec[ss->opcodes[letDepth + i]].prec;
|
||||||
const char *fmt = prec && prec < js_CodeSpec[JSOP_SETLOCAL].prec
|
const char *fmt = prec && prec < js_CodeSpec[JSOP_SETLOCAL].prec
|
||||||
? " = (%s)"
|
? " = (%s)"
|
||||||
: " = %s";
|
: " = %s";
|
||||||
if (Sprint(&ss->sprinter, fmt, rhs) < 0)
|
if (Sprint(&ss->sprinter, fmt, rhs) < 0)
|
||||||
return false;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupAssign && Sprint(&ss->sprinter, "]") < 0)
|
if (groupAssign && Sprint(&ss->sprinter, "]") < 0)
|
||||||
return false;
|
return NULL;
|
||||||
|
|
||||||
/* Clone the let head chars before clobbering the stack. */
|
/* Clone the let head chars before clobbering the stack. */
|
||||||
DupBuffer head(cx);
|
DupBuffer head(cx);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user