@samitouri / QOS-React-1 / commits / 0c6fe1ba35

Cleanup range printing

ghstack-source-id: 42c49348a93921fc03ec5defcf68a364952a3f88 Pull Request resolved: https://github.com/facebook/react-forget/pull/2829

Joe Savona committed Apr 8, 2024 at 17:31 UTC 0c6fe1ba359af3dc75732ab7debcb9bb53124943
1 file changed +14 -7
compiler/packages/babel-plugin-react-forget/src/HIR/PrintHIR.ts
+14 -7
@@ -633,15 +633,22 @@ function isMutable(range: MutableRange): boolean {
633 return range.end > range.start + 1;
634 }
635
636 +const DEBUG_MUTABLE_RANGES = false;
637 function printMutableRange(identifier: Identifier): string {
637 - const range = identifier.mutableRange;
638 - const scopeRange = identifier.scope?.range;
639 - if (
640 - scopeRange != null &&
641 - (scopeRange.start !== range.start || scopeRange.end !== range.end)
642 - ) {
643 - return `[${range.start}:${range.end}] scope=[${scopeRange.start}:${scopeRange.end}]`;
638 + if (DEBUG_MUTABLE_RANGES) {
639 + // if debugging, print both the identifier and scope range if they differ
640 + const range = identifier.mutableRange;
641 + const scopeRange = identifier.scope?.range;
642 + if (
643 + scopeRange != null &&
644 + (scopeRange.start !== range.start || scopeRange.end !== range.end)
645 + ) {
646 + return `[${range.start}:${range.end}] scope=[${scopeRange.start}:${scopeRange.end}]`;
647 + }
648 + return isMutable(range) ? `[${range.start}:${range.end}]` : "";
649 }
650 + // in non-debug mode, prefer the scope range if it exists
651 + const range = identifier.scope?.range ?? identifier.mutableRange;
652 return isMutable(range) ? `[${range.start}:${range.end}]` : "";
653 }
654