GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — deps: V8: cherry-pick dfcdf7837e23 · nodejs/node@578fa0f

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
  • deps/v8
    • src/parsing
      • parser-base.h
    • test/mjsunit
      • code-coverage-block.js
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎deps/v8/src/parsing/parser-base.h‎

Copy file name to clipboardExpand all lines: deps/v8/src/parsing/parser-base.h
+9-6Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2983,12 +2983,15 @@ ParserBase<Impl>::ParseCoalesceExpression(ExpressionT expression) {
29832983
bool first_nullish = true;
29842984
while (peek() == Token::NULLISH) {
29852985
SourceRange right_range;
2986-
SourceRangeScope right_range_scope(scanner(), &right_range);
2987-
Consume(Token::NULLISH);
2988-
int pos = peek_position();
2989-
2990-
// Parse BitwiseOR or higher.
2991-
ExpressionT y = ParseBinaryExpression(6);
2986+
int pos;
2987+
ExpressionT y;
2988+
{
2989+
SourceRangeScope right_range_scope(scanner(), &right_range);
2990+
Consume(Token::NULLISH);
2991+
pos = peek_position();
2992+
// Parse BitwiseOR or higher.
2993+
y = ParseBinaryExpression(6);
2994+
}
29922995
if (first_nullish) {
29932996
expression =
29942997
factory()->NewBinaryOperation(Token::NULLISH, expression, y, pos);
Collapse file

‎deps/v8/test/mjsunit/code-coverage-block.js‎

Copy file name to clipboardExpand all lines: deps/v8/test/mjsunit/code-coverage-block.js
+18Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1177,4 +1177,22 @@ a(true); // 0500
11771177
{"start":0,"end":401,"count":2},
11781178
{"start":154,"end":254,"count":0}]);
11791179

1180+
TestCoverage(
1181+
"https://crbug.com/v8/11231 - nullish coalescing",
1182+
`
1183+
const a = true // 0000
1184+
const b = false // 0050
1185+
const c = undefined // 0100
1186+
const d = a ?? 99 // 0150
1187+
const e = 33 // 0200
1188+
const f = b ?? (c ?? 99) // 0250
1189+
const g = 33 // 0300
1190+
const h = c ?? (c ?? 'hello') // 0350
1191+
const i = c ?? b ?? 'hello' // 0400
1192+
`,
1193+
[{"start":0,"end":449,"count":1},
1194+
{"start":162,"end":167,"count":0},
1195+
{"start":262,"end":274,"count":0},
1196+
{"start":417,"end":427,"count":0}]);
1197+
11801198
%DebugToggleBlockCoverage(false);

0 commit comments

Comments
0 (0)
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.