Shorten CreateReturnValue() in CFXJSE_Context. Use some temporary variables to improve code formatting. Change-Id: Ia7e1847a2f5a0d54ec9868761dc9b10db37c740c Reviewed-on: https://pdfium-review.googlesource.com/c/46854 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fxjs/cfxjse_context.cpp b/fxjs/cfxjse_context.cpp index 03778b0..04c3f49 100644 --- a/fxjs/cfxjse_context.cpp +++ b/fxjs/cfxjse_context.cpp
@@ -58,64 +58,53 @@ v8::Local<v8::Object> CreateReturnValue(v8::Isolate* pIsolate, v8::TryCatch& trycatch) { v8::Local<v8::Object> hReturnValue = v8::Object::New(pIsolate); - if (trycatch.HasCaught()) { - v8::Local<v8::Context> context = pIsolate->GetCurrentContext(); - v8::Local<v8::Value> hException = trycatch.Exception(); - v8::Local<v8::Message> hMessage = trycatch.Message(); - if (hException->IsObject()) { - v8::Local<v8::String> hNameStr = - v8::String::NewFromUtf8(pIsolate, "name", v8::NewStringType::kNormal) - .ToLocalChecked(); - v8::Local<v8::Value> hValue = - hException.As<v8::Object>()->Get(context, hNameStr).ToLocalChecked(); - if (hValue->IsString() || hValue->IsStringObject()) { - hReturnValue->Set(context, 0, hValue).FromJust(); - } else { - v8::Local<v8::String> hErrorStr = - v8::String::NewFromUtf8(pIsolate, "Error", - v8::NewStringType::kNormal) - .ToLocalChecked(); - hReturnValue->Set(context, 0, hErrorStr).FromJust(); - } + if (!trycatch.HasCaught()) + return hReturnValue; - v8::Local<v8::String> hMessageStr = - v8::String::NewFromUtf8(pIsolate, "message", - v8::NewStringType::kNormal) - .ToLocalChecked(); - hValue = hException.As<v8::Object>() - ->Get(context, hMessageStr) - .ToLocalChecked(); - if (hValue->IsString() || hValue->IsStringObject()) - hReturnValue->Set(context, 1, hValue).FromJust(); - else - hReturnValue->Set(context, 1, hMessage->Get()).FromJust(); + v8::Local<v8::Context> context = pIsolate->GetCurrentContext(); + v8::Local<v8::Value> hException = trycatch.Exception(); + v8::Local<v8::Message> hMessage = trycatch.Message(); + if (hException->IsObject()) { + v8::Local<v8::String> hNameStr = + v8::String::NewFromUtf8(pIsolate, "name", v8::NewStringType::kNormal) + .ToLocalChecked(); + v8::Local<v8::Value> hValue = + hException.As<v8::Object>()->Get(context, hNameStr).ToLocalChecked(); + if (hValue->IsString() || hValue->IsStringObject()) { + hReturnValue->Set(context, 0, hValue).FromJust(); } else { v8::Local<v8::String> hErrorStr = v8::String::NewFromUtf8(pIsolate, "Error", v8::NewStringType::kNormal) .ToLocalChecked(); hReturnValue->Set(context, 0, hErrorStr).FromJust(); - hReturnValue->Set(context, 1, hMessage->Get()).FromJust(); } - hReturnValue->Set(context, 2, hException).FromJust(); - hReturnValue - ->Set(context, 3, - v8::Integer::New(pIsolate, - hMessage->GetLineNumber(context).FromMaybe(0))) - .FromJust(); - hReturnValue - ->Set( - context, 4, - hMessage->GetSourceLine(context).FromMaybe(v8::Local<v8::String>())) - .FromJust(); - v8::Maybe<int32_t> maybe_int = hMessage->GetStartColumn(context); - hReturnValue - ->Set(context, 5, v8::Integer::New(pIsolate, maybe_int.FromMaybe(0))) - .FromJust(); - maybe_int = hMessage->GetEndColumn(context); - hReturnValue - ->Set(context, 6, v8::Integer::New(pIsolate, maybe_int.FromMaybe(0))) - .FromJust(); + + v8::Local<v8::String> hMessageStr = + v8::String::NewFromUtf8(pIsolate, "message", v8::NewStringType::kNormal) + .ToLocalChecked(); + hValue = + hException.As<v8::Object>()->Get(context, hMessageStr).ToLocalChecked(); + if (hValue->IsString() || hValue->IsStringObject()) + hReturnValue->Set(context, 1, hValue).FromJust(); + else + hReturnValue->Set(context, 1, hMessage->Get()).FromJust(); + } else { + v8::Local<v8::String> hErrorStr = + v8::String::NewFromUtf8(pIsolate, "Error", v8::NewStringType::kNormal) + .ToLocalChecked(); + hReturnValue->Set(context, 0, hErrorStr).FromJust(); + hReturnValue->Set(context, 1, hMessage->Get()).FromJust(); } + hReturnValue->Set(context, 2, hException).FromJust(); + int line = hMessage->GetLineNumber(context).FromMaybe(0); + hReturnValue->Set(context, 3, v8::Integer::New(pIsolate, line)).FromJust(); + v8::Local<v8::String> source = + hMessage->GetSourceLine(context).FromMaybe(v8::Local<v8::String>()); + hReturnValue->Set(context, 4, source).FromJust(); + int column = hMessage->GetStartColumn(context).FromMaybe(0); + hReturnValue->Set(context, 5, v8::Integer::New(pIsolate, column)).FromJust(); + column = hMessage->GetEndColumn(context).FromMaybe(0); + hReturnValue->Set(context, 6, v8::Integer::New(pIsolate, column)).FromJust(); return hReturnValue; }