Issue #1952 - m-c 1380962/1: Merge append calls when assembling the source string for native functions

This commit is contained in:
Martok 2022-07-01 12:27:03 +02:00 committed by roytam1
commit 70eee9b0df

View file

@ -990,7 +990,7 @@ js::FunctionToString(JSContext* cx, HandleFunction fun, bool prettyPrint)
// If we're not in pretty mode, put parentheses around lambda functions
// so that eval returns lambda, not function statement.
if (haveSource && !prettyPrint && funIsNonArrowLambda) {
if (!out.append("("))
if (!out.append('('))
return nullptr;
}
@ -1038,7 +1038,7 @@ js::FunctionToString(JSContext* cx, HandleFunction fun, bool prettyPrint)
return nullptr;
if (!prettyPrint && funIsNonArrowLambda) {
if (!out.append(")"))
if (!out.append(')'))
return nullptr;
}
} else if (fun->isInterpreted() &&
@ -1056,22 +1056,14 @@ js::FunctionToString(JSContext* cx, HandleFunction fun, bool prettyPrint)
!script->scriptSource()->sourceRetrievable() ||
fun->compartment()->behaviors().discardSource());
if (!AppendPrelude() ||
!out.append("() {\n ") ||
!out.append("[sourceless code]") ||
!out.append("\n}"))
!out.append("() {\n [sourceless code]\n}"))
{
return nullptr;
}
} else {
if (!AppendPrelude() ||
!out.append("() {\n "))
return nullptr;
if (!out.append("[native code]"))
return nullptr;
if (!out.append("\n}"))
!out.append("() {\n [native code]\n}"))
return nullptr;
}
return out.finishString();