From 2063694b07ebb8c9c1be338cef9f957543afdf27 Mon Sep 17 00:00:00 2001 From: Eugene Auduchinok Date: Fri, 22 Nov 2019 23:20:23 +0200 Subject: [PATCH] Don't try to print startupRange file contents in debug (#7898) --- src/fsharp/TcGlobals.fs | 2 +- src/fsharp/range.fs | 13 ++++++++++--- src/fsharp/range.fsi | 4 ++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/fsharp/TcGlobals.fs b/src/fsharp/TcGlobals.fs index 38b1e7d1d..339e8b4b7 100755 --- a/src/fsharp/TcGlobals.fs +++ b/src/fsharp/TcGlobals.fs @@ -26,7 +26,7 @@ open FSharp.Compiler.Features open Internal.Utilities -let internal DummyFileNameForRangesWithoutASpecificLocation = "startup" +let internal DummyFileNameForRangesWithoutASpecificLocation = startupFileName let private envRange = rangeN DummyFileNameForRangesWithoutASpecificLocation 0 /// Represents an intrinsic value from FSharp.Core known to the compiler diff --git a/src/fsharp/range.fs b/src/fsharp/range.fs index e9b44a639..2de5498d5 100755 --- a/src/fsharp/range.fs +++ b/src/fsharp/range.fs @@ -200,6 +200,10 @@ let fileOfFileIndex idx = fileIndexTable.IndexToFile idx let mkPos l c = pos (l, c) +let unknownFileName = "unknown" +let startupFileName = "startup" +let commandLineArgsFileName = "commandLineArgs" + [] #if DEBUG [ {DebugCode}")>] @@ -249,6 +253,9 @@ type range(code1:int64, code2: int64) = #if DEBUG member r.DebugCode = + let name = r.FileName + if name = unknownFileName || name = startupFileName || name = commandLineArgsFileName then name else + try let endCol = r.EndColumn - 1 let startCol = r.StartColumn - 1 @@ -323,11 +330,11 @@ let rangeN filename line = mkRange filename (mkPos line 0) (mkPos line 0) let pos0 = mkPos 1 0 -let range0 = rangeN "unknown" 1 +let range0 = rangeN unknownFileName 1 -let rangeStartup = rangeN "startup" 1 +let rangeStartup = rangeN startupFileName 1 -let rangeCmdArgs = rangeN "commandLineArgs" 0 +let rangeCmdArgs = rangeN commandLineArgsFileName 0 let trimRangeToLine (r:range) = let startL, startC = r.StartLine, r.StartColumn diff --git a/src/fsharp/range.fsi b/src/fsharp/range.fsi index 6bc7ddf5b..fdb63ec2a 100755 --- a/src/fsharp/range.fsi +++ b/src/fsharp/range.fsi @@ -44,6 +44,10 @@ val mkPos : line:int -> column:int -> pos /// Ordering on positions val posOrder : IComparer +val unknownFileName: string +val startupFileName: string +val commandLineArgsFileName: string + /// Represents a range within a known file [] type range = -- GitLab