Cleanup range printing

ghstack-source-id: 42c49348a93921fc03ec5defcf68a364952a3f88
Pull Request resolved: https://github.com/facebook/react-forget/pull/2829
This commit is contained in:
Joe Savona
2024-04-08 17:31:35 -07:00
parent f707cb5ff3
commit 0c6fe1ba35
@@ -633,15 +633,22 @@ function isMutable(range: MutableRange): boolean {
return range.end > range.start + 1;
}
const DEBUG_MUTABLE_RANGES = false;
function printMutableRange(identifier: Identifier): string {
const range = identifier.mutableRange;
const scopeRange = identifier.scope?.range;
if (
scopeRange != null &&
(scopeRange.start !== range.start || scopeRange.end !== range.end)
) {
return `[${range.start}:${range.end}] scope=[${scopeRange.start}:${scopeRange.end}]`;
if (DEBUG_MUTABLE_RANGES) {
// if debugging, print both the identifier and scope range if they differ
const range = identifier.mutableRange;
const scopeRange = identifier.scope?.range;
if (
scopeRange != null &&
(scopeRange.start !== range.start || scopeRange.end !== range.end)
) {
return `[${range.start}:${range.end}] scope=[${scopeRange.start}:${scopeRange.end}]`;
}
return isMutable(range) ? `[${range.start}:${range.end}]` : "";
}
// in non-debug mode, prefer the scope range if it exists
const range = identifier.scope?.range ?? identifier.mutableRange;
return isMutable(range) ? `[${range.start}:${range.end}]` : "";
}