From 0c6fe1ba359af3dc75732ab7debcb9bb53124943 Mon Sep 17 00:00:00 2001 From: Joe Savona Date: Mon, 8 Apr 2024 17:31:35 -0700 Subject: [PATCH] Cleanup range printing ghstack-source-id: 42c49348a93921fc03ec5defcf68a364952a3f88 Pull Request resolved: https://github.com/facebook/react-forget/pull/2829 --- .../src/HIR/PrintHIR.ts | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/compiler/packages/babel-plugin-react-forget/src/HIR/PrintHIR.ts b/compiler/packages/babel-plugin-react-forget/src/HIR/PrintHIR.ts index a71485128a..2c96c1ae0e 100644 --- a/compiler/packages/babel-plugin-react-forget/src/HIR/PrintHIR.ts +++ b/compiler/packages/babel-plugin-react-forget/src/HIR/PrintHIR.ts @@ -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}]` : ""; }