|
1111 | 1111 | * ⛔ A HUNK MAY BEGIN INSIDE A COMMENT, and the flag above must not read that |
1112 | 1112 | * as a guess. The walk starts at the hunk's own first line with no comment |
1113 | 1113 | * state, so a doc comment opened above the hunk has its body read as code — and |
1114 | | - * the ` */` that ends it was being taken for a bare slash. Measured on the same |
| 1114 | + * the ` *\/` that ends it was being taken for a bare slash. Measured on the same |
1115 | 1115 | * 250-diff corpus: 21 of the 88 readable T1 stacks went unreadable that way, |
1116 | | - * 21 of 21 raised by ` */`, across 7 diffs — and one of them is an honest |
| 1116 | + * 21 of 21 raised by ` *\/`, across 7 diffs — and one of them is an honest |
1117 | 1117 | * #18234 narrowing this file had ALREADY landed a decline for, turned back into |
1118 | | - * a tell. ⇒ a `*/` outside a block comment, on a walk that has opened none of |
| 1118 | + * a tell. ⇒ a `*\/` outside a block comment, on a walk that has opened none of |
1119 | 1119 | * its own and raised no flag, is read as what it unambiguously is: the hunk |
1120 | 1120 | * began inside a comment. The frames the comment text pushed are discarded and |
1121 | 1121 | * the walk restarts after it. ⭐ No regex lexer, and no heuristic: outside a |
1122 | | - * string and outside a comment, `*/` is not valid TypeScript. |
| 1122 | + * string and outside a comment, `*\/` is not valid TypeScript. |
1123 | 1123 | * |
1124 | 1124 | * ⭐ The same measurement is why a LONE `/` no longer raises the flag either. A |
1125 | 1125 | * regex literal cannot span lines, so a `/` with no second `/` left on its line |
|
1187 | 1187 | * removed key's place and keeps telling. The place is a textual agreement |
1188 | 1188 | * between two CONTEXT lines, ⛔ never a resolved path. |
1189 | 1189 | * • a hunk whose walk had to guess — a regex literal carrying a bracket, a |
1190 | | - * type-blind pop, an unterminated string, an unexplained `*/` — certifies |
| 1190 | + * type-blind pop, an unterminated string, an unexplained `*\/` — certifies |
1191 | 1191 | * nothing from that byte on, and every member after it fires. ⛔ A division |
1192 | | - * and the ` */` of a hunk that began inside a comment are NOT that: both |
| 1192 | + * and the ` *\/` of a hunk that began inside a comment are NOT that: both |
1193 | 1193 | * are read, and both are pinned. |
1194 | 1194 | * • T2 is deliberately not extended, with its own overturn condition stated |
1195 | 1195 | * on {@link insideReplacedUniversalAcceptorBag}. |
@@ -2358,14 +2358,14 @@ function topLevelMembers(s, open, close) { |
2358 | 2358 | * and division pushes and pops nothing. |
2359 | 2359 | * • a closer whose type does not match the opener it popped. |
2360 | 2360 | * • a string literal that never closes on its line. |
2361 | | - * • a `*/` this walk cannot explain — a second one, or one after the flag is |
2362 | | - * already up. ⛔ The FIRST `*/` on a clean walk is not a trigger at all: it |
| 2361 | + * • a `*\/` this walk cannot explain — a second one, or one after the flag is |
| 2362 | + * already up. ⛔ The FIRST `*\/` on a clean walk is not a trigger at all: it |
2363 | 2363 | * says the hunk began inside a comment (see the reset below). |
2364 | 2364 | * |
2365 | 2365 | * ⛔ Every reader that SUPPRESSES anything must refuse when the flag is set, and |
2366 | 2366 | * every trigger must be stated wherever this reading is described. A disclosure |
2367 | 2367 | * naming only the division operator — which raises nothing, and occurs zero |
2368 | | - * times on this tree's corpus — while ` */` fired on 24% of readable T1 stacks |
| 2368 | + * times on this tree's corpus — while ` *\/` fired on 24% of readable T1 stacks |
2369 | 2369 | * is how the first cut of this flag regressed a landed #18234 decline in the |
2370 | 2370 | * commonest hunk shape there is. |
2371 | 2371 | * |
|
0 commit comments