summaryrefslogtreecommitdiff
path: root/chromium/v8/src/ast
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/ast')
-rw-r--r--chromium/v8/src/ast/ast.cc1
-rw-r--r--chromium/v8/src/ast/ast.h1
-rw-r--r--chromium/v8/src/ast/scopes.h8
3 files changed, 6 insertions, 4 deletions
diff --git a/chromium/v8/src/ast/ast.cc b/chromium/v8/src/ast/ast.cc
index 651508b677f..8cd1140154a 100644
--- a/chromium/v8/src/ast/ast.cc
+++ b/chromium/v8/src/ast/ast.cc
@@ -927,6 +927,7 @@ Call::CallType Call::GetCallType() const {
}
if (property != nullptr) {
if (property->IsPrivateReference()) {
+ if (is_optional_chain) return PRIVATE_OPTIONAL_CHAIN_CALL;
return PRIVATE_CALL;
}
bool is_super = property->IsSuperAccess();
diff --git a/chromium/v8/src/ast/ast.h b/chromium/v8/src/ast/ast.h
index 6fcf30499a5..dab3981c638 100644
--- a/chromium/v8/src/ast/ast.h
+++ b/chromium/v8/src/ast/ast.h
@@ -1630,6 +1630,7 @@ class Call final : public Expression {
NAMED_SUPER_PROPERTY_CALL,
KEYED_SUPER_PROPERTY_CALL,
PRIVATE_CALL,
+ PRIVATE_OPTIONAL_CHAIN_CALL,
SUPER_CALL,
OTHER_CALL,
};
diff --git a/chromium/v8/src/ast/scopes.h b/chromium/v8/src/ast/scopes.h
index 11f44bb4984..babb90bdd01 100644
--- a/chromium/v8/src/ast/scopes.h
+++ b/chromium/v8/src/ast/scopes.h
@@ -102,6 +102,10 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
}
inline explicit Snapshot(Scope* scope);
+ // Disallow copy and move.
+ Snapshot(const Snapshot&) = delete;
+ Snapshot(Snapshot&&) = delete;
+
~Snapshot() {
// If we're still active, there was no arrow function. In that case outer
// calls eval if it already called eval before this snapshot started, or
@@ -142,10 +146,6 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
Scope* top_inner_scope_;
UnresolvedList::Iterator top_unresolved_;
base::ThreadedList<Variable>::Iterator top_local_;
-
- // Disallow copy and move.
- Snapshot(const Snapshot&) = delete;
- Snapshot(Snapshot&&) = delete;
};
enum class DeserializationMode { kIncludingVariables, kScopesOnly };