[debugger] Fail silently even harder

If parsing fails in ScopeIterator::TryParseAndRetrieveScopes, the
intention was to fail silently (see the TODO there). However,
closure_scope_ being nullptr caused us to fail less silently.

This alone is not enough for fixing chromium:1316811 but the other
fixes needed are sufficiently unrelated.

Bug: chromium:1316811
Change-Id: I4eb0f5a13fa4da5fd5dd7ff76a1aa1a6a8ee4c63
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3716477
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81300}
This commit is contained in:
Marja Hölttä 2022-06-21 14:41:42 +02:00 committed by V8 LUCI CQ
parent 0fe567e700
commit 05cf616675

View File

@ -650,7 +650,9 @@ bool ScopeIterator::SetVariableValue(Handle<String> name,
}
bool ScopeIterator::ClosureScopeHasThisReference() const {
return !closure_scope_->has_this_declaration() &&
// closure_scope_ can be nullptr if parsing failed. See the TODO in
// TryParseAndRetrieveScopes.
return closure_scope_ && !closure_scope_->has_this_declaration() &&
closure_scope_->HasThisReference();
}