From bd8cb4c910f199ba02f19566e2c701f3e64de325 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 26 Mar 2026 21:58:18 +0000 Subject: [PATCH 01/15] Initial plan From 8f0e2fcbc7451f43427d637cb2e6be963e17c699 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 15:10:16 +0000 Subject: [PATCH 02/15] Add warning FS3885 for let-in with multi-line body in sequence expressions Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/740bb677-5347-48ad-9001-278dfc1631e3 Co-authored-by: abonie <20281641+abonie@users.noreply.github.com> --- .../.FSharp.Compiler.Service/11.0.100.md | 1 + .../Checking/Expressions/CheckExpressions.fs | 10 +++ src/Compiler/FSComp.txt | 2 + src/Compiler/Facilities/LanguageFeatures.fs | 3 + src/Compiler/Facilities/LanguageFeatures.fsi | 1 + .../ErrorMessages/WarnExpressionTests.fs | 86 +++++++++++++++++++ 6 files changed, 103 insertions(+) diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md index 6cc50c2822e..4f5989f292a 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md +++ b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md @@ -45,3 +45,4 @@ * Improvements in error and warning messages: new error FS3885 when `let!`/`use!` is the final expression in a computation expression; new warning FS3886 when a list literal contains a single tuple element (likely missing `;` separator); improved wording for FS0003, FS0025, FS0039, FS0072, FS0247, FS0597, FS0670, FS3082, and SRTP operator-not-in-scope hints. ([PR #19398](https://github.com/dotnet/fsharp/pull/19398)) ### Breaking Changes +* Added warning FS3885 when `let ... in` with explicit `in` keyword is used in a sequence expression and the body extends to subsequent lines, causing unexpected scoping. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19526](https://github.com/dotnet/fsharp/pull/19526)) diff --git a/src/Compiler/Checking/Expressions/CheckExpressions.fs b/src/Compiler/Checking/Expressions/CheckExpressions.fs index f98bc32259f..3da2bbaffe5 100644 --- a/src/Compiler/Checking/Expressions/CheckExpressions.fs +++ b/src/Compiler/Checking/Expressions/CheckExpressions.fs @@ -6066,6 +6066,16 @@ and TcExprUndelayed (cenv: cenv) (overallTy: OverallTy) env tpenv (synExpr: SynE errorR(Error(FSComp.SR.tcConstructRequiresComputationExpression(), leadingKeyword.Range)) | _ -> () + // Warn when 'let ... in' has an explicit 'in' keyword and the body is a sequential expression + // spanning multiple lines. This indicates the user likely intended the 'let ... in' to scope only + // over the expression on the same line, but the parser greedily consumed subsequent lines as body. + match letOrUse with + | { Trivia = { InKeyword = Some inRange }; Body = SynExpr.Sequential(expr2 = expr2) } + when g.langVersion.SupportsFeature LanguageFeature.WarnOnLetInSequenceExpression + && expr2.Range.StartLine > inRange.StartLine -> + warning(Error(FSComp.SR.tcLetExpressionWithInHasMultiLineBody(), inRange)) + | _ -> () + TcLinearExprs (TcExprThatCanBeCtorBody cenv) cenv env overallTy tpenv false synExpr id | SynExpr.TryWith (synBodyExpr, synWithClauses, mTryToLast, spTry, spWith, trivia) -> diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index a42dee0d4e4..1d278feaf6f 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -1810,6 +1810,7 @@ featureWarnWhenFunctionValueUsedAsInterpolatedStringArg,"Warn when a function va featureMethodOverloadsCache,"Support for caching method overload resolution results for improved compilation performance." featureImplicitDIMCoverage,"Implicit dispatch slot coverage for default interface member implementations" featurePreprocessorElif,"#elif preprocessor directive" +featureWarnOnLetInSequenceExpression,"Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines" 3880,optsLangVersionOutOfSupport,"Language version '%s' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/%s" 3881,optsUnrecognizedLanguageFeature,"Unrecognized language feature name: '%s'. Use a valid feature name such as 'NameOf' or 'StringInterpolation'." 3882,lexHashElifMustBeFirst,"#elif directive must appear as the first non-whitespace character on a line" @@ -1817,3 +1818,4 @@ featurePreprocessorElif,"#elif preprocessor directive" 3884,tcFunctionValueUsedAsInterpolatedStringArg,"This expression is a function value. When used in an interpolated string it will be formatted using its 'ToString' method, which is likely not the intended behavior. Consider applying the function to its arguments." 3885,parsLetBangCannotBeLastInCE,"'%s' cannot be the final expression in a computation expression. Finish with 'return', 'return!', or a simple expression." 3886,tcListLiteralWithSingleTupleElement,"This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements?" +3887,tcLetExpressionWithInHasMultiLineBody,"The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope." diff --git a/src/Compiler/Facilities/LanguageFeatures.fs b/src/Compiler/Facilities/LanguageFeatures.fs index 1bc31837052..0cc80ce4541 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fs +++ b/src/Compiler/Facilities/LanguageFeatures.fs @@ -108,6 +108,7 @@ type LanguageFeature = | MethodOverloadsCache | ImplicitDIMCoverage | PreprocessorElif + | WarnOnLetInSequenceExpression /// LanguageVersion management type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array) = @@ -251,6 +252,7 @@ type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array) // Put stabilized features here for F# 11.0 previews via .NET SDK preview channels LanguageFeature.WarnWhenFunctionValueUsedAsInterpolatedStringArg, languageVersion110 LanguageFeature.PreprocessorElif, languageVersion110 + LanguageFeature.WarnOnLetInSequenceExpression, languageVersion110 // Difference between languageVersion110 and preview - 11.0 gets turned on automatically by picking a preview .NET 11 SDK // previewVersion is only when "preview" is specified explicitly in project files and users also need a preview SDK @@ -453,6 +455,7 @@ type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array) | LanguageFeature.MethodOverloadsCache -> FSComp.SR.featureMethodOverloadsCache () | LanguageFeature.ImplicitDIMCoverage -> FSComp.SR.featureImplicitDIMCoverage () | LanguageFeature.PreprocessorElif -> FSComp.SR.featurePreprocessorElif () + | LanguageFeature.WarnOnLetInSequenceExpression -> FSComp.SR.featureWarnOnLetInSequenceExpression () /// Get a version string associated with the given feature. static member GetFeatureVersionString feature = diff --git a/src/Compiler/Facilities/LanguageFeatures.fsi b/src/Compiler/Facilities/LanguageFeatures.fsi index fd6182c9d3e..1a247cda15e 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fsi +++ b/src/Compiler/Facilities/LanguageFeatures.fsi @@ -99,6 +99,7 @@ type LanguageFeature = | MethodOverloadsCache | ImplicitDIMCoverage | PreprocessorElif + | WarnOnLetInSequenceExpression /// LanguageVersion management type LanguageVersion = diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs index bc68eb4d7d9..973d62fdbfe 100644 --- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs @@ -293,3 +293,89 @@ extern bool Beep(int frequency, int duration) |> asLibrary |> typecheck |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/7091 + [] + let ``Warn when let-in has multi-line sequential body in do block``() = + FSharp """ +module Test +let x = 42 +do + let x = 1 in x + 1 + x + """ + |> withLangVersionPreview + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Warning 3885, Line 5, Col 15, Line 5, Col 17, + "The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope.") + (Warning 20, Line 5, Col 18, Line 5, Col 23, + "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") + (Warning 20, Line 5, Col 5, Line 6, Col 6, + "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") + ] + + // https://github.com/dotnet/fsharp/issues/7091 + [] + let ``No warning for single-line let-in``() = + FSharp """ +module Test +let result = let x = 1 in x + 1 + """ + |> withLangVersionPreview + |> typecheck + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/7091 + [] + let ``No warning for let without in keyword``() = + FSharp """ +module Test +let x = 42 +do + let x = 1 + printfn "%d" x + """ + |> withLangVersionPreview + |> typecheck + |> shouldSucceed + + // https://github.com/dotnet/fsharp/issues/7091 + [] + let ``No warning for let-in without langversion preview``() = + FSharp """ +module Test +let x = 42 +do + let x = 1 in x + 1 + x + """ + |> withLangVersion "9.0" + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Warning 20, Line 5, Col 18, Line 5, Col 23, + "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") + (Warning 20, Line 5, Col 5, Line 6, Col 6, + "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") + ] + + // https://github.com/dotnet/fsharp/issues/7091 + [] + let ``Warn when let-in extends scope in function body``() = + FSharp """ +module Test +let f () = + let x = 1 in x + 1 + printfn "hello" + """ + |> withLangVersionPreview + |> typecheck + |> shouldFail + |> withDiagnostics [ + (Warning 3885, Line 4, Col 15, Line 4, Col 17, + "The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope.") + (Warning 20, Line 4, Col 18, Line 4, Col 23, + "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") + ] From 0f8c53acfbf929bd61a89cc6c9ccaf279a2979d0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 15:18:33 +0000 Subject: [PATCH 03/15] Update release notes wording for FS3885 Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/740bb677-5347-48ad-9001-278dfc1631e3 Co-authored-by: abonie <20281641+abonie@users.noreply.github.com> --- docs/release-notes/.FSharp.Compiler.Service/11.0.100.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md index 4f5989f292a..4aa9d536ab7 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md +++ b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md @@ -46,3 +46,4 @@ ### Breaking Changes * Added warning FS3885 when `let ... in` with explicit `in` keyword is used in a sequence expression and the body extends to subsequent lines, causing unexpected scoping. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19526](https://github.com/dotnet/fsharp/pull/19526)) +* Added warning FS3885 when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, which causes all subsequent lines to become part of the `let` body due to the parser's greedy behavior. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19526](https://github.com/dotnet/fsharp/pull/19526)) From 3994a2fb0556aab1888f00c38deb760245abcfdb Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 9 Apr 2026 13:33:52 +0200 Subject: [PATCH 04/15] Fix CI failures: remove 'in' keyword triggering FS3885 and add XLF entries - Remove explicit 'in' keyword in HashMultiMap.fs and fsi.fs that triggered the new FS3885 warning (treated as error in CI builds) - Add missing XLF translation entries for featureWarnOnLetInSequenceExpression and tcLetExpressionWithInHasMultiLineBody to all 13 locale files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/Compiler/Interactive/fsi.fs | 2 +- src/Compiler/Utilities/HashMultiMap.fs | 2 +- src/Compiler/xlf/FSComp.txt.cs.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.de.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.es.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.fr.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.it.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.ja.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.ko.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.pl.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.ru.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.tr.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 10 +++++++++- src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 10 +++++++++- 15 files changed, 119 insertions(+), 15 deletions(-) diff --git a/src/Compiler/Interactive/fsi.fs b/src/Compiler/Interactive/fsi.fs index 1ff957e77a8..d1d78a19f65 100644 --- a/src/Compiler/Interactive/fsi.fs +++ b/src/Compiler/Interactive/fsi.fs @@ -1532,7 +1532,7 @@ type internal FsiConsoleInput /// Try to get the first line, if we snarfed it while probing. member _.TryGetFirstLine() = - let r = firstLine in + let r = firstLine firstLine <- None r diff --git a/src/Compiler/Utilities/HashMultiMap.fs b/src/Compiler/Utilities/HashMultiMap.fs index 2688869136e..e2e0832e2fa 100644 --- a/src/Compiler/Utilities/HashMultiMap.fs +++ b/src/Compiler/Utilities/HashMultiMap.fs @@ -169,7 +169,7 @@ type internal HashMultiMap<'Key, 'Value when 'Key: not null>(size: int, comparer | _ -> false member s.Remove(k: 'Key) = - let res = s.ContainsKey(k) in + let res = s.ContainsKey(k) s.Remove(k) res diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index 3db81910019..46f2ac75a15 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index ea40290bdab..8ffd843f2dd 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index 4ee65c31f10..c171342e1ac 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index e32025d28c6..b1bae557e25 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index 6191c2ecd1a..dc0a5be13d6 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index f388600a196..3b8469d7539 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index 399d17705f2..ec7e0b44964 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index 6a18542ccb3..cc1b620a012 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index 7d4db3566e5..d22d870d575 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index 9739a35bb1c..3c9f52c5aaa 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 911944a991d..c0d416b4011 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index b745cb2aaef..93f9f46611b 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index 69e43194e81..aedb62d3014 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -1,4 +1,4 @@ - + @@ -8975,6 +8975,14 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? + + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines + + + + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. From 27abd40a0a8b715ae5ef13b401c4e15ae75f427a Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 9 Apr 2026 14:59:43 +0200 Subject: [PATCH 05/15] Fix CI failures: remove 'in' keyword in RemoveUnnecessaryParenthesesTests.fs triggering FS3885, fix PR number in release notes, add .Language/preview.md entry Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs/release-notes/.FSharp.Compiler.Service/11.0.100.md | 1 + docs/release-notes/.Language/preview.md | 1 + .../CodeFixes/RemoveUnnecessaryParenthesesTests.fs | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md index 4aa9d536ab7..d3cf10cb61e 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md +++ b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md @@ -47,3 +47,4 @@ ### Breaking Changes * Added warning FS3885 when `let ... in` with explicit `in` keyword is used in a sequence expression and the body extends to subsequent lines, causing unexpected scoping. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19526](https://github.com/dotnet/fsharp/pull/19526)) * Added warning FS3885 when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, which causes all subsequent lines to become part of the `let` body due to the parser's greedy behavior. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19526](https://github.com/dotnet/fsharp/pull/19526)) +* Added warning FS3885 when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, which causes all subsequent lines to become part of the `let` body due to the parser's greedy behavior. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) diff --git a/docs/release-notes/.Language/preview.md b/docs/release-notes/.Language/preview.md index d97ef294125..7bfa7af4ce5 100644 --- a/docs/release-notes/.Language/preview.md +++ b/docs/release-notes/.Language/preview.md @@ -2,6 +2,7 @@ * Warn (FS3884) when a function or delegate value is used as an interpolated string argument, since it will be formatted via `ToString` rather than being applied. ([PR #19289](https://github.com/dotnet/fsharp/pull/19289)) * Added `MethodOverloadsCache` language feature (preview) that caches overload resolution results for repeated method calls, significantly improving compilation performance. ([PR #19072](https://github.com/dotnet/fsharp/pull/19072)) +* Warn (FS3885) when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, causing unexpected scoping. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) ### Fixed diff --git a/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs b/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs index 7901df88801..eb5a2de9f5b 100644 --- a/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs +++ b/vsintegration/tests/FSharp.Editor.Tests/CodeFixes/RemoveUnnecessaryParenthesesTests.fs @@ -2724,10 +2724,10 @@ module Patterns = let sb = StringBuilder() for original, expected in pairs -> - (let original = string (SynPat.fmt sb original) in + (let original = string (SynPat.fmt sb original) ignore <| sb.Clear() original), - (let expected = string (SynPat.fmt sb expected) in + (let expected = string (SynPat.fmt sb expected) ignore <| sb.Clear() expected) } From c9eaca97e4e0a7ff210d31e24edc6cb686a9eefd Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 9 Apr 2026 16:31:52 +0200 Subject: [PATCH 06/15] Fix issue reference in release notes: #7091 -> #7741 The previous session referenced issue #7091 (Fix fsharp47 - test path fix) but the correct issue is #7741 (Wrong let expression parsing) which describes the let...in scoping problem this warning addresses. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs/release-notes/.FSharp.Compiler.Service/11.0.100.md | 1 + docs/release-notes/.Language/preview.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md index d3cf10cb61e..435f030402b 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md +++ b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md @@ -48,3 +48,4 @@ * Added warning FS3885 when `let ... in` with explicit `in` keyword is used in a sequence expression and the body extends to subsequent lines, causing unexpected scoping. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19526](https://github.com/dotnet/fsharp/pull/19526)) * Added warning FS3885 when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, which causes all subsequent lines to become part of the `let` body due to the parser's greedy behavior. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19526](https://github.com/dotnet/fsharp/pull/19526)) * Added warning FS3885 when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, which causes all subsequent lines to become part of the `let` body due to the parser's greedy behavior. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) +* Added warning FS3885 when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, which causes all subsequent lines to become part of the `let` body due to the parser's greedy behavior. ([Issue #7741](https://github.com/dotnet/fsharp/issues/7741), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) diff --git a/docs/release-notes/.Language/preview.md b/docs/release-notes/.Language/preview.md index 7bfa7af4ce5..074af45dc5d 100644 --- a/docs/release-notes/.Language/preview.md +++ b/docs/release-notes/.Language/preview.md @@ -2,7 +2,7 @@ * Warn (FS3884) when a function or delegate value is used as an interpolated string argument, since it will be formatted via `ToString` rather than being applied. ([PR #19289](https://github.com/dotnet/fsharp/pull/19289)) * Added `MethodOverloadsCache` language feature (preview) that caches overload resolution results for repeated method calls, significantly improving compilation performance. ([PR #19072](https://github.com/dotnet/fsharp/pull/19072)) -* Warn (FS3885) when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, causing unexpected scoping. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) +* Warn (FS3885) when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, causing unexpected scoping. ([Issue #7741](https://github.com/dotnet/fsharp/issues/7741), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) ### Fixed From 81d334f73f7660af30d6112dfaa9e74effe40b5f Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Thu, 9 Apr 2026 18:17:34 +0200 Subject: [PATCH 07/15] Retrigger CI: FindReferences flaky test failure unrelated to PR changes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> From b0501b0fcc0b151e381e51f2a64e19be6f4122e5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 19:28:23 +0000 Subject: [PATCH 08/15] Move let-in handling from type-checking warning to LexFilter change When an explicit 'in' keyword is used with a block-scoped 'let' in light syntax and the body starts on the same line as 'in', push a new seq block context to limit the body scope based on indentation. This prevents the parser from greedily capturing subsequent lines as part of the let body. - Remove type-checking warning from CheckExpressions.fs - Add LexFilter logic: when blockLet=true and body is on same line as 'in', push CtxtSeqBlock with AddBlockEnd to scope the body - Update WarnExpressionTests to reflect new behavior (no FS3885, different parse tree produces different W20 ranges) - Update SyntaxTree baseline for minor range change Agent-Logs-Url: https://github.com/dotnet/fsharp/sessions/1c48edbc-5796-4d9b-a80d-3a3d423c2e3f Co-authored-by: abonie <20281641+abonie@users.noreply.github.com> --- .../Checking/Expressions/CheckExpressions.fs | 10 ---------- src/Compiler/SyntaxTree/LexFilter.fs | 20 +++++++++++++++++-- .../ErrorMessages/WarnExpressionTests.fs | 8 ++------ ...LetOrUseContainsTheRangeOfInKeyword.fs.bsl | 2 +- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/Compiler/Checking/Expressions/CheckExpressions.fs b/src/Compiler/Checking/Expressions/CheckExpressions.fs index 3da2bbaffe5..f98bc32259f 100644 --- a/src/Compiler/Checking/Expressions/CheckExpressions.fs +++ b/src/Compiler/Checking/Expressions/CheckExpressions.fs @@ -6066,16 +6066,6 @@ and TcExprUndelayed (cenv: cenv) (overallTy: OverallTy) env tpenv (synExpr: SynE errorR(Error(FSComp.SR.tcConstructRequiresComputationExpression(), leadingKeyword.Range)) | _ -> () - // Warn when 'let ... in' has an explicit 'in' keyword and the body is a sequential expression - // spanning multiple lines. This indicates the user likely intended the 'let ... in' to scope only - // over the expression on the same line, but the parser greedily consumed subsequent lines as body. - match letOrUse with - | { Trivia = { InKeyword = Some inRange }; Body = SynExpr.Sequential(expr2 = expr2) } - when g.langVersion.SupportsFeature LanguageFeature.WarnOnLetInSequenceExpression - && expr2.Range.StartLine > inRange.StartLine -> - warning(Error(FSComp.SR.tcLetExpressionWithInHasMultiLineBody(), inRange)) - | _ -> () - TcLinearExprs (TcExprThatCanBeCtorBody cenv) cenv env overallTy tpenv false synExpr id | SynExpr.TryWith (synBodyExpr, synWithClauses, mTryToLast, spTry, spWith, trivia) -> diff --git a/src/Compiler/SyntaxTree/LexFilter.fs b/src/Compiler/SyntaxTree/LexFilter.fs index ed5da9fd043..ffa3072e21c 100644 --- a/src/Compiler/SyntaxTree/LexFilter.fs +++ b/src/Compiler/SyntaxTree/LexFilter.fs @@ -1680,8 +1680,24 @@ type LexFilterImpl ( if debug then dprintf "IN at %a (becomes %s)\n" outputPos tokenStartPos (if blockLet then "ODECLEND" else "IN") if tokenStartCol < offsidePos.Column then warn tokenTup (FSComp.SR.lexfltIncorrentIndentationOfIn()) popCtxt() - // Make sure we queue a dummy token at this position to check if any other pop rules apply - delayToken(pool.UseLocation(tokenTup, ODUMMY token)) + + if blockLet && lexbuf.SupportsFeature LanguageFeature.WarnOnLetInSequenceExpression then + let nextTokenTup = peekNextTokenTup() + let nextTokenStartPos = startPosOfTokenTup nextTokenTup + + if nextTokenStartPos.Line = tokenStartPos.Line then + // When the body expression starts on the same line as the 'in' keyword in light syntax, + // push a new seq block to limit the body scope to that line. This prevents the parser + // from greedily capturing all subsequent lines as part of the let body. + pushCtxtSeqBlock tokenTup AddBlockEnd + else + // Body starts on a new line after 'in' — the user intentionally placed the body + // on the next line, so use standard behavior. + delayToken(pool.UseLocation(tokenTup, ODUMMY token)) + else + // Make sure we queue a dummy token at this position to check if any other pop rules apply + delayToken(pool.UseLocation(tokenTup, ODUMMY token)) + returnToken tokenLexbufState (if blockLet then ODECLEND(mkSynRange tokenTup.StartPos tokenTup.EndPos, true) else token) // Balancing rule. Encountering a 'done' balances with a 'do'. i.e. even a non-offside 'done' closes a 'do' diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs index 973d62fdbfe..542b2721734 100644 --- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs @@ -308,9 +308,7 @@ do |> typecheck |> shouldFail |> withDiagnostics [ - (Warning 3885, Line 5, Col 15, Line 5, Col 17, - "The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope.") - (Warning 20, Line 5, Col 18, Line 5, Col 23, + (Warning 20, Line 5, Col 5, Line 5, Col 23, "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") (Warning 20, Line 5, Col 5, Line 6, Col 6, "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") @@ -374,8 +372,6 @@ let f () = |> typecheck |> shouldFail |> withDiagnostics [ - (Warning 3885, Line 4, Col 15, Line 4, Col 17, - "The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope.") - (Warning 20, Line 4, Col 18, Line 4, Col 23, + (Warning 20, Line 4, Col 5, Line 4, Col 23, "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") ] diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl index 4fb6595cbd2..b65ca5c4e11 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl @@ -23,7 +23,7 @@ ImplFile Range = (2,0--2,15) Trivia = { InKeyword = Some (2,10--2,12) } IsFromSource = true }, (2,0--2,15))], PreXmlDocEmpty, [], None, - (2,0--2,15), { LeadingKeyword = None })], (true, true), + (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) From 5ee2d0027055a91895fda0b4777160ed0ba44a9b Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Wed, 15 Apr 2026 10:06:02 +0200 Subject: [PATCH 09/15] Add SyntaxTree tests for let-in scoping and remove dead FS3885 warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add 7 SyntaxTree tests (LetIn 01-07) verifying let-in body scoping after the LexFilter change: module-level, semicolons, nested let-in, triple-nested, if-then-else, if-else with nested let-in, and named module counterpart to the anonymous module InKeyword test - Remove dead FS3885 tcLetExpressionWithInHasMultiLineBody warning from FSComp.txt and all xlf files (no code references it after LexFilter change) - Update feature description to reflect LexFilter behavior Note on SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl (2,0--3,0): The AnonModule range extends to (3,0) due to the OBLOCKEND token from the let-in scope block being positioned at EOF. This ONLY affects the SynModuleOrNamespace range — the LetOrUse range stays correct at (2,0--2,15). Named modules are unaffected (see LetIn 07.fs.bsl where the same code produces module range (1,0--3,15), ending at content). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/Compiler/FSComp.txt | 3 +- src/Compiler/xlf/FSComp.txt.cs.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.de.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.es.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.fr.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.it.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.ja.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.ko.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.pl.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.ru.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.tr.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 9 +-- src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 9 +-- .../data/SyntaxTree/Expression/LetIn 01.fs | 4 + .../SyntaxTree/Expression/LetIn 01.fs.bsl | 30 +++++++ .../data/SyntaxTree/Expression/LetIn 02.fs | 4 + .../SyntaxTree/Expression/LetIn 02.fs.bsl | 33 ++++++++ .../data/SyntaxTree/Expression/LetIn 03.fs | 5 ++ .../SyntaxTree/Expression/LetIn 03.fs.bsl | 57 +++++++++++++ .../data/SyntaxTree/Expression/LetIn 04.fs | 5 ++ .../SyntaxTree/Expression/LetIn 04.fs.bsl | 80 +++++++++++++++++++ .../data/SyntaxTree/Expression/LetIn 05.fs | 5 ++ .../SyntaxTree/Expression/LetIn 05.fs.bsl | 43 ++++++++++ .../data/SyntaxTree/Expression/LetIn 06.fs | 5 ++ .../SyntaxTree/Expression/LetIn 06.fs.bsl | 67 ++++++++++++++++ .../data/SyntaxTree/Expression/LetIn 07.fs | 3 + .../SyntaxTree/Expression/LetIn 07.fs.bsl | 29 +++++++ 28 files changed, 397 insertions(+), 93 deletions(-) create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 01.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 01.fs.bsl create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 02.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 02.fs.bsl create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 03.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 03.fs.bsl create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 04.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 04.fs.bsl create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 05.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 05.fs.bsl create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 06.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 06.fs.bsl create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 07.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 07.fs.bsl diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index 1d278feaf6f..96d82304a17 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -1810,7 +1810,7 @@ featureWarnWhenFunctionValueUsedAsInterpolatedStringArg,"Warn when a function va featureMethodOverloadsCache,"Support for caching method overload resolution results for improved compilation performance." featureImplicitDIMCoverage,"Implicit dispatch slot coverage for default interface member implementations" featurePreprocessorElif,"#elif preprocessor directive" -featureWarnOnLetInSequenceExpression,"Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines" +featureWarnOnLetInSequenceExpression,"Scope 'let ... in' body to the same line in sequence expressions" 3880,optsLangVersionOutOfSupport,"Language version '%s' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/%s" 3881,optsUnrecognizedLanguageFeature,"Unrecognized language feature name: '%s'. Use a valid feature name such as 'NameOf' or 'StringInterpolation'." 3882,lexHashElifMustBeFirst,"#elif directive must appear as the first non-whitespace character on a line" @@ -1818,4 +1818,3 @@ featureWarnOnLetInSequenceExpression,"Warn when 'let ... in' is used in a sequen 3884,tcFunctionValueUsedAsInterpolatedStringArg,"This expression is a function value. When used in an interpolated string it will be formatted using its 'ToString' method, which is likely not the intended behavior. Consider applying the function to its arguments." 3885,parsLetBangCannotBeLastInCE,"'%s' cannot be the final expression in a computation expression. Finish with 'return', 'return!', or a simple expression." 3886,tcListLiteralWithSingleTupleElement,"This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements?" -3887,tcLetExpressionWithInHasMultiLineBody,"The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope." diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index 46f2ac75a15..8aaac44b530 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index 8ffd843f2dd..9c6976b2b8c 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index c171342e1ac..f087148a9a1 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index b1bae557e25..ffcca354250 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index dc0a5be13d6..4e6eb731adb 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index 3b8469d7539..a7b1717794e 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index ec7e0b44964..543d60de0a7 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index cc1b620a012..055e3eff70e 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index d22d870d575..dbaeca0500b 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index 3c9f52c5aaa..1ee944f79d4 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index c0d416b4011..9d3feecb5fe 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index 93f9f46611b..e0a8a272ed6 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index aedb62d3014..3569b7eb169 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -8976,13 +8976,8 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - Warn when 'let ... in' is used in a sequence expression and the body extends to subsequent lines - - - - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. - The use of 'in' in 'let ... in' on a single line followed by additional code on subsequent lines causes all subsequent lines to be part of the 'let' body. This may lead to unexpected scoping. Either remove the 'in' keyword and rely on indentation, or add parentheses to clarify the intended scope. + Scope 'let ... in' body to the same line in sequence expressions + Scope 'let ... in' body to the same line in sequence expressions diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 01.fs b/tests/service/data/SyntaxTree/Expression/LetIn 01.fs new file mode 100644 index 00000000000..5437a88b512 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 01.fs @@ -0,0 +1,4 @@ +module Module + +let a = 1 in b +c diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 01.fs.bsl new file mode 100644 index 00000000000..ab833fadfb4 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 01.fs.bsl @@ -0,0 +1,30 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 01.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named (SynIdent (a, None), false, None, (3,4--3,5)), None, + Const (Int32 1, (3,8--3,9)), (3,4--3,5), Yes (3,0--3,9), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })] + Body = Ident b + Range = (3,0--3,14) + Trivia = { InKeyword = Some (3,10--3,12) } + IsFromSource = true }, (3,0--3,14)); + Expr (Ident c, (4,0--4,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--4,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 02.fs b/tests/service/data/SyntaxTree/Expression/LetIn 02.fs new file mode 100644 index 00000000000..b71d35687b9 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 02.fs @@ -0,0 +1,4 @@ +module Module + +let a = 1 in b; c +d diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 02.fs.bsl new file mode 100644 index 00000000000..af081c7f0e1 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 02.fs.bsl @@ -0,0 +1,33 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 02.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named (SynIdent (a, None), false, None, (3,4--3,5)), None, + Const (Int32 1, (3,8--3,9)), (3,4--3,5), Yes (3,0--3,9), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })] + Body = + Sequential + (SuppressNeither, true, Ident b, Ident c, (3,13--3,17), + { SeparatorRange = Some (3,14--3,15) }) + Range = (3,0--3,17) + Trivia = { InKeyword = Some (3,10--3,12) } + IsFromSource = true }, (3,0--3,17)); + Expr (Ident d, (4,0--4,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--4,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 03.fs b/tests/service/data/SyntaxTree/Expression/LetIn 03.fs new file mode 100644 index 00000000000..72a1fde1b87 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 03.fs @@ -0,0 +1,5 @@ +module Module + +do + let a = 1 in let b = 2 in c + d diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 03.fs.bsl new file mode 100644 index 00000000000..904a483263b --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 03.fs.bsl @@ -0,0 +1,57 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 03.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (Do + (Sequential + (SuppressNeither, true, + LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named (SynIdent (a, None), false, None, (4,8--4,9)), + None, Const (Int32 1, (4,12--4,13)), (4,8--4,9), + Yes (4,4--4,13), + { LeadingKeyword = Let (4,4--4,7) + InlineKeyword = None + EqualsRange = Some (4,10--4,11) })] + Body = + LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,17), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo + ([], SynArgInfo ([], false, None)), None), + Named + (SynIdent (b, None), false, None, + (4,21--4,22)), None, + Const (Int32 2, (4,25--4,26)), (4,21--4,22), + Yes (4,17--4,26), + { LeadingKeyword = Let (4,17--4,20) + InlineKeyword = None + EqualsRange = Some (4,23--4,24) })] + Body = Ident c + Range = (4,17--4,31) + Trivia = { InKeyword = Some (4,27--4,29) } + IsFromSource = true } + Range = (4,4--4,31) + Trivia = { InKeyword = Some (4,14--4,16) } + IsFromSource = true }, Ident d, (4,4--5,5), + { SeparatorRange = None }), (3,0--5,5)), (3,0--5,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 04.fs b/tests/service/data/SyntaxTree/Expression/LetIn 04.fs new file mode 100644 index 00000000000..8f1e1f2134d --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 04.fs @@ -0,0 +1,5 @@ +module Module + +do + let a = 1 in let b = 2 in let c = 3 in () + d diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 04.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 04.fs.bsl new file mode 100644 index 00000000000..7604cc1b347 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 04.fs.bsl @@ -0,0 +1,80 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 04.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (Do + (Sequential + (SuppressNeither, true, + LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named (SynIdent (a, None), false, None, (4,8--4,9)), + None, Const (Int32 1, (4,12--4,13)), (4,8--4,9), + Yes (4,4--4,13), + { LeadingKeyword = Let (4,4--4,7) + InlineKeyword = None + EqualsRange = Some (4,10--4,11) })] + Body = + LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,17), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo + ([], SynArgInfo ([], false, None)), None), + Named + (SynIdent (b, None), false, None, + (4,21--4,22)), None, + Const (Int32 2, (4,25--4,26)), (4,21--4,22), + Yes (4,17--4,26), + { LeadingKeyword = Let (4,17--4,20) + InlineKeyword = None + EqualsRange = Some (4,23--4,24) })] + Body = + LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,30), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo + ([], SynArgInfo ([], false, None)), + None), + Named + (SynIdent (c, None), false, None, + (4,34--4,35)), None, + Const (Int32 3, (4,38--4,39)), + (4,34--4,35), Yes (4,30--4,39), + { LeadingKeyword = Let (4,30--4,33) + InlineKeyword = None + EqualsRange = Some (4,36--4,37) })] + Body = Const (Unit, (4,43--4,45)) + Range = (4,30--4,45) + Trivia = { InKeyword = Some (4,40--4,42) } + IsFromSource = true } + Range = (4,17--4,45) + Trivia = { InKeyword = Some (4,27--4,29) } + IsFromSource = true } + Range = (4,4--4,45) + Trivia = { InKeyword = Some (4,14--4,16) } + IsFromSource = true }, Ident d, (4,4--5,5), + { SeparatorRange = None }), (3,0--5,5)), (3,0--5,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 05.fs b/tests/service/data/SyntaxTree/Expression/LetIn 05.fs new file mode 100644 index 00000000000..e2d60e84964 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 05.fs @@ -0,0 +1,5 @@ +module Module + +do + let a = 1 in if true then b else c + d diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 05.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 05.fs.bsl new file mode 100644 index 00000000000..c5bb654a783 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 05.fs.bsl @@ -0,0 +1,43 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 05.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (Do + (Sequential + (SuppressNeither, true, + LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named (SynIdent (a, None), false, None, (4,8--4,9)), + None, Const (Int32 1, (4,12--4,13)), (4,8--4,9), + Yes (4,4--4,13), + { LeadingKeyword = Let (4,4--4,7) + InlineKeyword = None + EqualsRange = Some (4,10--4,11) })] + Body = + IfThenElse + (Const (Bool true, (4,20--4,24)), Ident b, + Some (Ident c), Yes (4,17--4,29), false, + (4,17--4,38), { IfKeyword = (4,17--4,19) + IsElif = false + ThenKeyword = (4,25--4,29) + ElseKeyword = Some (4,32--4,36) + IfToThenRange = (4,17--4,29) }) + Range = (4,4--4,38) + Trivia = { InKeyword = Some (4,14--4,16) } + IsFromSource = true }, Ident d, (4,4--5,5), + { SeparatorRange = None }), (3,0--5,5)), (3,0--5,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 06.fs b/tests/service/data/SyntaxTree/Expression/LetIn 06.fs new file mode 100644 index 00000000000..5314a7c1640 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 06.fs @@ -0,0 +1,5 @@ +module Module + +do + let a = 1 in if true then b else let c = 2 in 3 + d diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 06.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 06.fs.bsl new file mode 100644 index 00000000000..89437072c4b --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 06.fs.bsl @@ -0,0 +1,67 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 06.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (Do + (Sequential + (SuppressNeither, true, + LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named (SynIdent (a, None), false, None, (4,8--4,9)), + None, Const (Int32 1, (4,12--4,13)), (4,8--4,9), + Yes (4,4--4,13), + { LeadingKeyword = Let (4,4--4,7) + InlineKeyword = None + EqualsRange = Some (4,10--4,11) })] + Body = + IfThenElse + (Const (Bool true, (4,20--4,24)), Ident b, + Some + (LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,37), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo + ([], SynArgInfo ([], false, None)), + None), + Named + (SynIdent (c, None), false, None, + (4,41--4,42)), None, + Const (Int32 2, (4,45--4,46)), + (4,41--4,42), Yes (4,37--4,46), + { LeadingKeyword = Let (4,37--4,40) + InlineKeyword = None + EqualsRange = Some (4,43--4,44) })] + Body = Const (Int32 3, (4,50--4,51)) + Range = (4,37--4,51) + Trivia = { InKeyword = Some (4,47--4,49) } + IsFromSource = true }), Yes (4,17--4,29), + false, (4,17--4,51), + { IfKeyword = (4,17--4,19) + IsElif = false + ThenKeyword = (4,25--4,29) + ElseKeyword = Some (4,32--4,36) + IfToThenRange = (4,17--4,29) }) + Range = (4,4--4,51) + Trivia = { InKeyword = Some (4,14--4,16) } + IsFromSource = true }, Ident d, (4,4--5,5), + { SeparatorRange = None }), (3,0--5,5)), (3,0--5,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 07.fs b/tests/service/data/SyntaxTree/Expression/LetIn 07.fs new file mode 100644 index 00000000000..8b63d0e3adf --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 07.fs @@ -0,0 +1,3 @@ +module Module + +let x = 1 in () diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 07.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 07.fs.bsl new file mode 100644 index 00000000000..f3738aa319c --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 07.fs.bsl @@ -0,0 +1,29 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 07.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named (SynIdent (x, None), false, None, (3,4--3,5)), None, + Const (Int32 1, (3,8--3,9)), (3,4--3,5), Yes (3,0--3,9), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })] + Body = Const (Unit, (3,13--3,15)) + Range = (3,0--3,15) + Trivia = { InKeyword = Some (3,10--3,12) } + IsFromSource = true }, (3,0--3,15))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--3,15), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) From eca94fbb30b24d566de172abcb9a8c7928bc7873 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Wed, 15 Apr 2026 21:41:45 +0200 Subject: [PATCH 10/15] Rename feature, fix release notes, fix AnonModule range, add tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename WarnOnLetInSequenceExpression → LetInBodyScoping (no longer a warning) - Move release notes from Added to Fixed, describe parser behavior change - Fix AnonModule range in pars.fsy: use last declaration's Range.End instead of rhs (which includes OBLOCKEND at EOF position). This is the same pattern as PR #12585/#15369 for fixing block-end-derived ranges. Fixes the (2,0--3,0) regression to correct (2,0--2,15). - Add LetIn 08 (do block scoping from WarnExpressionTests) - Add LetIn 09 (function body scoping from WarnExpressionTests) - Add LetIn 10 (indentation continuation: c aligns with b, d is separate) - Update 204 anonymous module baselines (all consistent: end at last content character instead of extending to next-line col 0) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../.FSharp.Compiler.Service/11.0.100.md | 1 + docs/release-notes/.Language/preview.md | 3 +- src/Compiler/FSComp.txt | 2 +- src/Compiler/Facilities/LanguageFeatures.fs | 6 +- src/Compiler/Facilities/LanguageFeatures.fsi | 2 +- src/Compiler/SyntaxTree/LexFilter.fs | 2 +- src/Compiler/pars.fsy | 15 ++++- src/Compiler/xlf/FSComp.txt.cs.xlf | 5 +- src/Compiler/xlf/FSComp.txt.de.xlf | 5 +- src/Compiler/xlf/FSComp.txt.es.xlf | 5 +- src/Compiler/xlf/FSComp.txt.fr.xlf | 5 +- src/Compiler/xlf/FSComp.txt.it.xlf | 5 +- src/Compiler/xlf/FSComp.txt.ja.xlf | 5 +- src/Compiler/xlf/FSComp.txt.ko.xlf | 5 +- src/Compiler/xlf/FSComp.txt.pl.xlf | 5 +- src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 5 +- src/Compiler/xlf/FSComp.txt.ru.xlf | 5 +- src/Compiler/xlf/FSComp.txt.tr.xlf | 5 +- src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 5 +- src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 5 +- .../Attribute/RangeOfAttribute.fs.bsl | 2 +- .../Attribute/RangeOfAttributeWithPath.fs.bsl | 2 +- .../RangeOfAttributeWithTarget.fs.bsl | 2 +- ...ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl | 2 +- ...eturnTypeIsPartOfTriviaInProperties.fs.bsl | 2 +- ...itionalDirectiveAroundInlineKeyword.fs.bsl | 2 +- .../Binding/InlineKeywordInBinding.fs.bsl | 2 +- ...nShouldBeIncludedInSynModuleDeclLet.fs.bsl | 2 +- ...dedInConstructorSynMemberDefnMember.fs.bsl | 2 +- ...tructorSynMemberDefnMemberOptAsSpec.fs.bsl | 2 +- ...edInFullSynMemberDefnMemberProperty.fs.bsl | 2 +- ...uldBeIncludedInSecondaryConstructor.fs.bsl | 2 +- ...eIncludedInSynMemberDefnLetBindings.fs.bsl | 2 +- ...ouldBeIncludedInSynMemberDefnMember.fs.bsl | 2 +- ...eShouldBeIncludedInSynModuleDeclLet.fs.bsl | 2 +- ...riteOnlySynMemberDefnMemberProperty.fs.bsl | 2 +- ...ignShouldBePresentInLocalLetBinding.fs.bsl | 2 +- ...ouldBePresentInLocalLetBindingTyped.fs.bsl | 2 +- ...lSignShouldBePresentInMemberBinding.fs.bsl | 2 +- ...resentInMemberBindingWithParameters.fs.bsl | 2 +- ...resentInMemberBindingWithReturnType.fs.bsl | 2 +- ...fEqualSignShouldBePresentInProperty.fs.bsl | 2 +- ...dBePresentInSynModuleDeclLetBinding.fs.bsl | 2 +- ...esentInSynModuleDeclLetBindingTyped.fs.bsl | 2 +- ...ldBePresentInSynExprLetOrUseBinding.fs.bsl | 2 +- ...dBePresentInSynModuleDeclLetBinding.fs.bsl | 2 +- ...nModuleDeclLetBindingWithAttributes.fs.bsl | 2 +- ...turnTypeOfBindingShouldContainStars.fs.bsl | 2 +- .../BlockCommentInSourceCode.fs.bsl | 2 +- ...BeCapturedIfUsedInAnInvalidLocation.fs.bsl | 2 +- ...ipleSlashCommentShouldNotBeCaptured.fs.bsl | 2 +- ...tilineCommentAreNotReportedAsTrivia.fs.bsl | 2 +- ...ltilineStringAreNotReportedAsTrivia.fs.bsl | 2 +- .../NestedIfElseEndif.fs.bsl | 2 +- ...NestedIfEndifWithComplexExpressions.fs.bsl | 2 +- .../SingleIfElseEndif.fs.bsl | 2 +- .../ConditionalDirective/SingleIfEndif.fs.bsl | 2 +- .../MultipleSynEnumCasesHaveBarRange.fs.bsl | 2 +- .../SingleSynEnumCaseHasBarRange.fs.bsl | 2 +- .../SingleSynEnumCaseWithoutBar.fs.bsl | 2 +- .../Expression/AnonymousRecords-04.fs.bsl | 4 +- .../Expression/AnonymousRecords-05.fs.bsl | 4 +- .../Expression/AnonymousRecords-06.fs.bsl | 4 +- .../DotLambda - _ Recovery - Casts.fsx.bsl | 2 +- .../data/SyntaxTree/Expression/LetIn 08.fs | 6 ++ .../SyntaxTree/Expression/LetIn 08.fs.bsl | 59 +++++++++++++++++ .../data/SyntaxTree/Expression/LetIn 09.fs | 5 ++ .../SyntaxTree/Expression/LetIn 09.fs.bsl | 64 +++++++++++++++++++ .../data/SyntaxTree/Expression/LetIn 10.fs | 5 ++ .../SyntaxTree/Expression/LetIn 10.fs.bsl | 33 ++++++++++ ...LetOrUseContainsTheRangeOfInKeyword.fs.bsl | 2 +- .../Expression/Sequential 01.fs.bsl | 4 +- .../Expression/Sequential 02.fs.bsl | 4 +- .../Expression/Sequential 03.fs.bsl | 4 +- ...xprDoContainsTheRangeOfTheDoKeyword.fs.bsl | 2 +- ...rForContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...LetOrUseContainsTheRangeOfInKeyword.fs.bsl | 2 +- ...seDoesNotContainTheRangeOfInKeyword.fs.bsl | 2 +- ...rsDoesNotContainTheRangeOfInKeyword.fs.bsl | 2 +- ...eBindingContainsTheRangeOfInKeyword.fs.bsl | 2 +- ...insTheRangeOfTheMatchAndWithKeyword.fs.bsl | 2 +- ...insTheRangeOfTheMatchAndWithKeyword.fs.bsl | 2 +- ...tainsTheRangeOfTheTryAndWithKeyword.fs.bsl | 2 +- ...tainsTheRangeOfTheTryAndWithKeyword.fs.bsl | 2 +- .../IfThenElse/Comment after else 01.fs.bsl | 2 +- .../IfThenElse/Comment after else 02.fs.bsl | 2 +- .../IfThenElse/DeeplyNestedIfThenElse.fs.bsl | 2 +- .../ElseKeywordInSimpleIfThenElse.fs.bsl | 2 +- .../IfThenElse/IfKeywordInIfThenElse.fs.bsl | 2 +- ...IfThenAndElseKeywordOnSeparateLines.fs.bsl | 2 +- .../IfThenElse/NestedElifInIfThenElse.fs.bsl | 2 +- .../NestedElseIfInIfThenElse.fs.bsl | 2 +- ...stedElseIfOnTheSameLineInIfThenElse.fs.bsl | 2 +- ...ComplexArgumentsLambdaHasArrowRange.fs.bsl | 2 +- .../DestructedLambdaHasArrowRange.fs.bsl | 2 +- ...rameterWithWildCardGivesCorrectBody.fs.bsl | 2 +- ...daWithTwoParametersGivesCorrectBody.fs.bsl | 2 +- ...thWildCardParameterGivesCorrectBody.fs.bsl | 2 +- ...dThatReturnsALambdaGivesCorrectBody.fs.bsl | 2 +- .../MultilineLambdaHasArrowRange.fs.bsl | 2 +- .../Lambda/SimpleLambdaHasArrowRange.fs.bsl | 2 +- .../Lambda/TupleInLambdaHasArrowRange.fs.bsl | 2 +- .../LeadingKeyword/AbstractKeyword.fs.bsl | 2 +- .../AbstractMemberKeyword.fs.bsl | 2 +- .../LeadingKeyword/AndKeyword.fs.bsl | 2 +- .../LeadingKeyword/DefaultValKeyword.fs.bsl | 2 +- .../LeadingKeyword/DoKeyword.fs.bsl | 2 +- .../LeadingKeyword/DoStaticKeyword.fs.bsl | 2 +- .../LeadingKeyword/LetKeyword.fs.bsl | 2 +- .../LeadingKeyword/LetRecKeyword.fs.bsl | 2 +- .../LeadingKeyword/MemberKeyword.fs.bsl | 2 +- .../LeadingKeyword/MemberValKeyword.fs.bsl | 2 +- .../LeadingKeyword/NewKeyword.fs.bsl | 2 +- .../LeadingKeyword/OverrideKeyword.fs.bsl | 2 +- .../LeadingKeyword/OverrideValKeyword.fs.bsl | 2 +- .../StaticAbstractKeyword.fs.bsl | 2 +- .../StaticAbstractMemberKeyword.fs.bsl | 2 +- .../LeadingKeyword/StaticLetKeyword.fs.bsl | 2 +- .../LeadingKeyword/StaticLetRecKeyword.fs.bsl | 2 +- .../LeadingKeyword/StaticMemberKeyword.fs.bsl | 2 +- .../StaticMemberValKeyword.fs.bsl | 2 +- .../LeadingKeyword/UseKeyword.fs.bsl | 2 +- .../LeadingKeyword/UseRecKeyword.fs.bsl | 2 +- ...ingleSynMatchClauseInSynExprTryWith.fs.bsl | 2 +- .../RangeOfArrowInSynMatchClause.fs.bsl | 2 +- ...ArrowInSynMatchClauseWithWhenClause.fs.bsl | 2 +- ...ipleSynMatchClausesInSynExprTryWith.fs.bsl | 2 +- ...ASingleSynMatchClauseInSynExprMatch.fs.bsl | 2 +- ...ingleSynMatchClauseInSynExprTryWith.fs.bsl | 2 +- ...ltipleSynMatchClausesInSynExprMatch.fs.bsl | 2 +- .../RangeOfMultipleSynMatchClause.fs.bsl | 2 +- .../RangeOfSingleSynMatchClause.fs.bsl | 2 +- ...OfSingleSynMatchClauseFollowedByBar.fs.bsl | 2 +- ...easureContainsTheRangeOfTheConstant.fs.bsl | 2 +- ...eTupleInMeasureTypeWithLeadingSlash.fs.bsl | 2 +- ...TypeTupleInMeasureTypeWithNoSlashes.fs.bsl | 2 +- ...TupleInMeasureTypeWithStartAndSlash.fs.bsl | 2 +- .../GetSetMemberWithInlineKeyword.fs.bsl | 2 +- .../Member/ImplicitCtorWithAsKeyword.fs.bsl | 2 +- .../Member/MemberWithInlineKeyword.fs.bsl | 2 +- ...berContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...lotContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...ertyContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...rtyContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...eDefnWithMemberWithGetHasXmlComment.fs.bsl | 2 +- .../SynTypeDefnWithMemberWithSetget.fs.bsl | 2 +- ...nTypeDefnWithStaticMemberWithGetset.fs.bsl | 2 +- ...ynExprObjMembersHaveCorrectKeywords.fs.bsl | 2 +- ...erDefnAbstractSlotHasCorrectKeyword.fs.bsl | 2 +- ...erDefnAutoPropertyHasCorrectKeyword.fs.bsl | 2 +- ...fnMemberSynValDataHasCorrectKeyword.fs.bsl | 2 +- .../RangeOfEqualSignShouldBePresent.fs.bsl | 2 +- .../Nullness/AbstractClassProperty.fs.bsl | 2 +- .../Nullness/DuCaseStringOrNull.fs.bsl | 2 +- .../Nullness/DuCaseTuplePrecedence.fs.bsl | 2 +- .../SyntaxTree/Nullness/ExplicitField.fs.bsl | 2 +- .../FunctionArgAsPatternWithNullCase.fs.bsl | 2 +- ...ericFunctionReturnTypeNotStructNull.fs.bsl | 2 +- .../GenericFunctionTyparNotNull.fs.bsl | 2 +- .../Nullness/GenericFunctionTyparNull.fs.bsl | 2 +- .../Nullness/GenericTypeNotNull.fs.bsl | 2 +- ...enericTypeNotNullAndOtherConstraint.fs.bsl | 2 +- ...tAndOtherConstraint-I_am_Still_Sane.fs.bsl | 4 +- .../Nullness/GenericTypeNull.fs.bsl | 2 +- ...icTypeOtherConstraintAndThenNotNull.fs.bsl | 2 +- .../SyntaxTree/Nullness/IntListOrNull.fs.bsl | 2 +- .../Nullness/IntListOrNullOrNullOrNull.fs.bsl | 2 +- .../Nullness/MatchWithTypeCast.fs.bsl | 2 +- .../Nullness/MatchWithTypeCastParens.fs.bsl | 2 +- ...thTypeCastParensAndSeparateNullCase.fs.bsl | 2 +- .../Nullness/NullAnnotatedExpression.fs.bsl | 2 +- .../Nullness/RegressionChoiceType.fs.bsl | 2 +- .../Nullness/RegressionOptionType.fs.bsl | 2 +- .../Nullness/SignatureInAbstractMember.fs.bsl | 2 +- .../SyntaxTree/Nullness/StringOrNull.fs.bsl | 2 +- .../Nullness/StringOrNullInFunctionArg.fs.bsl | 2 +- .../ActivePatternDefinition.fs.bsl | 2 +- ...ivePatternIdentifierInPrivateMember.fs.bsl | 2 +- .../CustomOperatorDefinition.fs.bsl | 2 +- .../ObjectModelWithTwoMembers.fs.bsl | 2 +- .../OperatorInMemberDefinition.fs.bsl | 2 +- .../PartialActivePatternDefinition.fs.bsl | 2 +- ...ePatternDefinitionWithoutParameters.fs.bsl | 2 +- .../QualifiedOperatorExpression.fs.bsl | 2 +- .../SyntaxTree/Pattern/InHeadPattern.fs.bsl | 2 +- .../Pattern/OperatorInMatchPattern.fs.bsl | 2 +- .../Pattern/OperatorInSynPatLongIdent.fs.bsl | 2 +- ...ParenthesesOfSynArgPatsNamePatPairs.fs.bsl | 2 +- ...airsContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- .../SynPatOrContainsTheRangeOfTheBar.fs.bsl | 2 +- .../LeadingKeywordInRecursiveTypes.fsi.bsl | 2 +- ...stBytesWithSynByteStringKindRegular.fs.bsl | 2 +- ...tBytesWithSynByteStringKindVerbatim.fs.bsl | 2 +- ...ConstStringWithSynStringKindRegular.fs.bsl | 2 +- ...tStringWithSynStringKindTripleQuote.fs.bsl | 2 +- ...onstStringWithSynStringKindVerbatim.fs.bsl | 2 +- ...latedStringWithSynStringKindRegular.fs.bsl | 2 +- ...dStringWithSynStringKindTripleQuote.fs.bsl | 2 +- ...atedStringWithSynStringKindVerbatim.fs.bsl | 2 +- ...stedSynTypeOrInsideSynExprTraitCall.fs.bsl | 2 +- ...SingleSynTypeInsideSynExprTraitCall.fs.bsl | 2 +- .../SynTypeOrInsideSynExprTraitCall.fs.bsl | 2 +- ...eConstraintWhereTyparSupportsMember.fs.bsl | 2 +- ...TypeOrWithAppTypeOnTheRightHandSide.fs.bsl | 2 +- ...sIncludeLeadingParameterAttributes.fsi.bsl | 2 +- ...pleDoesIncludeLeadingParameterName.fsi.bsl | 2 +- ...butesInOptionalNamedMemberParameter.fs.bsl | 2 +- ...eSynEnumCaseContainsRangeOfConstant.fs.bsl | 2 +- .../Type/NamedParametersInDelegateType.fs.bsl | 2 +- ...ributeShouldBeIncludedInSynTypeDefn.fs.bsl | 2 +- ...tesShouldBeIncludedInRecursiveTypes.fs.bsl | 2 +- ...eSynEnumCaseContainsRangeOfConstant.fs.bsl | 2 +- ...aceContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...uteContainsTheRangeOfTheTypeKeyword.fs.bsl | 2 +- ...ionContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...EnumContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...gateContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...ordContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...nionContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...DocContainsTheRangeOfTheTypeKeyword.fs.bsl | 2 +- .../Type/SynTypeFunHasRangeOfArrow.fs.bsl | 2 +- .../Type/SynTypeTupleWithStruct.fs.bsl | 2 +- .../SynTypeTupleWithStructRecovery.fs.bsl | 2 +- .../MultipleSynUnionCasesHaveBarRange.fs.bsl | 2 +- .../UnionCase/PrivateKeywordHasRange.fs.bsl | 2 +- .../SingleSynUnionCaseHasBarRange.fs.bsl | 2 +- .../SingleSynUnionCaseWithoutBar.fs.bsl | 2 +- .../UnionCase/SynUnionCaseKindFullType.fs.bsl | 2 +- .../UnionCaseFieldsCanHaveComments.fs.bsl | 2 +- .../WarnScope/IndentedWarnDirective.fs.bsl | 2 +- 230 files changed, 444 insertions(+), 246 deletions(-) create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 08.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 08.fs.bsl create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 09.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 09.fs.bsl create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 10.fs create mode 100644 tests/service/data/SyntaxTree/Expression/LetIn 10.fs.bsl diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md index 435f030402b..49a52d24763 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md +++ b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md @@ -34,6 +34,7 @@ * Fix signature generation: backtick escaping for identifiers containing backticks. ([Issue #15389](https://github.com/dotnet/fsharp/issues/15389), [PR #19586](https://github.com/dotnet/fsharp/pull/19586)) * Fix signature generation: `private` keyword placement for prefix-style type abbreviations. ([Issue #15560](https://github.com/dotnet/fsharp/issues/15560), [PR #19586](https://github.com/dotnet/fsharp/pull/19586)) * Fix signature generation: missing `[]` attribute for types without visible constructors. ([Issue #16531](https://github.com/dotnet/fsharp/issues/16531), [PR #19586](https://github.com/dotnet/fsharp/pull/19586)) +* Fix `let ... in` with explicit `in` keyword in light syntax: body is now scoped to the same line, preventing the parser from greedily capturing subsequent lines as part of the `let` body. ([Issue #7741](https://github.com/dotnet/fsharp/issues/7741), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) ### Added diff --git a/docs/release-notes/.Language/preview.md b/docs/release-notes/.Language/preview.md index 074af45dc5d..161ae37eaf8 100644 --- a/docs/release-notes/.Language/preview.md +++ b/docs/release-notes/.Language/preview.md @@ -2,8 +2,9 @@ * Warn (FS3884) when a function or delegate value is used as an interpolated string argument, since it will be formatted via `ToString` rather than being applied. ([PR #19289](https://github.com/dotnet/fsharp/pull/19289)) * Added `MethodOverloadsCache` language feature (preview) that caches overload resolution results for repeated method calls, significantly improving compilation performance. ([PR #19072](https://github.com/dotnet/fsharp/pull/19072)) -* Warn (FS3885) when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, causing unexpected scoping. ([Issue #7741](https://github.com/dotnet/fsharp/issues/7741), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) ### Fixed +* Fix `let ... in` with explicit `in` keyword in light syntax: body is now scoped to the same line, preventing the parser from greedily capturing subsequent lines. ([Issue #7741](https://github.com/dotnet/fsharp/issues/7741), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) + ### Changed \ No newline at end of file diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index 96d82304a17..0d2742ae0b0 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -1810,7 +1810,7 @@ featureWarnWhenFunctionValueUsedAsInterpolatedStringArg,"Warn when a function va featureMethodOverloadsCache,"Support for caching method overload resolution results for improved compilation performance." featureImplicitDIMCoverage,"Implicit dispatch slot coverage for default interface member implementations" featurePreprocessorElif,"#elif preprocessor directive" -featureWarnOnLetInSequenceExpression,"Scope 'let ... in' body to the same line in sequence expressions" +featureLetInBodyScoping,"Scope 'let ... in' body to the same line in sequence expressions" 3880,optsLangVersionOutOfSupport,"Language version '%s' is out of support. The last .NET SDK supporting it is available at https://dotnet.microsoft.com/en-us/download/dotnet/%s" 3881,optsUnrecognizedLanguageFeature,"Unrecognized language feature name: '%s'. Use a valid feature name such as 'NameOf' or 'StringInterpolation'." 3882,lexHashElifMustBeFirst,"#elif directive must appear as the first non-whitespace character on a line" diff --git a/src/Compiler/Facilities/LanguageFeatures.fs b/src/Compiler/Facilities/LanguageFeatures.fs index 0cc80ce4541..9cb3a0491fd 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fs +++ b/src/Compiler/Facilities/LanguageFeatures.fs @@ -108,7 +108,7 @@ type LanguageFeature = | MethodOverloadsCache | ImplicitDIMCoverage | PreprocessorElif - | WarnOnLetInSequenceExpression + | LetInBodyScoping /// LanguageVersion management type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array) = @@ -252,7 +252,7 @@ type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array) // Put stabilized features here for F# 11.0 previews via .NET SDK preview channels LanguageFeature.WarnWhenFunctionValueUsedAsInterpolatedStringArg, languageVersion110 LanguageFeature.PreprocessorElif, languageVersion110 - LanguageFeature.WarnOnLetInSequenceExpression, languageVersion110 + LanguageFeature.LetInBodyScoping, languageVersion110 // Difference between languageVersion110 and preview - 11.0 gets turned on automatically by picking a preview .NET 11 SDK // previewVersion is only when "preview" is specified explicitly in project files and users also need a preview SDK @@ -455,7 +455,7 @@ type LanguageVersion(versionText, ?disabledFeaturesArray: LanguageFeature array) | LanguageFeature.MethodOverloadsCache -> FSComp.SR.featureMethodOverloadsCache () | LanguageFeature.ImplicitDIMCoverage -> FSComp.SR.featureImplicitDIMCoverage () | LanguageFeature.PreprocessorElif -> FSComp.SR.featurePreprocessorElif () - | LanguageFeature.WarnOnLetInSequenceExpression -> FSComp.SR.featureWarnOnLetInSequenceExpression () + | LanguageFeature.LetInBodyScoping -> FSComp.SR.featureLetInBodyScoping () /// Get a version string associated with the given feature. static member GetFeatureVersionString feature = diff --git a/src/Compiler/Facilities/LanguageFeatures.fsi b/src/Compiler/Facilities/LanguageFeatures.fsi index 1a247cda15e..9ff9268c25b 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fsi +++ b/src/Compiler/Facilities/LanguageFeatures.fsi @@ -99,7 +99,7 @@ type LanguageFeature = | MethodOverloadsCache | ImplicitDIMCoverage | PreprocessorElif - | WarnOnLetInSequenceExpression + | LetInBodyScoping /// LanguageVersion management type LanguageVersion = diff --git a/src/Compiler/SyntaxTree/LexFilter.fs b/src/Compiler/SyntaxTree/LexFilter.fs index ffa3072e21c..505d17de22b 100644 --- a/src/Compiler/SyntaxTree/LexFilter.fs +++ b/src/Compiler/SyntaxTree/LexFilter.fs @@ -1681,7 +1681,7 @@ type LexFilterImpl ( if tokenStartCol < offsidePos.Column then warn tokenTup (FSComp.SR.lexfltIncorrentIndentationOfIn()) popCtxt() - if blockLet && lexbuf.SupportsFeature LanguageFeature.WarnOnLetInSequenceExpression then + if blockLet && lexbuf.SupportsFeature LanguageFeature.LetInBodyScoping then let nextTokenTup = peekNextTokenTup() let nextTokenStartPos = startPosOfTokenTup nextTokenTup diff --git a/src/Compiler/pars.fsy b/src/Compiler/pars.fsy index 3d9967a5724..4162c17a5d8 100644 --- a/src/Compiler/pars.fsy +++ b/src/Compiler/pars.fsy @@ -616,7 +616,12 @@ fileModuleSpec: { let m = (rhs parseState 1) (fun (mNamespaceOpt, isRec, path, xml) -> match path with - | [] -> ParsedSigFileFragment.AnonModule($1, m) + | [] -> + let m = + match List.tryLast $1 with + | Some lastDecl -> Range.withEnd lastDecl.Range.End m + | None -> m + ParsedSigFileFragment.AnonModule($1, m) | _ -> let lastDeclRange = List.tryLast $1 |> Option.map (fun decl -> decl.Range) |> Option.defaultValue (rhs parseState 1) let m = withStart (lhs parseState).Start lastDeclRange @@ -1200,7 +1205,13 @@ fileModuleImpl: { let m = (rhs parseState 1) (fun (mNamespaceOpt, isRec, path, xml) -> match path, mNamespaceOpt with - | [], None -> ParsedImplFileFragment.AnonModule($1, m) + | [], None -> + // Use last declaration's end to avoid the range being extended to the OBLOCKEND/EOF position + let m = + match List.tryLast $1 with + | Some lastDecl -> Range.withEnd lastDecl.Range.End m + | None -> m + ParsedImplFileFragment.AnonModule($1, m) | _ -> let lastDeclRange = List.tryLast $1 |> Option.map (fun decl -> decl.Range) |> Option.defaultValue (rhs parseState 1) let m = withStart (lhs parseState).Start lastDeclRange diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index 8aaac44b530..b6c2cffa0d7 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index 9c6976b2b8c..aabe855452d 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index f087148a9a1..986eb83a5a6 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index ffcca354250..6a58c6f4b1e 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index 4e6eb731adb..731da9ff499 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index a7b1717794e..821543febed 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index 543d60de0a7..49444c3f10d 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index 055e3eff70e..68c57aa9274 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index dbaeca0500b..5c21cb60109 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index 1ee944f79d4..4803d71b910 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 9d3feecb5fe..126f44f33f9 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index e0a8a272ed6..4e3aa96cac0 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index 3569b7eb169..97881cfe7a8 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -8975,8 +8975,9 @@ This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? This list expression contains a single tuple element. Did you mean to use ';' instead of ',' to separate list elements? - - Scope 'let ... in' body to the same line in sequence expressions + + + Scope 'let ... in' body to the same line in sequence expressions Scope 'let ... in' body to the same line in sequence expressions diff --git a/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl b/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl index 8e83e55acfa..1e8bcd5c4e6 100644 --- a/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl +++ b/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl @@ -28,7 +28,7 @@ ImplFile Range = (2,2--2,25) }] Range = (2,0--2,27) }], (2,0--2,27)); Expr (Do (Const (Unit, (3,3--3,5)), (3,0--3,5)), (3,0--3,5))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl index 4db0f069189..d3b1978861e 100644 --- a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl +++ b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl @@ -30,7 +30,7 @@ ImplFile Range = (2,2--2,32) }] Range = (2,0--2,34) }], (2,0--2,34)); Expr (Do (Const (Unit, (3,3--3,5)), (3,0--3,5)), (3,0--3,5))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl index 38b51a3bffd..d8e0babd349 100644 --- a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl +++ b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl @@ -28,7 +28,7 @@ ImplFile Range = (2,2--2,35) }] Range = (2,0--2,37) }], (2,0--2,37)); Expr (Do (Const (Unit, (3,3--3,5)), (3,0--3,5)), (3,0--3,5))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl index 065ab43c1c4..dabcb16e268 100644 --- a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl @@ -33,7 +33,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,14--2,15) })], (2,0--2,31), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--3,0), { LeadingKeyword = None })], (true, true), + (2,0--2,31), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl index 92d2ae4ebfc..9f1a87a211d 100644 --- a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl @@ -101,7 +101,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,62))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,62), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl b/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl index aab2187eed5..d3ec6d1d1c8 100644 --- a/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl @@ -43,7 +43,7 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (4,4--4,10) EqualsRange = Some (6,13--6,14) })], (2,0--6,42), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,42), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Not (Ident "FOO"), (3,0--3,8)); EndIf (5,0--5,6)] diff --git a/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl index 74c98cb33a9..0ae04a1f247 100644 --- a/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl @@ -53,7 +53,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,17--2,18) })], (2,0--4,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--5,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl index 13347c94622..5f173741c6d 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,22--2,23) })], (2,0--2,25), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,25), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl index f53b47a4eaa..ed223807374 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl @@ -49,7 +49,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,15))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl index dde24f9afc2..a235a196953 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl @@ -50,7 +50,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,23))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,23), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl index 3a657b48cb7..5e864edc085 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl @@ -104,7 +104,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,10--2,11) WithKeyword = None })], (2,0--6,50))], PreXmlDocEmpty, [], - None, (2,0--7,0), { LeadingKeyword = None })], (true, true), + None, (2,0--6,50), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl index 566cba41a61..c38db4fccb5 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl @@ -115,7 +115,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--11,12))], PreXmlDocEmpty, [], - None, (2,0--12,0), { LeadingKeyword = None })], (true, true), + None, (2,0--11,12), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl index cd43cce87f7..de657641448 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl @@ -40,7 +40,7 @@ ImplFile None, (2,5--4,13), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,13))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,13), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl index ff220a2a034..f95cdf05b54 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl @@ -53,7 +53,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,33))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,33), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl index 8731bb1d5b5..c266d02aef4 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl @@ -24,7 +24,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (2,0--3,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl index 8698f8ddc7c..10e2d7988a5 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl @@ -69,7 +69,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,79))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,79), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl index fe96a80165c..65197e80ec2 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl @@ -24,7 +24,7 @@ ImplFile Range = (3,4--4,6) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,6)), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl index 5ddcfdc594f..aeefee72bf3 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl @@ -35,7 +35,7 @@ ImplFile Range = (3,4--4,6) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,6)), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl index 0a48a4272fc..4260bd5fe41 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl @@ -47,7 +47,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,21))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,21), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl index c8eb3a32a50..e7b766b5ff9 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl @@ -54,7 +54,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,24))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,24), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl index 431946b6f94..0e45f4b496e 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl @@ -63,7 +63,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,33))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,33), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl index 72ee28c403d..816b682535c 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl @@ -94,7 +94,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--5,50))], PreXmlDocEmpty, [], - None, (2,0--6,0), { LeadingKeyword = None })], (true, true), + None, (2,0--5,50), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl index 25a5aa97f25..dbbd1476b56 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl @@ -19,7 +19,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,10), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,10), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl index 3fad6c6ce95..dd7b1233e15 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl @@ -26,7 +26,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,12--2,13) })], (2,0--2,16), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,16), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl index 4b2d72c287d..c84a43075f6 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl @@ -43,7 +43,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--4,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--5,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl index 444e70f8b63..38ce6fd44a5 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl @@ -19,7 +19,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,10), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,10), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl index 6db963f547d..7f8a9fce264 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl @@ -27,7 +27,7 @@ ImplFile { LeadingKeyword = Let (5,0--5,3) InlineKeyword = None EqualsRange = Some (5,6--5,7) })], (2,0--5,10), - { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--6,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--5,10), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl b/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl index a3c7a7589fc..98b0f1c3dd9 100644 --- a/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl @@ -77,7 +77,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,28--3,29) })], (3,0--3,42), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,42), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl index e4901fa263f..aa0e3ad884e 100644 --- a/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl @@ -32,7 +32,7 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,17--2,18) })], (2,0--2,25), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,25), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl index 01db4a77f0d..ac48c46922d 100644 --- a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl @@ -35,7 +35,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (2,0--9,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--10,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--9,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl index 874620f3a24..fc8ee617371 100644 --- a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (2,0--3,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--4,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--3,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl index 3fb68701b0d..a0a6aa8e1d2 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl @@ -18,7 +18,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--8,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--9,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--8,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl index bf1517651e9..cd7b0dcd89f 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl @@ -25,7 +25,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--7,3), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--8,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,3), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl index 0f6e8574919..25e22d6c372 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--10,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--12,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--10,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Ident "FOO", (3,4--3,11)); If (Ident "MEH", (4,8--4,15)); diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl index 95b3b1193c2..9a54564d9af 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--11,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--12,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--11,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Not (Ident "DEBUG"), (3,4--3,14)); diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl index 309e45cb72d..1d55ec0e68a 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--6,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--8,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Ident "DEBUG", (3,4--3,13)); Else (5,4--5,9); EndIf (7,4--7,10)] diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl index 0d60a023eaf..ed586cf11ba 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--6,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Ident "DEBUG", (3,4--3,13)); EndIf (5,4--5,10)] diff --git a/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl b/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl index 65b7c6c556f..18a182d8eb0 100644 --- a/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl @@ -28,7 +28,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,14))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,14), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl index ca80ebf45a9..8245dab5007 100644 --- a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl @@ -22,7 +22,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,20))], PreXmlDocEmpty, [], - None, (2,0--3,0), { LeadingKeyword = None })], (true, true), + None, (2,0--2,20), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl index 4ac684664e3..c5f1c9e9498 100644 --- a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl +++ b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl @@ -22,7 +22,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,18))], PreXmlDocEmpty, [], - None, (2,0--3,0), { LeadingKeyword = None })], (true, true), + None, (2,0--2,18), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl index 64a376f178c..39a94694d13 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl @@ -7,11 +7,11 @@ ImplFile [Expr (AnonRecd (false, None, [], (1,0--1,2), { OpeningBraceRange = (1,0--1,2) }), - (1,0--1,2))], PreXmlDocEmpty, [], None, (1,0--2,0), + (1,0--1,2))], PreXmlDocEmpty, [], None, (1,0--1,2), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,2) parse error Unmatched '{|' -(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-04' based on the file name 'AnonymousRecords-04.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(1,2) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-04' based on the file name 'AnonymousRecords-04.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl index 38eb618a0ed..0befae14e81 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl @@ -7,11 +7,11 @@ ImplFile [Expr (AnonRecd (true, None, [], (1,0--1,9), { OpeningBraceRange = (1,7--1,9) }), - (1,0--1,9))], PreXmlDocEmpty, [], None, (1,0--2,0), + (1,0--1,9))], PreXmlDocEmpty, [], None, (1,0--1,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) (1,7)-(1,9) parse error Unmatched '{|' -(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-05' based on the file name 'AnonymousRecords-05.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(1,9) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-05' based on the file name 'AnonymousRecords-05.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl index b58b5e4c944..726c35d41e1 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl @@ -29,10 +29,10 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,8--1,9) })], (1,0--1,39), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,39), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-06' based on the file name 'AnonymousRecords-06.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(1,39) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-06' based on the file name 'AnonymousRecords-06.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl index 721b79a0308..da1a9cf7daf 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl @@ -58,7 +58,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (3,0--3,19), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--4,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--3,19), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 08.fs b/tests/service/data/SyntaxTree/Expression/LetIn 08.fs new file mode 100644 index 00000000000..7c9a018cba3 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 08.fs @@ -0,0 +1,6 @@ +module Module + +let x = 42 +do + let x = 1 in x + 1 + x diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 08.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 08.fs.bsl new file mode 100644 index 00000000000..f064242d20f --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 08.fs.bsl @@ -0,0 +1,59 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 08.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), None), + Named (SynIdent (x, None), false, None, (3,4--3,5)), None, + Const (Int32 42, (3,8--3,10)), (3,4--3,5), Yes (3,0--3,10), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })], (3,0--3,10), + { InKeyword = None }); + Expr + (Do + (Sequential + (SuppressNeither, true, + LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((5,4), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named (SynIdent (x, None), false, None, (5,8--5,9)), + None, Const (Int32 1, (5,12--5,13)), (5,8--5,9), + Yes (5,4--5,13), + { LeadingKeyword = Let (5,4--5,7) + InlineKeyword = None + EqualsRange = Some (5,10--5,11) })] + Body = + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (5,19--5,20)), Ident x, (5,17--5,20)), + Const (Int32 1, (5,21--5,22)), (5,17--5,22)) + Range = (5,4--5,22) + Trivia = { InKeyword = Some (5,14--5,16) } + IsFromSource = true }, Ident x, (5,4--6,5), + { SeparatorRange = None }), (4,0--6,5)), (4,0--6,5))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--6,5), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 09.fs b/tests/service/data/SyntaxTree/Expression/LetIn 09.fs new file mode 100644 index 00000000000..94b4bdcaa78 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 09.fs @@ -0,0 +1,5 @@ +module Module + +let f () = + let x = 1 in x + 1 + printfn "hello" diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 09.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 09.fs.bsl new file mode 100644 index 00000000000..4760f1bf4de --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 09.fs.bsl @@ -0,0 +1,64 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 09.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Let + (false, + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([[]], SynArgInfo ([], false, None)), None), + LongIdent + (SynLongIdent ([f], [], [None]), None, None, + Pats [Paren (Const (Unit, (3,6--3,8)), (3,6--3,8))], None, + (3,4--3,8)), None, + Sequential + (SuppressNeither, true, + LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, + SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named + (SynIdent (x, None), false, None, (4,8--4,9)), + None, Const (Int32 1, (4,12--4,13)), (4,8--4,9), + Yes (4,4--4,13), + { LeadingKeyword = Let (4,4--4,7) + InlineKeyword = None + EqualsRange = Some (4,10--4,11) })] + Body = + App + (NonAtomic, false, + App + (NonAtomic, true, + LongIdent + (false, + SynLongIdent + ([op_Addition], [], + [Some (OriginalNotation "+")]), None, + (4,19--4,20)), Ident x, (4,17--4,20)), + Const (Int32 1, (4,21--4,22)), (4,17--4,22)) + Range = (4,4--4,22) + Trivia = { InKeyword = Some (4,14--4,16) } + IsFromSource = true }, + App + (NonAtomic, false, Ident printfn, + Const + (String ("hello", Regular, (5,12--5,19)), (5,12--5,19)), + (5,4--5,19)), (4,4--5,19), { SeparatorRange = None }), + (3,4--3,8), NoneAtLet, { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,9--3,10) })], + (3,0--5,19), { InKeyword = None })], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,19), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 10.fs b/tests/service/data/SyntaxTree/Expression/LetIn 10.fs new file mode 100644 index 00000000000..0e6895f4b6a --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 10.fs @@ -0,0 +1,5 @@ +module Module + +let a = 1 in b + c +d diff --git a/tests/service/data/SyntaxTree/Expression/LetIn 10.fs.bsl b/tests/service/data/SyntaxTree/Expression/LetIn 10.fs.bsl new file mode 100644 index 00000000000..3e2bff89305 --- /dev/null +++ b/tests/service/data/SyntaxTree/Expression/LetIn 10.fs.bsl @@ -0,0 +1,33 @@ +ImplFile + (ParsedImplFileInput + ("/root/Expression/LetIn 10.fs", false, QualifiedNameOfFile Module, [], + [SynModuleOrNamespace + ([Module], false, NamedModule, + [Expr + (LetOrUse + { IsRecursive = false + Bindings = + [SynBinding + (None, Normal, false, false, [], + PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), + SynValData + (None, SynValInfo ([], SynArgInfo ([], false, None)), + None), + Named (SynIdent (a, None), false, None, (3,4--3,5)), None, + Const (Int32 1, (3,8--3,9)), (3,4--3,5), Yes (3,0--3,9), + { LeadingKeyword = Let (3,0--3,3) + InlineKeyword = None + EqualsRange = Some (3,6--3,7) })] + Body = + Sequential + (SuppressNeither, true, Ident b, Ident c, (3,13--4,14), + { SeparatorRange = None }) + Range = (3,0--4,14) + Trivia = { InKeyword = Some (3,10--3,12) } + IsFromSource = true }, (3,0--4,14)); + Expr (Ident d, (5,0--5,1))], + PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, + (1,0--5,1), { LeadingKeyword = Module (1,0--1,6) })], (true, true), + { ConditionalDirectives = [] + WarnDirectives = [] + CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl index 8a70f1d6395..14f792d8a98 100644 --- a/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl @@ -70,7 +70,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,9--2,10) })], (2,0--5,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--5,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl index 763ab6d97b8..82d4843ec0e 100644 --- a/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl @@ -9,10 +9,10 @@ ImplFile (Sequential (SuppressNeither, true, Ident a, Ident b, (1,3--1,8), { SeparatorRange = Some (1,5--1,6) }), (1,0--1,8)), - (1,0--1,8))], PreXmlDocEmpty, [], None, (1,0--2,0), + (1,0--1,8))], PreXmlDocEmpty, [], None, (1,0--1,8), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Sequential 01' based on the file name 'Sequential 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(1,8) parse warning The declarations in this file will be placed in an implicit module 'Sequential 01' based on the file name 'Sequential 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl index 724388842b5..e8e6a6d966a 100644 --- a/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl @@ -9,10 +9,10 @@ ImplFile (Sequential (SuppressNeither, false, Ident a, Ident b, (1,3--1,11), { SeparatorRange = Some (1,5--1,9) }), (1,0--1,11)), - (1,0--1,11))], PreXmlDocEmpty, [], None, (1,0--2,0), + (1,0--1,11))], PreXmlDocEmpty, [], None, (1,0--1,11), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Sequential 02' based on the file name 'Sequential 02.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(1,11) parse warning The declarations in this file will be placed in an implicit module 'Sequential 02' based on the file name 'Sequential 02.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl index 064662b49c7..8828e47273d 100644 --- a/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl @@ -12,9 +12,9 @@ ImplFile (Ident b, (1,10--1,15), Some (1,18--1,21), (1,10--1,21)), (1,3--1,21), { SeparatorRange = Some (1,5--1,9) }), (1,0--1,21)), (1,0--1,21))], PreXmlDocEmpty, [], None, - (1,0--2,0), { LeadingKeyword = None })], (true, true), + (1,0--1,21), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Sequential 03' based on the file name 'Sequential 03.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(1,21) parse warning The declarations in this file will be placed in an implicit module 'Sequential 03' based on the file name 'Sequential 03.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl index 54b08da4d54..047fc84f816 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl @@ -21,7 +21,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--6,18), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,18), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl index d2c4077e59c..fd030b652bd 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl @@ -15,7 +15,7 @@ ImplFile (NonAtomic, false, Ident printf, Const (String ("%d ", Regular, (3,7--3,12)), (3,7--3,12)), (3,0--3,12)), Ident i, (3,0--3,14)), (2,0--3,14)), - (2,0--3,14))], PreXmlDocEmpty, [], None, (2,0--4,0), + (2,0--3,14))], PreXmlDocEmpty, [], None, (2,0--3,14), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl index b65ca5c4e11..4fb6595cbd2 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl @@ -23,7 +23,7 @@ ImplFile Range = (2,0--2,15) Trivia = { InKeyword = Some (2,10--2,12) } IsFromSource = true }, (2,0--2,15))], PreXmlDocEmpty, [], None, - (2,0--3,0), { LeadingKeyword = None })], (true, true), + (2,0--2,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl index 5ac7a4f817e..52db2919fb0 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl @@ -25,7 +25,7 @@ ImplFile Range = (3,0--4,2) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,2)), (2,0--4,2))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,2), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl index a49e4e9e41a..62696cf8b40 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl @@ -47,7 +47,7 @@ ImplFile Range = (3,0--4,16) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,16)), (2,0--4,16))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,16), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl index e8def5f575a..c700e2cc2f3 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl @@ -39,7 +39,7 @@ ImplFile Range = (3,4--5,6) Trivia = { InKeyword = Some (4,15--4,17) } IsFromSource = true }, (2,0--5,6)), (2,0--5,6))], - PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl index 871e70098d3..9984c93b774 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl @@ -16,7 +16,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,8), { MatchBangKeyword = (2,0--2,6) WithKeyword = (2,9--2,13) }), (2,0--3,8))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,8), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl index f1e4b950125..3a9249d29ca 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl @@ -16,7 +16,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,8), { MatchKeyword = (2,0--2,5) WithKeyword = (2,8--2,12) }), (2,0--3,8))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,8), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl index 43d2f88584e..ec65e2c9620 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl @@ -12,7 +12,7 @@ ImplFile (Ident x, Const (Unit, (5,0--5,2)), (2,0--5,2), Yes (2,0--2,3), Yes (4,0--4,7), { TryKeyword = (2,0--2,3) FinallyKeyword = (4,0--4,7) }), (2,0--5,2))], - PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,2), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl index 690618cda81..e5dd44ef813 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl @@ -19,7 +19,7 @@ ImplFile TryToWithRange = (2,0--4,4) WithKeyword = (4,0--4,4) WithToEndRange = (4,0--5,9) }), (2,0--5,9))], PreXmlDocEmpty, - [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--5,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl index 15cfd83a38c..ccffe6717d3 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl @@ -21,7 +21,7 @@ ImplFile ThenKeyword = (1,5--1,9) ElseKeyword = Some (3,0--3,4) IfToThenRange = (1,0--1,9) }), (1,0--4,5))], PreXmlDocEmpty, - [], None, (1,0--5,0), { LeadingKeyword = None })], (true, true), + [], None, (1,0--4,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [BlockComment (3,5--3,33)] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl index d3974f75b62..f5e780af6b4 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl @@ -14,7 +14,7 @@ ImplFile ThenKeyword = (1,5--1,9) ElseKeyword = None IfToThenRange = (1,0--1,9) }), (1,0--1,9)); - Expr (Ident b, (2,0--2,1))], PreXmlDocEmpty, [], None, (1,0--3,0), + Expr (Ident b, (2,0--2,1))], PreXmlDocEmpty, [], None, (1,0--2,1), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl index 6c91bc3c497..d544773b9f9 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl @@ -30,7 +30,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = None IfToThenRange = (2,0--2,9) }), (2,0--10,13))], PreXmlDocEmpty, - [], None, (2,0--11,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--10,13), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl index 8880778d7d4..f89e5ce5700 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl @@ -12,7 +12,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = Some (2,12--2,16) IfToThenRange = (2,0--2,9) }), (2,0--2,18))], - PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--2,18), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl index e5e31766436..0c3327a2bb2 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl @@ -12,7 +12,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = None IfToThenRange = (2,0--2,9) }), (2,0--2,11))], PreXmlDocEmpty, - [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--2,11), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl index 7ecb4d2a588..c1a8068ad45 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl @@ -12,7 +12,7 @@ ImplFile ThenKeyword = (3,0--3,4) ElseKeyword = Some (4,0--4,4) IfToThenRange = (2,0--3,4) }), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl index 4d59e2371b3..8749ac87a26 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl @@ -21,7 +21,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = None IfToThenRange = (2,0--2,9) }), (2,0--4,13))], PreXmlDocEmpty, - [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--4,13), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl index 8085e2915cd..79ad86a1016 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl @@ -21,7 +21,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = Some (4,0--4,4) IfToThenRange = (2,0--2,9) }), (2,0--5,15))], PreXmlDocEmpty, - [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--5,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl index 7b9c52347c3..ddaabcd972d 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl @@ -21,7 +21,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = Some (4,0--4,4) IfToThenRange = (2,0--2,9) }), (2,0--5,5))], PreXmlDocEmpty, - [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--5,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl index 7e0dcdbacdc..2fcdd5fc460 100644 --- a/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl @@ -166,7 +166,7 @@ ImplFile { MatchKeyword = (3,5--6,13) WithKeyword = (3,5--6,13) })), (2,0--6,13), { ArrowRange = Some (5,4--5,6) }), (2,0--6,13))], - PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--6,13), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl index 575a421c923..ff411cdb4eb 100644 --- a/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl @@ -69,7 +69,7 @@ ImplFile { MatchKeyword = (2,4--2,22) WithKeyword = (2,4--2,22) })), (2,0--2,22), { ArrowRange = Some (2,14--2,16) }), (2,0--2,22))], - PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--2,22), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl index e85c474072a..8cb44086e13 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl @@ -36,7 +36,7 @@ ImplFile (2,6--2,12)); Named (SynIdent (c, None), false, None, (2,13--2,14))], Ident x), (2,0--2,19), { ArrowRange = Some (2,15--2,17) }), - (2,0--2,19))], PreXmlDocEmpty, [], None, (2,0--3,0), + (2,0--2,19))], PreXmlDocEmpty, [], None, (2,0--2,19), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl index 8e77bc9eed1..a2e36f79086 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl @@ -20,7 +20,7 @@ ImplFile ([Named (SynIdent (a, None), false, None, (2,4--2,5)); Named (SynIdent (b, None), false, None, (2,6--2,7))], Ident x), (2,0--2,12), { ArrowRange = Some (2,8--2,10) }), - (2,0--2,12))], PreXmlDocEmpty, [], None, (2,0--3,0), + (2,0--2,12))], PreXmlDocEmpty, [], None, (2,0--2,12), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl index e38de7b5537..16a7576c50d 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl @@ -27,7 +27,7 @@ ImplFile Wild (2,6--2,7); Named (SynIdent (b, None), false, None, (2,8--2,9))], Ident x), (2,0--2,14), { ArrowRange = Some (2,10--2,12) }), - (2,0--2,14))], PreXmlDocEmpty, [], None, (2,0--3,0), + (2,0--2,14))], PreXmlDocEmpty, [], None, (2,0--2,14), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl index eb2ff3402e8..4c530b74aae 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl @@ -30,7 +30,7 @@ ImplFile Some ([Wild (2,13--2,14)], Ident x), (2,9--2,19), { ArrowRange = Some (2,15--2,17) })), (2,0--2,19), { ArrowRange = Some (2,6--2,8) }), (2,0--2,19))], - PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--2,19), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl index 40da24ed4d1..a82e1b1d91b 100644 --- a/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl @@ -70,7 +70,7 @@ ImplFile Ident y, (4,32--4,37)), (4,32--4,39)), Ident z, (4,32--4,41))), (2,0--4,41), { ArrowRange = Some (3,28--3,30) }), (2,0--4,41))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,41), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl index 54ee6a39cde..8c8a79394a5 100644 --- a/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl @@ -13,7 +13,7 @@ ImplFile Some ([Named (SynIdent (x, None), false, None, (2,4--2,5))], Ident x), (2,0--2,10), { ArrowRange = Some (2,6--2,8) }), - (2,0--2,10))], PreXmlDocEmpty, [], None, (2,0--3,0), + (2,0--2,10))], PreXmlDocEmpty, [], None, (2,0--2,10), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl index 788eb98a507..bbdb4824550 100644 --- a/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl @@ -39,7 +39,7 @@ ImplFile None, (2,16--2,17)), Ident x, (2,14--2,17)), Const (Int32 3, (2,18--2,19)), (2,14--2,19))), (2,0--2,19), { ArrowRange = Some (2,11--2,13) }), (2,0--2,19))], - PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--2,19), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl index 34aa70d3379..6390634614e 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl @@ -35,7 +35,7 @@ ImplFile (2,5--3,20), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,20))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,20), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl index 9f3ccbf040b..dced6d41a25 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl @@ -36,7 +36,7 @@ ImplFile (2,5--3,27), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,27))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,27), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl index 4aa2963c410..82b1033363d 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl @@ -57,7 +57,7 @@ ImplFile NoneAtLet, { LeadingKeyword = And (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,8--3,9) })], (2,0--3,15), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl index 028585bc0b5..238c30c9aff 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl @@ -38,7 +38,7 @@ ImplFile (2,5--3,27), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,27))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,27), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl index 14ae9d51f17..ace49c56f7d 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl @@ -27,7 +27,7 @@ ImplFile (2,5--3,9), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,9))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl index 74f4d74b17e..0b4fafbd3df 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl @@ -28,7 +28,7 @@ ImplFile (2,5--3,16), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,16))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,16), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl index 982311fccfe..a66eee95b60 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl @@ -31,7 +31,7 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,8--2,9) })], (2,0--2,15), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl index 2569de7dba4..5f9cefc7eb4 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl @@ -32,7 +32,7 @@ ImplFile NoneAtLet, { LeadingKeyword = LetRec ((2,0--2,3), (2,4--2,7)) InlineKeyword = None EqualsRange = Some (2,12--2,13) })], (2,0--2,19), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,19), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl index 3d161da52e3..a8a06413c0d 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl @@ -43,7 +43,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,26))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,26), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl index d9ba80b80df..0794e6a8f28 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl @@ -38,7 +38,7 @@ ImplFile (2,5--3,26), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,26))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,26), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl index ebc374d1432..95463622f8a 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl @@ -59,7 +59,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,30))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,30), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl index f9d0ec25562..88d5905d724 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl @@ -48,7 +48,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,28))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,28), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl index 837e1b368fd..25a131aa4e9 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl @@ -38,7 +38,7 @@ ImplFile (2,5--3,28), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,28))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,28), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl index e75b4c25218..ba8b538a823 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl @@ -40,7 +40,7 @@ ImplFile (2,5--3,34), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,34))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,34), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl index 73e5a522b4b..c06f7a76bd0 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl @@ -41,7 +41,7 @@ ImplFile (2,5--3,41), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,41))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,41), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl index ef71149048c..8c2ab6837dc 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl @@ -33,7 +33,7 @@ ImplFile None, (2,5--3,24), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,24))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,24), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl index 5251188440d..818ea44fb9a 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl @@ -39,7 +39,7 @@ ImplFile None, (2,5--3,41), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,41))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,41), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl index 541b6f582a9..c48dc9a4016 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl @@ -45,7 +45,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,29))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,29), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl index feb33135568..67eeaf87b8f 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl @@ -39,7 +39,7 @@ ImplFile (2,5--3,33), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,33))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,33), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl index acb1aa99958..465ce764738 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl @@ -27,7 +27,7 @@ ImplFile Range = (3,4--4,6) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,6)), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl index 2e9c69bdb72..f05e5b81acd 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl @@ -27,7 +27,7 @@ ImplFile Range = (3,4--4,6) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,6)), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl index 4fb707a309e..6856c6777db 100644 --- a/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl @@ -21,7 +21,7 @@ ImplFile TryToWithRange = (2,0--4,4) WithKeyword = (4,0--4,4) WithToEndRange = (4,0--6,6) }), (2,0--6,6))], - PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--6,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (5,4--5,19)] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl index 23af64bcfe3..ad2b0f62c7c 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl @@ -17,7 +17,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,15), { MatchKeyword = (2,0--2,5) WithKeyword = (2,10--2,14) }), (2,0--3,15))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,15), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl index 37445cfd5a1..a8af55281b5 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl @@ -23,7 +23,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,36), { MatchKeyword = (2,0--2,5) WithKeyword = (2,10--2,14) }), (2,0--3,36))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,36), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl index 5a1bf39c36b..f2045889333 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl @@ -31,7 +31,7 @@ ImplFile TryToWithRange = (2,0--4,4) WithKeyword = (4,0--4,4) WithToEndRange = (4,0--8,10) }), (2,0--8,10))], - PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--8,10), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (6,4--6,19)] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl index 07c297570a9..e29508ddf90 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl @@ -24,7 +24,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,36), { MatchKeyword = (2,0--2,5) WithKeyword = (2,10--2,14) }), (2,0--3,36))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,36), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl index 8df2cbe5f9f..5579433fe26 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl @@ -20,7 +20,7 @@ ImplFile TryToWithRange = (2,0--4,4) WithKeyword = (4,0--4,4) WithToEndRange = (4,0--5,11) }), (2,0--5,11))], - PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,11), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl index dbe210b96d4..b0ea666f29c 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl @@ -35,7 +35,7 @@ ImplFile BarRange = Some (4,0--4,1) })], (2,0--4,20), { MatchKeyword = (2,0--2,5) WithKeyword = (2,10--2,14) }), (2,0--4,20))], PreXmlDocEmpty, - [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--4,20), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl index 7e93cf92fbc..95148ffdea6 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl @@ -56,7 +56,7 @@ ImplFile TryToWithRange = (2,0--5,4) WithKeyword = (5,0--5,4) WithToEndRange = (5,0--10,8) }), (2,0--10,8))], - PreXmlDocEmpty, [], None, (2,0--11,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--10,8), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl index 4227bf63c82..4d3804fe949 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl @@ -50,7 +50,7 @@ ImplFile TryToWithRange = (2,0--5,4) WithKeyword = (5,0--5,4) WithToEndRange = (5,0--7,8) }), (2,0--7,8))], - PreXmlDocEmpty, [], None, (2,0--8,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--7,8), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl index 284e3c115de..7e48d10f291 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl @@ -40,7 +40,7 @@ ImplFile TryToWithRange = (2,0--5,4) WithKeyword = (5,0--5,4) WithToEndRange = (5,0--8,1) }), - (2,0--8,1))], PreXmlDocEmpty, [], None, (2,0--9,0), + (2,0--8,1))], PreXmlDocEmpty, [], None, (2,0--8,1), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl b/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl index 9dff13b0b57..13cf9421552 100644 --- a/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl @@ -40,7 +40,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (3,0--3,17), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--4,0), { LeadingKeyword = None })], (true, true), + (2,0--3,17), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl index 33675b1a3a1..dc1c5fab8ed 100644 --- a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl @@ -28,7 +28,7 @@ ImplFile (2,0--2,29), { LeadingKeyword = Type (2,12--2,16) EqualsRange = Some (2,19--2,20) WithKeyword = None })], (2,0--2,29))], - PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--2,29), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl index fc29ce7d7e1..ad41bdf7457 100644 --- a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl @@ -28,7 +28,7 @@ ImplFile (2,0--2,26), { LeadingKeyword = Type (2,12--2,16) EqualsRange = Some (2,19--2,20) WithKeyword = None })], (2,0--2,26))], - PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--2,26), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl index 6e423837385..4dea9a8589b 100644 --- a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl @@ -30,7 +30,7 @@ ImplFile (2,0--2,30), { LeadingKeyword = Type (2,12--2,16) EqualsRange = Some (2,19--2,20) WithKeyword = None })], (2,0--2,30))], - PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--2,30), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl index f09cb92e147..0c5bb838dce 100644 --- a/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl @@ -81,7 +81,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--5,29))], PreXmlDocEmpty, [], - None, (2,0--6,0), { LeadingKeyword = None })], (true, true), + None, (2,0--5,29), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl index 06e7e3f9fdc..4fc0fa00cff 100644 --- a/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl @@ -77,7 +77,7 @@ ImplFile (2,5--8,13), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (4,12--4,13) WithKeyword = None })], (2,0--8,13))], - PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--8,13), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl index 65401553b8f..566f35238c5 100644 --- a/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl @@ -43,7 +43,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,29))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,29), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl index 110af6cd16c..0a431cec9a5 100644 --- a/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl @@ -98,7 +98,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--6,50))], PreXmlDocEmpty, [], - None, (2,0--7,0), { LeadingKeyword = None })], (true, true), + None, (2,0--6,50), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (3,4--3,29)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl index 4838003cfc0..9ae806ce733 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl @@ -50,7 +50,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--3,42))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,42), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl index 3009a787588..ba137ac80d9 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl @@ -84,7 +84,7 @@ ImplFile { LeadingKeyword = Type (3,0--3,4) EqualsRange = Some (3,38--3,39) WithKeyword = None })], (2,0--5,40))], PreXmlDocEmpty, [], - None, (3,0--6,0), { LeadingKeyword = None })], (true, true), + None, (3,0--5,40), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl index f437240766a..44160d14078 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl @@ -70,7 +70,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,39))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,39), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl index cf045eeca1f..f417d2eeeec 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl @@ -50,7 +50,7 @@ ImplFile None, (2,5--4,29), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--4,29))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,29), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl index 97c59244fb9..0f3965b45a9 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl @@ -110,7 +110,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,62))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,62), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl index 7277f5e58c2..4ff5f22cbd9 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl @@ -107,7 +107,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--5,54))], PreXmlDocEmpty, [], - None, (2,0--6,0), { LeadingKeyword = None })], (true, true), + None, (2,0--5,54), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl index 905d4abcc41..85cdd796b00 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl @@ -105,7 +105,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,8--2,9) })], (2,0--7,34), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--8,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,34), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl index bbc45fd79ae..fa3916ab6ff 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl @@ -56,7 +56,7 @@ ImplFile (2,5--4,26), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,26))], - PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,26), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl index 2f12d930aa0..3e81cf47683 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl @@ -108,7 +108,7 @@ ImplFile (2,5--6,27), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--6,27))], - PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--6,27), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl index ddf52181d1c..bed97db53de 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl @@ -125,7 +125,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--6,25))], PreXmlDocEmpty, [], - None, (2,0--7,0), { LeadingKeyword = None })], (true, true), + None, (2,0--6,25), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl b/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl index 5b493568519..92374a61895 100644 --- a/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl @@ -12,7 +12,7 @@ ImplFile [Expr (Const (Unit, (3,4--3,6)), (3,4--3,6))], false, (2,0--3,6), { ModuleKeyword = Some (2,0--2,6) EqualsRange = Some (2,9--2,10) })], PreXmlDocEmpty, [], None, - (2,0--4,0), { LeadingKeyword = None })], (true, true), + (2,0--3,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl b/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl index d544fd6cd7b..822e649f3e8 100644 --- a/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl @@ -55,7 +55,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,20--2,21) WithKeyword = None })], (1,0--3,51))], PreXmlDocEmpty, [], - None, (1,0--4,0), { LeadingKeyword = None })], (true, true), + None, (1,0--3,51), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl index 13161fa49f4..4b4c20e4bd4 100644 --- a/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl @@ -34,7 +34,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,8--1,9) WithKeyword = None })], (1,0--1,35))], PreXmlDocEmpty, [], - None, (1,0--2,0), { LeadingKeyword = None })], (true, true), + None, (1,0--1,35), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl b/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl index 51050a8e198..450e66b882a 100644 --- a/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl @@ -41,7 +41,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,8--1,9) WithKeyword = None })], (1,0--1,41))], PreXmlDocEmpty, [], - None, (1,0--2,0), { LeadingKeyword = None })], (true, true), + None, (1,0--1,41), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl b/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl index 8626a3204af..1caa5cf15fc 100644 --- a/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl @@ -27,7 +27,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,14--1,15) WithKeyword = None })], (1,0--4,7))], PreXmlDocEmpty, [], - None, (1,0--5,0), { LeadingKeyword = None })], (true, true), + None, (1,0--4,7), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl b/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl index 1163ccbe7a0..0e169633415 100644 --- a/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl @@ -43,7 +43,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (1,48--1,49) })], (1,0--1,52), { InKeyword = None })], PreXmlDocEmpty, [], None, - (1,0--2,0), { LeadingKeyword = None })], (true, true), + (1,0--1,52), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl index beef982627b..921c852f5f8 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl @@ -37,7 +37,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,51--1,52) })], (1,0--1,57), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,57), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl index ced1fa2ca34..16437dcb4e4 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,37--1,38) })], (1,0--1,41), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,41), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl index 04a03f8646c..f07361921e9 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl @@ -31,7 +31,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (1,33--1,34) })], (1,0--1,37), { InKeyword = None })], PreXmlDocEmpty, [], None, - (1,0--2,0), { LeadingKeyword = None })], (true, true), + (1,0--1,37), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl index 2e217784614..6bdf6a3ded3 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl @@ -23,7 +23,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,29--1,30) WithKeyword = None })], (1,0--1,40))], PreXmlDocEmpty, [], - None, (1,0--2,0), { LeadingKeyword = None })], (true, true), + None, (1,0--1,40), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl index 4f47caa397c..74ea5bb5b77 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl @@ -26,7 +26,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,45--1,46) WithKeyword = None })], (1,0--1,56))], PreXmlDocEmpty, [], - None, (1,0--2,0), { LeadingKeyword = None })], (true, true), + None, (1,0--1,56), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl index 0ea0210a109..296f45fab77 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl @@ -27,9 +27,9 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,47--1,48) WithKeyword = None })], (1,0--1,58))], PreXmlDocEmpty, [], - None, (1,0--2,0), { LeadingKeyword = None })], (true, true), + None, (1,0--1,58), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane' based on the file name 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(1,58) parse warning The declarations in this file will be placed in an implicit module 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane' based on the file name 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl index 59936ebce22..d82c0902345 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl @@ -22,7 +22,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,25--1,26) WithKeyword = None })], (1,0--1,36))], PreXmlDocEmpty, [], - None, (1,0--2,0), { LeadingKeyword = None })], (true, true), + None, (1,0--1,36), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl index 59b59562625..a6ba3707b3d 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl @@ -25,7 +25,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,45--1,46) WithKeyword = None })], (1,0--1,56))], PreXmlDocEmpty, [], - None, (1,0--2,0), { LeadingKeyword = None })], (true, true), + None, (1,0--1,56), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl index a7ad67de505..9347d0a0328 100644 --- a/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl @@ -34,7 +34,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (1,24--1,25) })], (1,0--1,28), { InKeyword = None })], PreXmlDocEmpty, [], None, - (1,0--2,0), { LeadingKeyword = None })], (true, true), + (1,0--1,28), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl index 2ba92634916..6834bd9d4bb 100644 --- a/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl @@ -33,7 +33,7 @@ ImplFile Yes (1,0--1,23), { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = None })], (1,0--1,23), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,23), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl index 773ff445618..9a584a7c79d 100644 --- a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl @@ -18,7 +18,7 @@ ImplFile BarRange = Some (2,0--2,1) })], (1,0--2,24), { MatchKeyword = (1,0--1,5) WithKeyword = (1,8--1,12) }), (1,0--2,24))], PreXmlDocEmpty, - [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), + [], None, (1,0--2,24), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl index 9576ea6b023..b8141c30794 100644 --- a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl @@ -19,7 +19,7 @@ ImplFile BarRange = Some (2,0--2,1) })], (1,0--2,26), { MatchKeyword = (1,0--1,5) WithKeyword = (1,8--1,12) }), (1,0--2,26))], PreXmlDocEmpty, - [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), + [], None, (1,0--2,26), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl index 00f7882ac7f..95b27743722 100644 --- a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl @@ -21,7 +21,7 @@ ImplFile BarRange = Some (2,0--2,1) })], (1,0--2,33), { MatchKeyword = (1,0--1,5) WithKeyword = (1,8--1,12) }), (1,0--2,33))], PreXmlDocEmpty, - [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), + [], None, (1,0--2,33), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl b/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl index 115fe6c5406..a1bc1dd9602 100644 --- a/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl @@ -68,7 +68,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,64--1,65) })], (1,0--1,70), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,70), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl index 79d2dfce12c..225321337f2 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl @@ -50,7 +50,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,23--1,24) WithKeyword = None })], (1,0--7,19))], PreXmlDocEmpty, [], - None, (1,0--8,0), { LeadingKeyword = None })], (true, true), + None, (1,0--7,19), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl index 502b1ba39e7..a8ab331fe5e 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl @@ -56,7 +56,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,16--1,17) WithKeyword = None })], (1,0--3,33))], PreXmlDocEmpty, [], - None, (1,0--3,34), { LeadingKeyword = None })], (true, true), + None, (1,0--3,33), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl b/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl index 317752b3425..690a3e7fd24 100644 --- a/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl @@ -55,7 +55,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,20--1,21) WithKeyword = None })], (1,0--2,61))], PreXmlDocEmpty, [], - None, (1,0--3,0), { LeadingKeyword = None })], (true, true), + None, (1,0--2,61), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl index 7d205e16fef..748146c9dfd 100644 --- a/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl @@ -27,7 +27,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,22--1,23) })], (1,0--1,28), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,28), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl b/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl index 89a2cf25e55..05886606bdc 100644 --- a/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,32--1,33) })], (1,0--1,36), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,36), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl index 9e6d6ffa604..9873dfe7cc6 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl @@ -60,7 +60,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,26--2,27) })], (2,0--2,59), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,59), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl index faa01ee9c32..d85b688b2c5 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl @@ -57,7 +57,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--7,6))], PreXmlDocEmpty, [], - None, (2,0--8,0), { LeadingKeyword = None })], (true, true), + None, (2,0--7,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl index bfe1edd8570..b494fd7611e 100644 --- a/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl @@ -38,7 +38,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,12--2,13) })], (2,0--2,19), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,19), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl index 6a073559389..e691253c66a 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl @@ -109,7 +109,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,79))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,79), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl index 5137e642c9a..1fb231f1bf0 100644 --- a/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl @@ -58,7 +58,7 @@ ImplFile None, (2,5--3,28), { LeadingKeyword = Type (2,0--2,4) EqualsRange = None WithKeyword = None })], (2,0--3,28))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,28), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl index eea2cad6200..75f40acccd7 100644 --- a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl @@ -48,7 +48,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,35--2,36) })], (2,0--2,88), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,88), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl index 3253f26b962..f297f22b8ef 100644 --- a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl @@ -25,7 +25,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,18--2,19) })], (2,0--2,33), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,33), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl index e6a9d22b312..568eab9ee5d 100644 --- a/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl @@ -40,7 +40,7 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,23--2,24) })], (2,0--2,40), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,40), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl b/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl index b051e774443..06390308b66 100644 --- a/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl @@ -27,7 +27,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,11--2,12) })], (2,0--2,24), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,24), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl b/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl index 53eba0b1b3a..85ac6e19fcb 100644 --- a/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl @@ -23,7 +23,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,24), { MatchKeyword = (2,0--2,5) WithKeyword = (2,8--2,12) }), (2,0--3,24))], PreXmlDocEmpty, - [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--3,24), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl b/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl index ef6ff484d63..af10ffc38c7 100644 --- a/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl @@ -30,7 +30,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,17--2,18) })], (2,0--2,28), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,28), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl b/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl index d8fea47cf6f..5d84ab6ba5d 100644 --- a/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl @@ -32,7 +32,7 @@ ImplFile BarRange = Some (6,0--6,1) })], (2,0--6,22), { MatchKeyword = (2,0--2,5) WithKeyword = (2,11--2,15) }), (2,0--6,22))], PreXmlDocEmpty, - [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--6,22), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (3,15--3,21); BlockComment (5,2--5,11)] }, diff --git a/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl index b25fece4c04..e273e9d8d7b 100644 --- a/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl @@ -25,7 +25,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,16), { MatchKeyword = (2,0--2,5) WithKeyword = (2,8--2,12) }), (2,0--3,16))], PreXmlDocEmpty, - [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--3,16), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl b/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl index 4f60ec0e26f..923ba4326f5 100644 --- a/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl @@ -25,7 +25,7 @@ ImplFile BarRange = Some (5,0--5,1) })], (2,0--5,9), { MatchKeyword = (2,0--2,5) WithKeyword = (2,8--2,12) }), (2,0--5,9))], PreXmlDocEmpty, - [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), + [], None, (2,0--5,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl index 2a904b29554..bd9494be9bd 100644 --- a/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl @@ -29,7 +29,7 @@ SigFile { LeadingKeyword = And (3,0--3,3) EqualsRange = Some (3,6--3,7) WithKeyword = None })], (2,0--3,11))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], + None, (2,0--3,11), { LeadingKeyword = None })], { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl index d75deb2559f..1d6e5166b4c 100644 --- a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl @@ -18,7 +18,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,10--2,11) })], (2,0--2,17), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,17), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl index 3558453d510..a20bd2188e9 100644 --- a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl @@ -18,7 +18,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,10--2,11) })], (2,0--2,18), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,18), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl index d7e456fbf21..47384a6b664 100644 --- a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl @@ -17,7 +17,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,12), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--3,0), { LeadingKeyword = None })], (true, true), + (2,0--2,12), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl index a6367f49c08..46e536c047d 100644 --- a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl @@ -17,7 +17,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,16), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--3,0), { LeadingKeyword = None })], (true, true), + (2,0--2,16), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl index 3ac4b59d559..eb2e4bc4191 100644 --- a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl @@ -17,7 +17,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,13), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--3,0), { LeadingKeyword = None })], (true, true), + (2,0--2,13), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl index 7026b9a1034..9fcb671cc39 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl @@ -20,7 +20,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,18), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--3,0), { LeadingKeyword = None })], (true, true), + (2,0--2,18), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl index 9e42b6455ce..02308212063 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl @@ -23,7 +23,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,22), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--3,0), { LeadingKeyword = None })], (true, true), + (2,0--2,22), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl index 2fb03900ebf..b3817f4d54a 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl @@ -23,7 +23,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,70), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,70), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl b/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl index 0519b1b2187..24558691a94 100644 --- a/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl @@ -100,7 +100,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,34--2,35) })], (2,0--2,100), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,100), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl b/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl index 1e3e4c88ac6..3ebeebbf172 100644 --- a/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl @@ -189,7 +189,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--4,60))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,60), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl index de6b23fb759..218867e359b 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl @@ -77,7 +77,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,29--2,30) })], (2,0--2,84), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,84), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl index fe5574fc5fc..e26095d1477 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl @@ -84,7 +84,7 @@ ImplFile InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,106--2,107) })], (2,0--3,6), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--4,0), { LeadingKeyword = None })], (true, true), + (2,0--3,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl index 5e112be7de8..f9937481154 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl @@ -58,7 +58,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,21--2,22) })], (2,0--2,64), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,64), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl index c65846b5121..170c53a324d 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl @@ -89,7 +89,7 @@ SigFile (2,5--3,63), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,63))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,63), { LeadingKeyword = None })], { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl index 6519bc1260e..578a1c99fd1 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl @@ -53,7 +53,7 @@ SigFile (2,5--3,34), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,34))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,34), { LeadingKeyword = None })], { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl b/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl index 478489a67f7..10fc6588f58 100644 --- a/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl @@ -70,7 +70,7 @@ ImplFile (2,5--3,46), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,46))], - PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,46), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl b/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl index 26f912fd463..7e8441649ca 100644 --- a/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl @@ -28,7 +28,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,13))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,13), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl b/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl index cd9f16db52b..45199687092 100644 --- a/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl @@ -85,7 +85,7 @@ ImplFile (2,5--2,46), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,46))], - PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--2,46), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl b/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl index 79bbd17b1a6..8d6e6bdf2a0 100644 --- a/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl @@ -20,7 +20,7 @@ ImplFile { LeadingKeyword = Type (3,0--3,4) EqualsRange = Some (3,9--3,10) WithKeyword = None })], (2,0--5,7))], PreXmlDocEmpty, [], - None, (2,0--6,0), { LeadingKeyword = None })], (true, true), + None, (2,0--5,7), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl b/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl index ad592dd5cbb..0681885c74a 100644 --- a/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl @@ -109,7 +109,7 @@ ImplFile { LeadingKeyword = And (6,0--6,3) EqualsRange = Some (6,56--6,57) WithKeyword = None })], (2,0--10,5))], PreXmlDocEmpty, [], - None, (2,0--11,0), { LeadingKeyword = None })], (true, true), + None, (2,0--10,5), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl b/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl index eebe5e89043..79b8b0689ab 100644 --- a/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl @@ -22,7 +22,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,27))], PreXmlDocEmpty, [], - None, (2,0--3,0), { LeadingKeyword = None })], (true, true), + None, (2,0--2,27), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl index 4a03a8854ac..1212bc3c07a 100644 --- a/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl @@ -63,7 +63,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--5,19))], PreXmlDocEmpty, [], - None, (2,0--6,0), { LeadingKeyword = None })], (true, true), + None, (2,0--5,19), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl index bdf9ec74f42..e7ba5e8f867 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl @@ -26,7 +26,7 @@ ImplFile { LeadingKeyword = Type (4,0--4,4) EqualsRange = Some (4,7--4,8) WithKeyword = None })], (2,0--4,10))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,10), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (3,0--3,8)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl index 200a42bb6be..e4ae1c86ead 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl @@ -40,7 +40,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = None WithKeyword = None })], (2,0--3,21))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,21), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl index 4ebef606401..53278778d7b 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl @@ -29,7 +29,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,10--2,11) WithKeyword = None })], (2,0--4,19))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,19), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl index ac4171bbf00..ed03f3c265d 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl @@ -48,7 +48,7 @@ ImplFile (2,5--2,37), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--2,37))], - PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--2,37), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl index 7cb9f5a2af5..11685c658c1 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl @@ -74,7 +74,7 @@ ImplFile None, (2,5--5,46), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = Some (4,4--4,8) })], - (2,0--5,46))], PreXmlDocEmpty, [], None, (2,0--6,0), + (2,0--5,46))], PreXmlDocEmpty, [], None, (2,0--5,46), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl index 561ab54725d..d4dd58ca8a4 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl @@ -50,7 +50,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,28))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,28), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl index 98690850046..6a3a72ce342 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = And (5,0--5,3) EqualsRange = Some (5,6--5,7) WithKeyword = None })], (2,0--5,9))], PreXmlDocEmpty, [], - None, (4,0--6,0), { LeadingKeyword = None })], (true, true), + None, (4,0--5,9), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (3,0--3,8)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl index 18cf4ffe778..83d242d62c7 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl @@ -21,7 +21,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,20))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,20), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (2,19--2,59)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl index a1c7db8a6dc..56d5e500cc9 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,26--2,27) })], (2,0--2,30), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,30), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl index a2e63034dd5..636eb8932da 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,25--2,26) })], (2,0--2,29), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,29), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl index 7b2aafa30de..c59f6bf8077 100644 --- a/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl @@ -41,7 +41,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,17))], PreXmlDocEmpty, [], - None, (2,0--5,0), { LeadingKeyword = None })], (true, true), + None, (2,0--4,17), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl index 732c0e0b8bf..dc3988cd8f6 100644 --- a/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl @@ -29,7 +29,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,14--2,15) WithKeyword = None })], (2,0--9,20))], PreXmlDocEmpty, [], - None, (2,0--10,0), { LeadingKeyword = None })], (true, true), + None, (2,0--9,20), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Not (Ident "FABLE_COMPILER"), (6,0--6,19)); EndIf (8,0--8,6)] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl index 7ed7778c9c9..4537fcf9e84 100644 --- a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl @@ -29,7 +29,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,26))], PreXmlDocEmpty, [], - None, (2,0--3,0), { LeadingKeyword = None })], (true, true), + None, (2,0--2,26), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl index a2888b02b10..a6533c726ef 100644 --- a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl @@ -29,7 +29,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,24))], PreXmlDocEmpty, [], - None, (2,0--3,0), { LeadingKeyword = None })], (true, true), + None, (2,0--2,24), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl index cd3e454e196..be3c2b4cd64 100644 --- a/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl @@ -35,7 +35,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,20))], PreXmlDocEmpty, [], - None, (2,0--4,0), { LeadingKeyword = None })], (true, true), + None, (2,0--3,20), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl index 57c3921ba18..dd9c1c6b12e 100644 --- a/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl @@ -36,7 +36,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--8,6))], PreXmlDocEmpty, [], - None, (2,0--9,0), { LeadingKeyword = None })], (true, true), + None, (2,0--8,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/WarnScope/IndentedWarnDirective.fs.bsl b/tests/service/data/SyntaxTree/WarnScope/IndentedWarnDirective.fs.bsl index 1acf18f6d2b..5342cff2268 100644 --- a/tests/service/data/SyntaxTree/WarnScope/IndentedWarnDirective.fs.bsl +++ b/tests/service/data/SyntaxTree/WarnScope/IndentedWarnDirective.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,6--1,7) })], (1,0--3,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--4,0), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--3,6), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [Nowarn (2,4--2,14)] From eaf6aae15d4e88777769088dd666913dcee622ec Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 20 Apr 2026 16:47:56 +0200 Subject: [PATCH 11/15] Fix CI: update diagnostic range in WarnExpressionTests after LexFilter scoping change The LexFilter LetInBodyScoping change correctly scopes 'let x = 1 in x + 1' to just that line. The 'x' on the next line is now in the outer scope, so Warning 20 targets (6,5)-(6,6) instead of the old (5,5)-(6,6). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../ErrorMessages/WarnExpressionTests.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs index 542b2721734..26cd56ff9fa 100644 --- a/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/ErrorMessages/WarnExpressionTests.fs @@ -310,7 +310,7 @@ do |> withDiagnostics [ (Warning 20, Line 5, Col 5, Line 5, Col 23, "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") - (Warning 20, Line 5, Col 5, Line 6, Col 6, + (Warning 20, Line 6, Col 5, Line 6, Col 6, "The result of this expression has type 'int' and is implicitly ignored. Consider using 'ignore' to discard this value explicitly, e.g. 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = expr'.") ] From d5209aa49d5182e04d3b844b215df6d519e5e7f7 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 20 Apr 2026 17:01:49 +0200 Subject: [PATCH 12/15] Fix comment: clarify seq block scoping includes continuation lines The body scope extends to continuation lines at the same or greater indentation, not just the single line. Updated comment to reflect this. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/Compiler/SyntaxTree/LexFilter.fs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Compiler/SyntaxTree/LexFilter.fs b/src/Compiler/SyntaxTree/LexFilter.fs index 505d17de22b..dc3cb380d7d 100644 --- a/src/Compiler/SyntaxTree/LexFilter.fs +++ b/src/Compiler/SyntaxTree/LexFilter.fs @@ -1687,8 +1687,9 @@ type LexFilterImpl ( if nextTokenStartPos.Line = tokenStartPos.Line then // When the body expression starts on the same line as the 'in' keyword in light syntax, - // push a new seq block to limit the body scope to that line. This prevents the parser - // from greedily capturing all subsequent lines as part of the let body. + // push a new seq block anchored at the body's start column. Offside rules then limit + // the body to the indented block starting on this line, preventing the parser from + // greedily capturing subsequent lines at lower indentation as part of the let body. pushCtxtSeqBlock tokenTup AddBlockEnd else // Body starts on a new line after 'in' — the user intentionally placed the body From 2f19f896535d876c7a8fc10e264b5f0e75996dad Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Mon, 20 Apr 2026 18:22:30 +0200 Subject: [PATCH 13/15] Revert pars.fsy AnonModule range change to fix IDE completions The AnonModule range change (ending at lastDecl.Range.End instead of OBLOCKEND/EOF position) broke IDE completions at end-of-file positions. This caused failures in EditorTests (Find function from var), CompletionTests (AllowObsolete), and Warning 988 position changes (CustomEquality01_fs, W_ImplIComparable_fs). Revert the pars.fsy change and restore SyntaxTree baselines. The AnonModule range redesign can be done in a separate PR with proper service-layer adjustments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/Compiler/pars.fsy | 15 ++------------- .../SyntaxTree/Attribute/RangeOfAttribute.fs.bsl | 2 +- .../Attribute/RangeOfAttributeWithPath.fs.bsl | 2 +- .../Attribute/RangeOfAttributeWithTarget.fs.bsl | 2 +- .../ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl | 2 +- ...oreReturnTypeIsPartOfTriviaInProperties.fs.bsl | 2 +- ...ConditionalDirectiveAroundInlineKeyword.fs.bsl | 2 +- .../Binding/InlineKeywordInBinding.fs.bsl | 2 +- ...tternShouldBeIncludedInSynModuleDeclLet.fs.bsl | 2 +- ...ncludedInConstructorSynMemberDefnMember.fs.bsl | 2 +- ...ConstructorSynMemberDefnMemberOptAsSpec.fs.bsl | 2 +- ...cludedInFullSynMemberDefnMemberProperty.fs.bsl | 2 +- ...eShouldBeIncludedInSecondaryConstructor.fs.bsl | 2 +- ...uldBeIncludedInSynMemberDefnLetBindings.fs.bsl | 2 +- ...teShouldBeIncludedInSynMemberDefnMember.fs.bsl | 2 +- ...ibuteShouldBeIncludedInSynModuleDeclLet.fs.bsl | 2 +- ...dInWriteOnlySynMemberDefnMemberProperty.fs.bsl | 2 +- ...ualSignShouldBePresentInLocalLetBinding.fs.bsl | 2 +- ...gnShouldBePresentInLocalLetBindingTyped.fs.bsl | 2 +- ...EqualSignShouldBePresentInMemberBinding.fs.bsl | 2 +- ...dBePresentInMemberBindingWithParameters.fs.bsl | 2 +- ...dBePresentInMemberBindingWithReturnType.fs.bsl | 2 +- ...ngeOfEqualSignShouldBePresentInProperty.fs.bsl | 2 +- ...houldBePresentInSynModuleDeclLetBinding.fs.bsl | 2 +- ...BePresentInSynModuleDeclLetBindingTyped.fs.bsl | 2 +- ...ShouldBePresentInSynExprLetOrUseBinding.fs.bsl | 2 +- ...houldBePresentInSynModuleDeclLetBinding.fs.bsl | 2 +- ...InSynModuleDeclLetBindingWithAttributes.fs.bsl | 2 +- ...leReturnTypeOfBindingShouldContainStars.fs.bsl | 2 +- .../CodeComment/BlockCommentInSourceCode.fs.bsl | 2 +- ...ouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl | 2 +- .../TripleSlashCommentShouldNotBeCaptured.fs.bsl | 2 +- ...nMultilineCommentAreNotReportedAsTrivia.fs.bsl | 2 +- ...InMultilineStringAreNotReportedAsTrivia.fs.bsl | 2 +- .../ConditionalDirective/NestedIfElseEndif.fs.bsl | 2 +- .../NestedIfEndifWithComplexExpressions.fs.bsl | 2 +- .../ConditionalDirective/SingleIfElseEndif.fs.bsl | 2 +- .../ConditionalDirective/SingleIfEndif.fs.bsl | 2 +- .../MultipleSynEnumCasesHaveBarRange.fs.bsl | 2 +- .../EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl | 2 +- .../EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl | 2 +- .../Expression/AnonymousRecords-04.fs.bsl | 4 ++-- .../Expression/AnonymousRecords-05.fs.bsl | 4 ++-- .../Expression/AnonymousRecords-06.fs.bsl | 4 ++-- .../DotLambda - _ Recovery - Casts.fsx.bsl | 2 +- ...ExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl | 2 +- .../SyntaxTree/Expression/Sequential 01.fs.bsl | 4 ++-- .../SyntaxTree/Expression/Sequential 02.fs.bsl | 4 ++-- .../SyntaxTree/Expression/Sequential 03.fs.bsl | 4 ++-- ...SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl | 2 +- ...nExprForContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...ExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl | 2 +- ...tOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl | 2 +- ...actersDoesNotContainTheRangeOfInKeyword.fs.bsl | 2 +- ...rsiveBindingContainsTheRangeOfInKeyword.fs.bsl | 2 +- ...ontainsTheRangeOfTheMatchAndWithKeyword.fs.bsl | 2 +- ...ontainsTheRangeOfTheMatchAndWithKeyword.fs.bsl | 2 +- ...yContainsTheRangeOfTheTryAndWithKeyword.fs.bsl | 2 +- ...hContainsTheRangeOfTheTryAndWithKeyword.fs.bsl | 2 +- .../IfThenElse/Comment after else 01.fs.bsl | 2 +- .../IfThenElse/Comment after else 02.fs.bsl | 2 +- .../IfThenElse/DeeplyNestedIfThenElse.fs.bsl | 2 +- .../ElseKeywordInSimpleIfThenElse.fs.bsl | 2 +- .../IfThenElse/IfKeywordInIfThenElse.fs.bsl | 2 +- .../IfThenAndElseKeywordOnSeparateLines.fs.bsl | 2 +- .../IfThenElse/NestedElifInIfThenElse.fs.bsl | 2 +- .../IfThenElse/NestedElseIfInIfThenElse.fs.bsl | 2 +- .../NestedElseIfOnTheSameLineInIfThenElse.fs.bsl | 2 +- .../ComplexArgumentsLambdaHasArrowRange.fs.bsl | 2 +- .../Lambda/DestructedLambdaHasArrowRange.fs.bsl | 2 +- ...leParameterWithWildCardGivesCorrectBody.fs.bsl | 2 +- ...LambdaWithTwoParametersGivesCorrectBody.fs.bsl | 2 +- ...daWithWildCardParameterGivesCorrectBody.fs.bsl | 2 +- ...dCardThatReturnsALambdaGivesCorrectBody.fs.bsl | 2 +- .../Lambda/MultilineLambdaHasArrowRange.fs.bsl | 2 +- .../Lambda/SimpleLambdaHasArrowRange.fs.bsl | 2 +- .../Lambda/TupleInLambdaHasArrowRange.fs.bsl | 2 +- .../LeadingKeyword/AbstractKeyword.fs.bsl | 2 +- .../LeadingKeyword/AbstractMemberKeyword.fs.bsl | 2 +- .../SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl | 2 +- .../LeadingKeyword/DefaultValKeyword.fs.bsl | 2 +- .../SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl | 2 +- .../LeadingKeyword/DoStaticKeyword.fs.bsl | 2 +- .../SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl | 2 +- .../LeadingKeyword/LetRecKeyword.fs.bsl | 2 +- .../LeadingKeyword/MemberKeyword.fs.bsl | 2 +- .../LeadingKeyword/MemberValKeyword.fs.bsl | 2 +- .../SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl | 2 +- .../LeadingKeyword/OverrideKeyword.fs.bsl | 2 +- .../LeadingKeyword/OverrideValKeyword.fs.bsl | 2 +- .../LeadingKeyword/StaticAbstractKeyword.fs.bsl | 2 +- .../StaticAbstractMemberKeyword.fs.bsl | 2 +- .../LeadingKeyword/StaticLetKeyword.fs.bsl | 2 +- .../LeadingKeyword/StaticLetRecKeyword.fs.bsl | 2 +- .../LeadingKeyword/StaticMemberKeyword.fs.bsl | 2 +- .../LeadingKeyword/StaticMemberValKeyword.fs.bsl | 2 +- .../SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl | 2 +- .../LeadingKeyword/UseRecKeyword.fs.bsl | 2 +- ...InASingleSynMatchClauseInSynExprTryWith.fs.bsl | 2 +- .../RangeOfArrowInSynMatchClause.fs.bsl | 2 +- ...geOfArrowInSynMatchClauseWithWhenClause.fs.bsl | 2 +- ...MultipleSynMatchClausesInSynExprTryWith.fs.bsl | 2 +- ...arInASingleSynMatchClauseInSynExprMatch.fs.bsl | 2 +- ...InASingleSynMatchClauseInSynExprTryWith.fs.bsl | 2 +- ...InMultipleSynMatchClausesInSynExprMatch.fs.bsl | 2 +- .../RangeOfMultipleSynMatchClause.fs.bsl | 2 +- .../RangeOfSingleSynMatchClause.fs.bsl | 2 +- ...angeOfSingleSynMatchClauseFollowedByBar.fs.bsl | 2 +- .../MeasureContainsTheRangeOfTheConstant.fs.bsl | 2 +- ...nTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl | 2 +- .../SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl | 2 +- ...TypeTupleInMeasureTypeWithStartAndSlash.fs.bsl | 2 +- .../Member/GetSetMemberWithInlineKeyword.fs.bsl | 2 +- .../Member/ImplicitCtorWithAsKeyword.fs.bsl | 2 +- .../Member/MemberWithInlineKeyword.fs.bsl | 2 +- ...nMemberContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...actSlotContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...PropertyContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...ropertyContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...nTypeDefnWithMemberWithGetHasXmlComment.fs.bsl | 2 +- .../Member/SynTypeDefnWithMemberWithSetget.fs.bsl | 2 +- .../SynTypeDefnWithStaticMemberWithGetset.fs.bsl | 2 +- .../SynExprObjMembersHaveCorrectKeywords.fs.bsl | 2 +- ...MemberDefnAbstractSlotHasCorrectKeyword.fs.bsl | 2 +- ...MemberDefnAutoPropertyHasCorrectKeyword.fs.bsl | 2 +- ...erDefnMemberSynValDataHasCorrectKeyword.fs.bsl | 2 +- .../RangeOfEqualSignShouldBePresent.fs.bsl | 2 +- .../Nullness/AbstractClassProperty.fs.bsl | 2 +- .../SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl | 2 +- .../Nullness/DuCaseTuplePrecedence.fs.bsl | 2 +- .../data/SyntaxTree/Nullness/ExplicitField.fs.bsl | 2 +- .../FunctionArgAsPatternWithNullCase.fs.bsl | 2 +- .../GenericFunctionReturnTypeNotStructNull.fs.bsl | 2 +- .../Nullness/GenericFunctionTyparNotNull.fs.bsl | 2 +- .../Nullness/GenericFunctionTyparNull.fs.bsl | 2 +- .../SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl | 2 +- .../GenericTypeNotNullAndOtherConstraint.fs.bsl | 2 +- ...tructAndOtherConstraint-I_am_Still_Sane.fs.bsl | 4 ++-- .../SyntaxTree/Nullness/GenericTypeNull.fs.bsl | 2 +- ...enericTypeOtherConstraintAndThenNotNull.fs.bsl | 2 +- .../data/SyntaxTree/Nullness/IntListOrNull.fs.bsl | 2 +- .../Nullness/IntListOrNullOrNullOrNull.fs.bsl | 2 +- .../SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl | 2 +- .../Nullness/MatchWithTypeCastParens.fs.bsl | 2 +- ...chWithTypeCastParensAndSeparateNullCase.fs.bsl | 2 +- .../Nullness/NullAnnotatedExpression.fs.bsl | 2 +- .../Nullness/RegressionChoiceType.fs.bsl | 2 +- .../Nullness/RegressionOptionType.fs.bsl | 2 +- .../Nullness/SignatureInAbstractMember.fs.bsl | 2 +- .../data/SyntaxTree/Nullness/StringOrNull.fs.bsl | 2 +- .../Nullness/StringOrNullInFunctionArg.fs.bsl | 2 +- .../OperatorName/ActivePatternDefinition.fs.bsl | 2 +- .../ActivePatternIdentifierInPrivateMember.fs.bsl | 2 +- .../OperatorName/CustomOperatorDefinition.fs.bsl | 2 +- .../OperatorName/ObjectModelWithTwoMembers.fs.bsl | 2 +- .../OperatorInMemberDefinition.fs.bsl | 2 +- .../PartialActivePatternDefinition.fs.bsl | 2 +- ...ctivePatternDefinitionWithoutParameters.fs.bsl | 2 +- .../QualifiedOperatorExpression.fs.bsl | 2 +- .../data/SyntaxTree/Pattern/InHeadPattern.fs.bsl | 2 +- .../Pattern/OperatorInMatchPattern.fs.bsl | 2 +- .../Pattern/OperatorInSynPatLongIdent.fs.bsl | 2 +- .../ParenthesesOfSynArgPatsNamePatPairs.fs.bsl | 2 +- ...PatPairsContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- .../SynPatOrContainsTheRangeOfTheBar.fs.bsl | 2 +- .../LeadingKeywordInRecursiveTypes.fsi.bsl | 2 +- ...nConstBytesWithSynByteStringKindRegular.fs.bsl | 2 +- ...ConstBytesWithSynByteStringKindVerbatim.fs.bsl | 2 +- .../SynConstStringWithSynStringKindRegular.fs.bsl | 2 +- ...ConstStringWithSynStringKindTripleQuote.fs.bsl | 2 +- ...SynConstStringWithSynStringKindVerbatim.fs.bsl | 2 +- ...erpolatedStringWithSynStringKindRegular.fs.bsl | 2 +- ...latedStringWithSynStringKindTripleQuote.fs.bsl | 2 +- ...rpolatedStringWithSynStringKindVerbatim.fs.bsl | 2 +- .../NestedSynTypeOrInsideSynExprTraitCall.fs.bsl | 2 +- .../SingleSynTypeInsideSynExprTraitCall.fs.bsl | 2 +- .../SynTypeOrInsideSynExprTraitCall.fs.bsl | 2 +- ...nTypeConstraintWhereTyparSupportsMember.fs.bsl | 2 +- .../SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl | 2 +- ...eDoesIncludeLeadingParameterAttributes.fsi.bsl | 2 +- ...peTupleDoesIncludeLeadingParameterName.fsi.bsl | 2 +- ...ttributesInOptionalNamedMemberParameter.fs.bsl | 2 +- ...tipleSynEnumCaseContainsRangeOfConstant.fs.bsl | 2 +- .../Type/NamedParametersInDelegateType.fs.bsl | 2 +- ...fAttributeShouldBeIncludedInSynTypeDefn.fs.bsl | 2 +- ...ributesShouldBeIncludedInRecursiveTypes.fs.bsl | 2 +- ...ingleSynEnumCaseContainsRangeOfConstant.fs.bsl | 2 +- ...terfaceContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...tributeContainsTheRangeOfTheTypeKeyword.fs.bsl | 2 +- ...ntationContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...WithEnumContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...DelegateContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...hRecordContainsTheRangeOfTheWithKeyword.fs.bsl | 2 +- ...ithUnionContainsTheRangeOfTheEqualsSign.fs.bsl | 2 +- ...hXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl | 2 +- .../Type/SynTypeFunHasRangeOfArrow.fs.bsl | 2 +- .../SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl | 2 +- .../Type/SynTypeTupleWithStructRecovery.fs.bsl | 2 +- .../MultipleSynUnionCasesHaveBarRange.fs.bsl | 2 +- .../UnionCase/PrivateKeywordHasRange.fs.bsl | 2 +- .../SingleSynUnionCaseHasBarRange.fs.bsl | 2 +- .../UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl | 2 +- .../UnionCase/SynUnionCaseKindFullType.fs.bsl | 2 +- .../UnionCaseFieldsCanHaveComments.fs.bsl | 2 +- .../WarnScope/IndentedWarnDirective.fs.bsl | 2 +- 205 files changed, 213 insertions(+), 224 deletions(-) diff --git a/src/Compiler/pars.fsy b/src/Compiler/pars.fsy index 4162c17a5d8..3d9967a5724 100644 --- a/src/Compiler/pars.fsy +++ b/src/Compiler/pars.fsy @@ -616,12 +616,7 @@ fileModuleSpec: { let m = (rhs parseState 1) (fun (mNamespaceOpt, isRec, path, xml) -> match path with - | [] -> - let m = - match List.tryLast $1 with - | Some lastDecl -> Range.withEnd lastDecl.Range.End m - | None -> m - ParsedSigFileFragment.AnonModule($1, m) + | [] -> ParsedSigFileFragment.AnonModule($1, m) | _ -> let lastDeclRange = List.tryLast $1 |> Option.map (fun decl -> decl.Range) |> Option.defaultValue (rhs parseState 1) let m = withStart (lhs parseState).Start lastDeclRange @@ -1205,13 +1200,7 @@ fileModuleImpl: { let m = (rhs parseState 1) (fun (mNamespaceOpt, isRec, path, xml) -> match path, mNamespaceOpt with - | [], None -> - // Use last declaration's end to avoid the range being extended to the OBLOCKEND/EOF position - let m = - match List.tryLast $1 with - | Some lastDecl -> Range.withEnd lastDecl.Range.End m - | None -> m - ParsedImplFileFragment.AnonModule($1, m) + | [], None -> ParsedImplFileFragment.AnonModule($1, m) | _ -> let lastDeclRange = List.tryLast $1 |> Option.map (fun decl -> decl.Range) |> Option.defaultValue (rhs parseState 1) let m = withStart (lhs parseState).Start lastDeclRange diff --git a/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl b/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl index 1e8bcd5c4e6..8e83e55acfa 100644 --- a/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl +++ b/tests/service/data/SyntaxTree/Attribute/RangeOfAttribute.fs.bsl @@ -28,7 +28,7 @@ ImplFile Range = (2,2--2,25) }] Range = (2,0--2,27) }], (2,0--2,27)); Expr (Do (Const (Unit, (3,3--3,5)), (3,0--3,5)), (3,0--3,5))], - PreXmlDocEmpty, [], None, (2,0--3,5), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl index d3b1978861e..4db0f069189 100644 --- a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl +++ b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithPath.fs.bsl @@ -30,7 +30,7 @@ ImplFile Range = (2,2--2,32) }] Range = (2,0--2,34) }], (2,0--2,34)); Expr (Do (Const (Unit, (3,3--3,5)), (3,0--3,5)), (3,0--3,5))], - PreXmlDocEmpty, [], None, (2,0--3,5), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl index d8e0babd349..38b51a3bffd 100644 --- a/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl +++ b/tests/service/data/SyntaxTree/Attribute/RangeOfAttributeWithTarget.fs.bsl @@ -28,7 +28,7 @@ ImplFile Range = (2,2--2,35) }] Range = (2,0--2,37) }], (2,0--2,37)); Expr (Do (Const (Unit, (3,3--3,5)), (3,0--3,5)), (3,0--3,5))], - PreXmlDocEmpty, [], None, (2,0--3,5), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl index dabcb16e268..065ab43c1c4 100644 --- a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTrivia.fs.bsl @@ -33,7 +33,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,14--2,15) })], (2,0--2,31), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--2,31), { LeadingKeyword = None })], (true, true), + (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl index 9f1a87a211d..92d2ae4ebfc 100644 --- a/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/ColonBeforeReturnTypeIsPartOfTriviaInProperties.fs.bsl @@ -101,7 +101,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,62))], PreXmlDocEmpty, [], - None, (2,0--3,62), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl b/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl index d3ec6d1d1c8..aab2187eed5 100644 --- a/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/ConditionalDirectiveAroundInlineKeyword.fs.bsl @@ -43,7 +43,7 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (4,4--4,10) EqualsRange = Some (6,13--6,14) })], (2,0--6,42), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,42), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Not (Ident "FOO"), (3,0--3,8)); EndIf (5,0--5,6)] diff --git a/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl index 0ae04a1f247..74c98cb33a9 100644 --- a/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/InlineKeywordInBinding.fs.bsl @@ -53,7 +53,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,17--2,18) })], (2,0--4,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,6), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl index 5f173741c6d..13347c94622 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeBetweenLetKeywordAndPatternShouldBeIncludedInSynModuleDeclLet.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,22--2,23) })], (2,0--2,25), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,25), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl index ed223807374..f53b47a4eaa 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMember.fs.bsl @@ -49,7 +49,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,15))], PreXmlDocEmpty, [], - None, (2,0--4,15), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl index a235a196953..dde24f9afc2 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInConstructorSynMemberDefnMemberOptAsSpec.fs.bsl @@ -50,7 +50,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,23))], PreXmlDocEmpty, [], - None, (2,0--4,23), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl index 5e864edc085..3a657b48cb7 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInFullSynMemberDefnMemberProperty.fs.bsl @@ -104,7 +104,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,10--2,11) WithKeyword = None })], (2,0--6,50))], PreXmlDocEmpty, [], - None, (2,0--6,50), { LeadingKeyword = None })], (true, true), + None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl index c38db4fccb5..566cba41a61 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSecondaryConstructor.fs.bsl @@ -115,7 +115,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--11,12))], PreXmlDocEmpty, [], - None, (2,0--11,12), { LeadingKeyword = None })], (true, true), + None, (2,0--12,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl index de657641448..cd43cce87f7 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnLetBindings.fs.bsl @@ -40,7 +40,7 @@ ImplFile None, (2,5--4,13), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,13))], - PreXmlDocEmpty, [], None, (2,0--4,13), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl index f95cdf05b54..ff220a2a034 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynMemberDefnMember.fs.bsl @@ -53,7 +53,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,33))], PreXmlDocEmpty, [], - None, (2,0--4,33), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl index c266d02aef4..8731bb1d5b5 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInSynModuleDeclLet.fs.bsl @@ -24,7 +24,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (2,0--3,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,9), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl index 10e2d7988a5..8698f8ddc7c 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfAttributeShouldBeIncludedInWriteOnlySynMemberDefnMemberProperty.fs.bsl @@ -69,7 +69,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,79))], PreXmlDocEmpty, [], - None, (2,0--4,79), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl index 65197e80ec2..fe96a80165c 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBinding.fs.bsl @@ -24,7 +24,7 @@ ImplFile Range = (3,4--4,6) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,6)), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl index aeefee72bf3..5ddcfdc594f 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInLocalLetBindingTyped.fs.bsl @@ -35,7 +35,7 @@ ImplFile Range = (3,4--4,6) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,6)), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl index 4260bd5fe41..0a48a4272fc 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBinding.fs.bsl @@ -47,7 +47,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,21))], PreXmlDocEmpty, [], - None, (2,0--3,21), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl index e7b766b5ff9..c8eb3a32a50 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithParameters.fs.bsl @@ -54,7 +54,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,24))], PreXmlDocEmpty, [], - None, (2,0--3,24), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl index 0e45f4b496e..431946b6f94 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInMemberBindingWithReturnType.fs.bsl @@ -63,7 +63,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,33))], PreXmlDocEmpty, [], - None, (2,0--3,33), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl index 816b682535c..72ee28c403d 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInProperty.fs.bsl @@ -94,7 +94,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--5,50))], PreXmlDocEmpty, [], - None, (2,0--5,50), { LeadingKeyword = None })], (true, true), + None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl index dbbd1476b56..25a5aa97f25 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBinding.fs.bsl @@ -19,7 +19,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,10), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,10), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl index dd7b1233e15..3fad6c6ce95 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfEqualSignShouldBePresentInSynModuleDeclLetBindingTyped.fs.bsl @@ -26,7 +26,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,12--2,13) })], (2,0--2,16), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,16), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl index c84a43075f6..4b2d72c287d 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynExprLetOrUseBinding.fs.bsl @@ -43,7 +43,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--4,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,6), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl index 38ce6fd44a5..444e70f8b63 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBinding.fs.bsl @@ -19,7 +19,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,10), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,10), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl index 7f8a9fce264..6db963f547d 100644 --- a/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/RangeOfLetKeywordShouldBePresentInSynModuleDeclLetBindingWithAttributes.fs.bsl @@ -27,7 +27,7 @@ ImplFile { LeadingKeyword = Let (5,0--5,3) InlineKeyword = None EqualsRange = Some (5,6--5,7) })], (2,0--5,10), - { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--5,10), + { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl b/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl index 98b0f1c3dd9..a3c7a7589fc 100644 --- a/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl +++ b/tests/service/data/SyntaxTree/Binding/TupleReturnTypeOfBindingShouldContainStars.fs.bsl @@ -77,7 +77,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,28--3,29) })], (3,0--3,42), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,42), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl index aa0e3ad884e..e4901fa263f 100644 --- a/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/BlockCommentInSourceCode.fs.bsl @@ -32,7 +32,7 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,17--2,18) })], (2,0--2,25), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,25), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl index ac48c46922d..01db4a77f0d 100644 --- a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldBeCapturedIfUsedInAnInvalidLocation.fs.bsl @@ -35,7 +35,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (2,0--9,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--9,9), + { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--10,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl index fc8ee617371..874620f3a24 100644 --- a/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl +++ b/tests/service/data/SyntaxTree/CodeComment/TripleSlashCommentShouldNotBeCaptured.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (2,0--3,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--3,9), + { InKeyword = None })], PreXmlDocEmpty, [], None, (3,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl index a0a6aa8e1d2..3fb68701b0d 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineCommentAreNotReportedAsTrivia.fs.bsl @@ -18,7 +18,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--8,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--8,6), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl index cd7b0dcd89f..bf1517651e9 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/DirectivesInMultilineStringAreNotReportedAsTrivia.fs.bsl @@ -25,7 +25,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--7,3), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,3), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl index 25e22d6c372..0f6e8574919 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfElseEndif.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--10,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--10,9), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--12,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Ident "FOO", (3,4--3,11)); If (Ident "MEH", (4,8--4,15)); diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl index 9a54564d9af..95b3b1193c2 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/NestedIfEndifWithComplexExpressions.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--11,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--11,6), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--12,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Not (Ident "DEBUG"), (3,4--3,14)); diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl index 1d55ec0e68a..309e45cb72d 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfElseEndif.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--6,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,6), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Ident "DEBUG", (3,4--3,13)); Else (5,4--5,9); EndIf (7,4--7,10)] diff --git a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl index ed586cf11ba..0d60a023eaf 100644 --- a/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl +++ b/tests/service/data/SyntaxTree/ConditionalDirective/SingleIfEndif.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--6,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,6), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Ident "DEBUG", (3,4--3,13)); EndIf (5,4--5,10)] diff --git a/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl b/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl index 18a182d8eb0..65b7c6c556f 100644 --- a/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/EnumCase/MultipleSynEnumCasesHaveBarRange.fs.bsl @@ -28,7 +28,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,14))], PreXmlDocEmpty, [], - None, (2,0--4,14), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl index 8245dab5007..ca80ebf45a9 100644 --- a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseHasBarRange.fs.bsl @@ -22,7 +22,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,20))], PreXmlDocEmpty, [], - None, (2,0--2,20), { LeadingKeyword = None })], (true, true), + None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl index c5f1c9e9498..4ac684664e3 100644 --- a/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl +++ b/tests/service/data/SyntaxTree/EnumCase/SingleSynEnumCaseWithoutBar.fs.bsl @@ -22,7 +22,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,18))], PreXmlDocEmpty, [], - None, (2,0--2,18), { LeadingKeyword = None })], (true, true), + None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl index 39a94694d13..64a376f178c 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-04.fs.bsl @@ -7,11 +7,11 @@ ImplFile [Expr (AnonRecd (false, None, [], (1,0--1,2), { OpeningBraceRange = (1,0--1,2) }), - (1,0--1,2))], PreXmlDocEmpty, [], None, (1,0--1,2), + (1,0--1,2))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) (1,0)-(1,2) parse error Unmatched '{|' -(1,0)-(1,2) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-04' based on the file name 'AnonymousRecords-04.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-04' based on the file name 'AnonymousRecords-04.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl index 0befae14e81..38eb618a0ed 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-05.fs.bsl @@ -7,11 +7,11 @@ ImplFile [Expr (AnonRecd (true, None, [], (1,0--1,9), { OpeningBraceRange = (1,7--1,9) }), - (1,0--1,9))], PreXmlDocEmpty, [], None, (1,0--1,9), + (1,0--1,9))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) (1,7)-(1,9) parse error Unmatched '{|' -(1,0)-(1,9) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-05' based on the file name 'AnonymousRecords-05.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-05' based on the file name 'AnonymousRecords-05.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl index 726c35d41e1..b58b5e4c944 100644 --- a/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/AnonymousRecords-06.fs.bsl @@ -29,10 +29,10 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,8--1,9) })], (1,0--1,39), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,39), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(1,39) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-06' based on the file name 'AnonymousRecords-06.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'AnonymousRecords-06' based on the file name 'AnonymousRecords-06.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl index da1a9cf7daf..721b79a0308 100644 --- a/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl +++ b/tests/service/data/SyntaxTree/Expression/DotLambda - _ Recovery - Casts.fsx.bsl @@ -58,7 +58,7 @@ ImplFile { LeadingKeyword = Let (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (3,0--3,19), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--3,19), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl index 14f792d8a98..8a70f1d6395 100644 --- a/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/NestedSynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl @@ -70,7 +70,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,9--2,10) })], (2,0--5,9), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--5,9), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl b/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl index 82d4843ec0e..763ab6d97b8 100644 --- a/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Sequential 01.fs.bsl @@ -9,10 +9,10 @@ ImplFile (Sequential (SuppressNeither, true, Ident a, Ident b, (1,3--1,8), { SeparatorRange = Some (1,5--1,6) }), (1,0--1,8)), - (1,0--1,8))], PreXmlDocEmpty, [], None, (1,0--1,8), + (1,0--1,8))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(1,8) parse warning The declarations in this file will be placed in an implicit module 'Sequential 01' based on the file name 'Sequential 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Sequential 01' based on the file name 'Sequential 01.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl b/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl index e8e6a6d966a..724388842b5 100644 --- a/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Sequential 02.fs.bsl @@ -9,10 +9,10 @@ ImplFile (Sequential (SuppressNeither, false, Ident a, Ident b, (1,3--1,11), { SeparatorRange = Some (1,5--1,9) }), (1,0--1,11)), - (1,0--1,11))], PreXmlDocEmpty, [], None, (1,0--1,11), + (1,0--1,11))], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(1,11) parse warning The declarations in this file will be placed in an implicit module 'Sequential 02' based on the file name 'Sequential 02.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Sequential 02' based on the file name 'Sequential 02.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl b/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl index 8828e47273d..064662b49c7 100644 --- a/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/Sequential 03.fs.bsl @@ -12,9 +12,9 @@ ImplFile (Ident b, (1,10--1,15), Some (1,18--1,21), (1,10--1,21)), (1,3--1,21), { SeparatorRange = Some (1,5--1,9) }), (1,0--1,21)), (1,0--1,21))], PreXmlDocEmpty, [], None, - (1,0--1,21), { LeadingKeyword = None })], (true, true), + (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(1,21) parse warning The declarations in this file will be placed in an implicit module 'Sequential 03' based on the file name 'Sequential 03.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'Sequential 03' based on the file name 'Sequential 03.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl index 047fc84f816..54b08da4d54 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprDoContainsTheRangeOfTheDoKeyword.fs.bsl @@ -21,7 +21,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--6,18), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--6,18), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl index fd030b652bd..d2c4077e59c 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprForContainsTheRangeOfTheEqualsSign.fs.bsl @@ -15,7 +15,7 @@ ImplFile (NonAtomic, false, Ident printf, Const (String ("%d ", Regular, (3,7--3,12)), (3,7--3,12)), (3,0--3,12)), Ident i, (3,0--3,14)), (2,0--3,14)), - (2,0--3,14))], PreXmlDocEmpty, [], None, (2,0--3,14), + (2,0--3,14))], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl index 4fb6595cbd2..b65ca5c4e11 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseContainsTheRangeOfInKeyword.fs.bsl @@ -23,7 +23,7 @@ ImplFile Range = (2,0--2,15) Trivia = { InKeyword = Some (2,10--2,12) } IsFromSource = true }, (2,0--2,15))], PreXmlDocEmpty, [], None, - (2,0--2,15), { LeadingKeyword = None })], (true, true), + (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl index 52db2919fb0..5ac7a4f817e 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseDoesNotContainTheRangeOfInKeyword.fs.bsl @@ -25,7 +25,7 @@ ImplFile Range = (3,0--4,2) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,2)), (2,0--4,2))], - PreXmlDocEmpty, [], None, (2,0--4,2), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl index 62696cf8b40..a49e4e9e41a 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWhereBodyExprStartsWithTokenOfTwoCharactersDoesNotContainTheRangeOfInKeyword.fs.bsl @@ -47,7 +47,7 @@ ImplFile Range = (3,0--4,16) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,16)), (2,0--4,16))], - PreXmlDocEmpty, [], None, (2,0--4,16), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl index c700e2cc2f3..e8def5f575a 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprLetOrUseWithRecursiveBindingContainsTheRangeOfInKeyword.fs.bsl @@ -39,7 +39,7 @@ ImplFile Range = (3,4--5,6) Trivia = { InKeyword = Some (4,15--4,17) } IsFromSource = true }, (2,0--5,6)), (2,0--5,6))], - PreXmlDocEmpty, [], None, (2,0--5,6), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl index 9984c93b774..871e70098d3 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprMatchBangContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl @@ -16,7 +16,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,8), { MatchBangKeyword = (2,0--2,6) WithKeyword = (2,9--2,13) }), (2,0--3,8))], - PreXmlDocEmpty, [], None, (2,0--3,8), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl index 3a9249d29ca..f1e4b950125 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprMatchContainsTheRangeOfTheMatchAndWithKeyword.fs.bsl @@ -16,7 +16,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,8), { MatchKeyword = (2,0--2,5) WithKeyword = (2,8--2,12) }), (2,0--3,8))], - PreXmlDocEmpty, [], None, (2,0--3,8), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl index ec65e2c9620..43d2f88584e 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprTryFinallyContainsTheRangeOfTheTryAndWithKeyword.fs.bsl @@ -12,7 +12,7 @@ ImplFile (Ident x, Const (Unit, (5,0--5,2)), (2,0--5,2), Yes (2,0--2,3), Yes (4,0--4,7), { TryKeyword = (2,0--2,3) FinallyKeyword = (4,0--4,7) }), (2,0--5,2))], - PreXmlDocEmpty, [], None, (2,0--5,2), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl index e5dd44ef813..690618cda81 100644 --- a/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Expression/SynExprTryWithContainsTheRangeOfTheTryAndWithKeyword.fs.bsl @@ -19,7 +19,7 @@ ImplFile TryToWithRange = (2,0--4,4) WithKeyword = (4,0--4,4) WithToEndRange = (4,0--5,9) }), (2,0--5,9))], PreXmlDocEmpty, - [], None, (2,0--5,9), { LeadingKeyword = None })], (true, true), + [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl index ccffe6717d3..15cfd83a38c 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 01.fs.bsl @@ -21,7 +21,7 @@ ImplFile ThenKeyword = (1,5--1,9) ElseKeyword = Some (3,0--3,4) IfToThenRange = (1,0--1,9) }), (1,0--4,5))], PreXmlDocEmpty, - [], None, (1,0--4,5), { LeadingKeyword = None })], (true, true), + [], None, (1,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [BlockComment (3,5--3,33)] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl index f5e780af6b4..d3974f75b62 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/Comment after else 02.fs.bsl @@ -14,7 +14,7 @@ ImplFile ThenKeyword = (1,5--1,9) ElseKeyword = None IfToThenRange = (1,0--1,9) }), (1,0--1,9)); - Expr (Ident b, (2,0--2,1))], PreXmlDocEmpty, [], None, (1,0--2,1), + Expr (Ident b, (2,0--2,1))], PreXmlDocEmpty, [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl index d544773b9f9..6c91bc3c497 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/DeeplyNestedIfThenElse.fs.bsl @@ -30,7 +30,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = None IfToThenRange = (2,0--2,9) }), (2,0--10,13))], PreXmlDocEmpty, - [], None, (2,0--10,13), { LeadingKeyword = None })], (true, true), + [], None, (2,0--11,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl index f89e5ce5700..8880778d7d4 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/ElseKeywordInSimpleIfThenElse.fs.bsl @@ -12,7 +12,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = Some (2,12--2,16) IfToThenRange = (2,0--2,9) }), (2,0--2,18))], - PreXmlDocEmpty, [], None, (2,0--2,18), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl index 0c3327a2bb2..e5e31766436 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/IfKeywordInIfThenElse.fs.bsl @@ -12,7 +12,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = None IfToThenRange = (2,0--2,9) }), (2,0--2,11))], PreXmlDocEmpty, - [], None, (2,0--2,11), { LeadingKeyword = None })], (true, true), + [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl index c1a8068ad45..7ecb4d2a588 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/IfThenAndElseKeywordOnSeparateLines.fs.bsl @@ -12,7 +12,7 @@ ImplFile ThenKeyword = (3,0--3,4) ElseKeyword = Some (4,0--4,4) IfToThenRange = (2,0--3,4) }), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl index 8749ac87a26..4d59e2371b3 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/NestedElifInIfThenElse.fs.bsl @@ -21,7 +21,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = None IfToThenRange = (2,0--2,9) }), (2,0--4,13))], PreXmlDocEmpty, - [], None, (2,0--4,13), { LeadingKeyword = None })], (true, true), + [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl index 79ad86a1016..8085e2915cd 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfInIfThenElse.fs.bsl @@ -21,7 +21,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = Some (4,0--4,4) IfToThenRange = (2,0--2,9) }), (2,0--5,15))], PreXmlDocEmpty, - [], None, (2,0--5,15), { LeadingKeyword = None })], (true, true), + [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl index ddaabcd972d..7b9c52347c3 100644 --- a/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl +++ b/tests/service/data/SyntaxTree/IfThenElse/NestedElseIfOnTheSameLineInIfThenElse.fs.bsl @@ -21,7 +21,7 @@ ImplFile ThenKeyword = (2,5--2,9) ElseKeyword = Some (4,0--4,4) IfToThenRange = (2,0--2,9) }), (2,0--5,5))], PreXmlDocEmpty, - [], None, (2,0--5,5), { LeadingKeyword = None })], (true, true), + [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl index 2fcdd5fc460..7e0dcdbacdc 100644 --- a/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/ComplexArgumentsLambdaHasArrowRange.fs.bsl @@ -166,7 +166,7 @@ ImplFile { MatchKeyword = (3,5--6,13) WithKeyword = (3,5--6,13) })), (2,0--6,13), { ArrowRange = Some (5,4--5,6) }), (2,0--6,13))], - PreXmlDocEmpty, [], None, (2,0--6,13), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl index ff411cdb4eb..575a421c923 100644 --- a/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/DestructedLambdaHasArrowRange.fs.bsl @@ -69,7 +69,7 @@ ImplFile { MatchKeyword = (2,4--2,22) WithKeyword = (2,4--2,22) })), (2,0--2,22), { ArrowRange = Some (2,14--2,16) }), (2,0--2,22))], - PreXmlDocEmpty, [], None, (2,0--2,22), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl index 8cb44086e13..e85c474072a 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithTupleParameterWithWildCardGivesCorrectBody.fs.bsl @@ -36,7 +36,7 @@ ImplFile (2,6--2,12)); Named (SynIdent (c, None), false, None, (2,13--2,14))], Ident x), (2,0--2,19), { ArrowRange = Some (2,15--2,17) }), - (2,0--2,19))], PreXmlDocEmpty, [], None, (2,0--2,19), + (2,0--2,19))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl index a2e36f79086..8e77bc9eed1 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithTwoParametersGivesCorrectBody.fs.bsl @@ -20,7 +20,7 @@ ImplFile ([Named (SynIdent (a, None), false, None, (2,4--2,5)); Named (SynIdent (b, None), false, None, (2,6--2,7))], Ident x), (2,0--2,12), { ArrowRange = Some (2,8--2,10) }), - (2,0--2,12))], PreXmlDocEmpty, [], None, (2,0--2,12), + (2,0--2,12))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl index 16a7576c50d..e38de7b5537 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardParameterGivesCorrectBody.fs.bsl @@ -27,7 +27,7 @@ ImplFile Wild (2,6--2,7); Named (SynIdent (b, None), false, None, (2,8--2,9))], Ident x), (2,0--2,14), { ArrowRange = Some (2,10--2,12) }), - (2,0--2,14))], PreXmlDocEmpty, [], None, (2,0--2,14), + (2,0--2,14))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl index 4c530b74aae..eb2ff3402e8 100644 --- a/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/LambdaWithWildCardThatReturnsALambdaGivesCorrectBody.fs.bsl @@ -30,7 +30,7 @@ ImplFile Some ([Wild (2,13--2,14)], Ident x), (2,9--2,19), { ArrowRange = Some (2,15--2,17) })), (2,0--2,19), { ArrowRange = Some (2,6--2,8) }), (2,0--2,19))], - PreXmlDocEmpty, [], None, (2,0--2,19), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl index a82e1b1d91b..40da24ed4d1 100644 --- a/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/MultilineLambdaHasArrowRange.fs.bsl @@ -70,7 +70,7 @@ ImplFile Ident y, (4,32--4,37)), (4,32--4,39)), Ident z, (4,32--4,41))), (2,0--4,41), { ArrowRange = Some (3,28--3,30) }), (2,0--4,41))], - PreXmlDocEmpty, [], None, (2,0--4,41), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl index 8c8a79394a5..54ee6a39cde 100644 --- a/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/SimpleLambdaHasArrowRange.fs.bsl @@ -13,7 +13,7 @@ ImplFile Some ([Named (SynIdent (x, None), false, None, (2,4--2,5))], Ident x), (2,0--2,10), { ArrowRange = Some (2,6--2,8) }), - (2,0--2,10))], PreXmlDocEmpty, [], None, (2,0--2,10), + (2,0--2,10))], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl b/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl index bbdb4824550..788eb98a507 100644 --- a/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl +++ b/tests/service/data/SyntaxTree/Lambda/TupleInLambdaHasArrowRange.fs.bsl @@ -39,7 +39,7 @@ ImplFile None, (2,16--2,17)), Ident x, (2,14--2,17)), Const (Int32 3, (2,18--2,19)), (2,14--2,19))), (2,0--2,19), { ArrowRange = Some (2,11--2,13) }), (2,0--2,19))], - PreXmlDocEmpty, [], None, (2,0--2,19), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl index 6390634614e..34aa70d3379 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractKeyword.fs.bsl @@ -35,7 +35,7 @@ ImplFile (2,5--3,20), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,20))], - PreXmlDocEmpty, [], None, (2,0--3,20), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl index dced6d41a25..9f3ccbf040b 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/AbstractMemberKeyword.fs.bsl @@ -36,7 +36,7 @@ ImplFile (2,5--3,27), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,27))], - PreXmlDocEmpty, [], None, (2,0--3,27), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl index 82b1033363d..4aa2963c410 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/AndKeyword.fs.bsl @@ -57,7 +57,7 @@ ImplFile NoneAtLet, { LeadingKeyword = And (3,0--3,3) InlineKeyword = None EqualsRange = Some (3,8--3,9) })], (2,0--3,15), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,15), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl index 238c30c9aff..028585bc0b5 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl @@ -38,7 +38,7 @@ ImplFile (2,5--3,27), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,27))], - PreXmlDocEmpty, [], None, (2,0--3,27), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl index ace49c56f7d..14ae9d51f17 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DoKeyword.fs.bsl @@ -27,7 +27,7 @@ ImplFile (2,5--3,9), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,9))], - PreXmlDocEmpty, [], None, (2,0--3,9), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl index 0b4fafbd3df..74f4d74b17e 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DoStaticKeyword.fs.bsl @@ -28,7 +28,7 @@ ImplFile (2,5--3,16), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,16))], - PreXmlDocEmpty, [], None, (2,0--3,16), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl index a66eee95b60..982311fccfe 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/LetKeyword.fs.bsl @@ -31,7 +31,7 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,8--2,9) })], (2,0--2,15), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,15), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl index 5f9cefc7eb4..2569de7dba4 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/LetRecKeyword.fs.bsl @@ -32,7 +32,7 @@ ImplFile NoneAtLet, { LeadingKeyword = LetRec ((2,0--2,3), (2,4--2,7)) InlineKeyword = None EqualsRange = Some (2,12--2,13) })], (2,0--2,19), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,19), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl index a8a06413c0d..3d161da52e3 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/MemberKeyword.fs.bsl @@ -43,7 +43,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,26))], PreXmlDocEmpty, [], - None, (2,0--3,26), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl index 0794e6a8f28..d9ba80b80df 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl @@ -38,7 +38,7 @@ ImplFile (2,5--3,26), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,26))], - PreXmlDocEmpty, [], None, (2,0--3,26), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl index 95463622f8a..ebc374d1432 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/NewKeyword.fs.bsl @@ -59,7 +59,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,30))], PreXmlDocEmpty, [], - None, (2,0--3,30), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl index 88d5905d724..f9d0ec25562 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideKeyword.fs.bsl @@ -48,7 +48,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,28))], PreXmlDocEmpty, [], - None, (2,0--3,28), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl index 25a131aa4e9..837e1b368fd 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl @@ -38,7 +38,7 @@ ImplFile (2,5--3,28), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,28))], - PreXmlDocEmpty, [], None, (2,0--3,28), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl index ba8b538a823..e75b4c25218 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractKeyword.fs.bsl @@ -40,7 +40,7 @@ ImplFile (2,5--3,34), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,34))], - PreXmlDocEmpty, [], None, (2,0--3,34), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl index c06f7a76bd0..73e5a522b4b 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticAbstractMemberKeyword.fs.bsl @@ -41,7 +41,7 @@ ImplFile (2,5--3,41), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,41))], - PreXmlDocEmpty, [], None, (2,0--3,41), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl index 8c2ab6837dc..ef71149048c 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetKeyword.fs.bsl @@ -33,7 +33,7 @@ ImplFile None, (2,5--3,24), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,24))], - PreXmlDocEmpty, [], None, (2,0--3,24), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl index 818ea44fb9a..5251188440d 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticLetRecKeyword.fs.bsl @@ -39,7 +39,7 @@ ImplFile None, (2,5--3,41), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,41))], - PreXmlDocEmpty, [], None, (2,0--3,41), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl index c48dc9a4016..541b6f582a9 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberKeyword.fs.bsl @@ -45,7 +45,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,29))], PreXmlDocEmpty, [], - None, (2,0--3,29), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl index 67eeaf87b8f..feb33135568 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl @@ -39,7 +39,7 @@ ImplFile (2,5--3,33), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,33))], - PreXmlDocEmpty, [], None, (2,0--3,33), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl index 465ce764738..acb1aa99958 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/UseKeyword.fs.bsl @@ -27,7 +27,7 @@ ImplFile Range = (3,4--4,6) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,6)), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl index f05e5b81acd..2e9c69bdb72 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/UseRecKeyword.fs.bsl @@ -27,7 +27,7 @@ ImplFile Range = (3,4--4,6) Trivia = { InKeyword = None } IsFromSource = true }, (2,0--4,6)), (2,0--4,6))], - PreXmlDocEmpty, [], None, (2,0--4,6), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl index 6856c6777db..4fb707a309e 100644 --- a/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/NoRangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl @@ -21,7 +21,7 @@ ImplFile TryToWithRange = (2,0--4,4) WithKeyword = (4,0--4,4) WithToEndRange = (4,0--6,6) }), (2,0--6,6))], - PreXmlDocEmpty, [], None, (2,0--6,6), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (5,4--5,19)] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl index ad2b0f62c7c..23af64bcfe3 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClause.fs.bsl @@ -17,7 +17,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,15), { MatchKeyword = (2,0--2,5) WithKeyword = (2,10--2,14) }), (2,0--3,15))], - PreXmlDocEmpty, [], None, (2,0--3,15), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl index a8af55281b5..37445cfd5a1 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfArrowInSynMatchClauseWithWhenClause.fs.bsl @@ -23,7 +23,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,36), { MatchKeyword = (2,0--2,5) WithKeyword = (2,10--2,14) }), (2,0--3,36))], - PreXmlDocEmpty, [], None, (2,0--3,36), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl index f2045889333..5a1bf39c36b 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInAMultipleSynMatchClausesInSynExprTryWith.fs.bsl @@ -31,7 +31,7 @@ ImplFile TryToWithRange = (2,0--4,4) WithKeyword = (4,0--4,4) WithToEndRange = (4,0--8,10) }), (2,0--8,10))], - PreXmlDocEmpty, [], None, (2,0--8,10), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (6,4--6,19)] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl index e29508ddf90..07c297570a9 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprMatch.fs.bsl @@ -24,7 +24,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,36), { MatchKeyword = (2,0--2,5) WithKeyword = (2,10--2,14) }), (2,0--3,36))], - PreXmlDocEmpty, [], None, (2,0--3,36), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl index 5579433fe26..8df2cbe5f9f 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInASingleSynMatchClauseInSynExprTryWith.fs.bsl @@ -20,7 +20,7 @@ ImplFile TryToWithRange = (2,0--4,4) WithKeyword = (4,0--4,4) WithToEndRange = (4,0--5,11) }), (2,0--5,11))], - PreXmlDocEmpty, [], None, (2,0--5,11), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl index b0ea666f29c..dbe210b96d4 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfBarInMultipleSynMatchClausesInSynExprMatch.fs.bsl @@ -35,7 +35,7 @@ ImplFile BarRange = Some (4,0--4,1) })], (2,0--4,20), { MatchKeyword = (2,0--2,5) WithKeyword = (2,10--2,14) }), (2,0--4,20))], PreXmlDocEmpty, - [], None, (2,0--4,20), { LeadingKeyword = None })], (true, true), + [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl index 95148ffdea6..7e93cf92fbc 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfMultipleSynMatchClause.fs.bsl @@ -56,7 +56,7 @@ ImplFile TryToWithRange = (2,0--5,4) WithKeyword = (5,0--5,4) WithToEndRange = (5,0--10,8) }), (2,0--10,8))], - PreXmlDocEmpty, [], None, (2,0--10,8), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--11,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl index 4d3804fe949..4227bf63c82 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClause.fs.bsl @@ -50,7 +50,7 @@ ImplFile TryToWithRange = (2,0--5,4) WithKeyword = (5,0--5,4) WithToEndRange = (5,0--7,8) }), (2,0--7,8))], - PreXmlDocEmpty, [], None, (2,0--7,8), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl index 7e48d10f291..284e3c115de 100644 --- a/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl +++ b/tests/service/data/SyntaxTree/MatchClause/RangeOfSingleSynMatchClauseFollowedByBar.fs.bsl @@ -40,7 +40,7 @@ ImplFile TryToWithRange = (2,0--5,4) WithKeyword = (5,0--5,4) WithToEndRange = (5,0--8,1) }), - (2,0--8,1))], PreXmlDocEmpty, [], None, (2,0--8,1), + (2,0--8,1))], PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl b/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl index 13cf9421552..9dff13b0b57 100644 --- a/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/MeasureContainsTheRangeOfTheConstant.fs.bsl @@ -40,7 +40,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (3,6--3,7) })], (3,0--3,17), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--3,17), { LeadingKeyword = None })], (true, true), + (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl index dc1c5fab8ed..33675b1a3a1 100644 --- a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithLeadingSlash.fs.bsl @@ -28,7 +28,7 @@ ImplFile (2,0--2,29), { LeadingKeyword = Type (2,12--2,16) EqualsRange = Some (2,19--2,20) WithKeyword = None })], (2,0--2,29))], - PreXmlDocEmpty, [], None, (2,0--2,29), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl index ad41bdf7457..fc29ce7d7e1 100644 --- a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithNoSlashes.fs.bsl @@ -28,7 +28,7 @@ ImplFile (2,0--2,26), { LeadingKeyword = Type (2,12--2,16) EqualsRange = Some (2,19--2,20) WithKeyword = None })], (2,0--2,26))], - PreXmlDocEmpty, [], None, (2,0--2,26), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl index 4dea9a8589b..6e423837385 100644 --- a/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl +++ b/tests/service/data/SyntaxTree/Measure/SynTypeTupleInMeasureTypeWithStartAndSlash.fs.bsl @@ -30,7 +30,7 @@ ImplFile (2,0--2,30), { LeadingKeyword = Type (2,12--2,16) EqualsRange = Some (2,19--2,20) WithKeyword = None })], (2,0--2,30))], - PreXmlDocEmpty, [], None, (2,0--2,30), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl index 0c5bb838dce..f09cb92e147 100644 --- a/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/GetSetMemberWithInlineKeyword.fs.bsl @@ -81,7 +81,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--5,29))], PreXmlDocEmpty, [], - None, (2,0--5,29), { LeadingKeyword = None })], (true, true), + None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl index 4fc0fa00cff..06e7e3f9fdc 100644 --- a/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/ImplicitCtorWithAsKeyword.fs.bsl @@ -77,7 +77,7 @@ ImplFile (2,5--8,13), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (4,12--4,13) WithKeyword = None })], (2,0--8,13))], - PreXmlDocEmpty, [], None, (2,0--8,13), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl index 566f35238c5..65401553b8f 100644 --- a/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/MemberWithInlineKeyword.fs.bsl @@ -43,7 +43,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,29))], PreXmlDocEmpty, [], - None, (2,0--3,29), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl index 0a431cec9a5..110af6cd16c 100644 --- a/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/ReadwritePropertyInSynMemberDefnMemberContainsTheRangeOfTheWithKeyword.fs.bsl @@ -98,7 +98,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--6,50))], PreXmlDocEmpty, [], - None, (2,0--6,50), { LeadingKeyword = None })], (true, true), + None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (3,4--3,29)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl index 9ae806ce733..4838003cfc0 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAbstractSlotContainsTheRangeOfTheWithKeyword.fs.bsl @@ -50,7 +50,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--3,42))], PreXmlDocEmpty, [], - None, (2,0--3,42), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl index ba137ac80d9..3009a787588 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl @@ -84,7 +84,7 @@ ImplFile { LeadingKeyword = Type (3,0--3,4) EqualsRange = Some (3,38--3,39) WithKeyword = None })], (2,0--5,40))], PreXmlDocEmpty, [], - None, (3,0--5,40), { LeadingKeyword = None })], (true, true), + None, (3,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl index 44160d14078..f437240766a 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl @@ -70,7 +70,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,39))], PreXmlDocEmpty, [], - None, (2,0--4,39), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl index f417d2eeeec..cf045eeca1f 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithGetHasXmlComment.fs.bsl @@ -50,7 +50,7 @@ ImplFile None, (2,5--4,29), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--4,29))], - PreXmlDocEmpty, [], None, (2,0--4,29), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl index 0f3965b45a9..97c59244fb9 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithMemberWithSetget.fs.bsl @@ -110,7 +110,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--3,62))], PreXmlDocEmpty, [], - None, (2,0--3,62), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl index 4ff5f22cbd9..7277f5e58c2 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithStaticMemberWithGetset.fs.bsl @@ -107,7 +107,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--5,54))], PreXmlDocEmpty, [], - None, (2,0--5,54), { LeadingKeyword = None })], (true, true), + None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl index 85cdd796b00..905d4abcc41 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynExprObjMembersHaveCorrectKeywords.fs.bsl @@ -105,7 +105,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,8--2,9) })], (2,0--7,34), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--7,34), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl index fa3916ab6ff..bbc45fd79ae 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAbstractSlotHasCorrectKeyword.fs.bsl @@ -56,7 +56,7 @@ ImplFile (2,5--4,26), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,26))], - PreXmlDocEmpty, [], None, (2,0--4,26), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl index 3e81cf47683..2f12d930aa0 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl @@ -108,7 +108,7 @@ ImplFile (2,5--6,27), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--6,27))], - PreXmlDocEmpty, [], None, (2,0--6,27), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl index bed97db53de..ddf52181d1c 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnMemberSynValDataHasCorrectKeyword.fs.bsl @@ -125,7 +125,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--6,25))], PreXmlDocEmpty, [], - None, (2,0--6,25), { LeadingKeyword = None })], (true, true), + None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl b/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl index 92374a61895..5b493568519 100644 --- a/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl +++ b/tests/service/data/SyntaxTree/NestedModule/RangeOfEqualSignShouldBePresent.fs.bsl @@ -12,7 +12,7 @@ ImplFile [Expr (Const (Unit, (3,4--3,6)), (3,4--3,6))], false, (2,0--3,6), { ModuleKeyword = Some (2,0--2,6) EqualsRange = Some (2,9--2,10) })], PreXmlDocEmpty, [], None, - (2,0--3,6), { LeadingKeyword = None })], (true, true), + (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl b/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl index 822e649f3e8..d544fd6cd7b 100644 --- a/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/AbstractClassProperty.fs.bsl @@ -55,7 +55,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,20--2,21) WithKeyword = None })], (1,0--3,51))], PreXmlDocEmpty, [], - None, (1,0--3,51), { LeadingKeyword = None })], (true, true), + None, (1,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl index 4b4c20e4bd4..13161fa49f4 100644 --- a/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/DuCaseStringOrNull.fs.bsl @@ -34,7 +34,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,8--1,9) WithKeyword = None })], (1,0--1,35))], PreXmlDocEmpty, [], - None, (1,0--1,35), { LeadingKeyword = None })], (true, true), + None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl b/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl index 450e66b882a..51050a8e198 100644 --- a/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/DuCaseTuplePrecedence.fs.bsl @@ -41,7 +41,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,8--1,9) WithKeyword = None })], (1,0--1,41))], PreXmlDocEmpty, [], - None, (1,0--1,41), { LeadingKeyword = None })], (true, true), + None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl b/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl index 1caa5cf15fc..8626a3204af 100644 --- a/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/ExplicitField.fs.bsl @@ -27,7 +27,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,14--1,15) WithKeyword = None })], (1,0--4,7))], PreXmlDocEmpty, [], - None, (1,0--4,7), { LeadingKeyword = None })], (true, true), + None, (1,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl b/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl index 0e169633415..1163ccbe7a0 100644 --- a/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/FunctionArgAsPatternWithNullCase.fs.bsl @@ -43,7 +43,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (1,48--1,49) })], (1,0--1,52), { InKeyword = None })], PreXmlDocEmpty, [], None, - (1,0--1,52), { LeadingKeyword = None })], (true, true), + (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl index 921c852f5f8..beef982627b 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericFunctionReturnTypeNotStructNull.fs.bsl @@ -37,7 +37,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,51--1,52) })], (1,0--1,57), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,57), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl index 16437dcb4e4..ced1fa2ca34 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNotNull.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,37--1,38) })], (1,0--1,41), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,41), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl index f07361921e9..04a03f8646c 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericFunctionTyparNull.fs.bsl @@ -31,7 +31,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (1,33--1,34) })], (1,0--1,37), { InKeyword = None })], PreXmlDocEmpty, [], None, - (1,0--1,37), { LeadingKeyword = None })], (true, true), + (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl index 6bdf6a3ded3..2e217784614 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNull.fs.bsl @@ -23,7 +23,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,29--1,30) WithKeyword = None })], (1,0--1,40))], PreXmlDocEmpty, [], - None, (1,0--1,40), { LeadingKeyword = None })], (true, true), + None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl index 74ea5bb5b77..4f47caa397c 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotNullAndOtherConstraint.fs.bsl @@ -26,7 +26,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,45--1,46) WithKeyword = None })], (1,0--1,56))], PreXmlDocEmpty, [], - None, (1,0--1,56), { LeadingKeyword = None })], (true, true), + None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl index 296f45fab77..0ea0210a109 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs.bsl @@ -27,9 +27,9 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,47--1,48) WithKeyword = None })], (1,0--1,58))], PreXmlDocEmpty, [], - None, (1,0--1,58), { LeadingKeyword = None })], (true, true), + None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) -(1,0)-(1,58) parse warning The declarations in this file will be placed in an implicit module 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane' based on the file name 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. +(1,0)-(2,0) parse warning The declarations in this file will be placed in an implicit module 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane' based on the file name 'GenericTypeNotStructAndOtherConstraint-I_am_Still_Sane.fs'. However this is not a valid F# identifier, so the contents will not be accessible from other files. Consider renaming the file or adding a 'module' or 'namespace' declaration at the top of the file. diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl index d82c0902345..59936ebce22 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeNull.fs.bsl @@ -22,7 +22,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,25--1,26) WithKeyword = None })], (1,0--1,36))], PreXmlDocEmpty, [], - None, (1,0--1,36), { LeadingKeyword = None })], (true, true), + None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl index a6ba3707b3d..59b59562625 100644 --- a/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/GenericTypeOtherConstraintAndThenNotNull.fs.bsl @@ -25,7 +25,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,45--1,46) WithKeyword = None })], (1,0--1,56))], PreXmlDocEmpty, [], - None, (1,0--1,56), { LeadingKeyword = None })], (true, true), + None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl index 9347d0a0328..a7ad67de505 100644 --- a/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/IntListOrNull.fs.bsl @@ -34,7 +34,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (1,24--1,25) })], (1,0--1,28), { InKeyword = None })], PreXmlDocEmpty, [], None, - (1,0--1,28), { LeadingKeyword = None })], (true, true), + (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl index 6834bd9d4bb..2ba92634916 100644 --- a/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/IntListOrNullOrNullOrNull.fs.bsl @@ -33,7 +33,7 @@ ImplFile Yes (1,0--1,23), { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = None })], (1,0--1,23), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,23), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl index 9a584a7c79d..773ff445618 100644 --- a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCast.fs.bsl @@ -18,7 +18,7 @@ ImplFile BarRange = Some (2,0--2,1) })], (1,0--2,24), { MatchKeyword = (1,0--1,5) WithKeyword = (1,8--1,12) }), (1,0--2,24))], PreXmlDocEmpty, - [], None, (1,0--2,24), { LeadingKeyword = None })], (true, true), + [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl index b8141c30794..9576ea6b023 100644 --- a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParens.fs.bsl @@ -19,7 +19,7 @@ ImplFile BarRange = Some (2,0--2,1) })], (1,0--2,26), { MatchKeyword = (1,0--1,5) WithKeyword = (1,8--1,12) }), (1,0--2,26))], PreXmlDocEmpty, - [], None, (1,0--2,26), { LeadingKeyword = None })], (true, true), + [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl index 95b27743722..00f7882ac7f 100644 --- a/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/MatchWithTypeCastParensAndSeparateNullCase.fs.bsl @@ -21,7 +21,7 @@ ImplFile BarRange = Some (2,0--2,1) })], (1,0--2,33), { MatchKeyword = (1,0--1,5) WithKeyword = (1,8--1,12) }), (1,0--2,33))], PreXmlDocEmpty, - [], None, (1,0--2,33), { LeadingKeyword = None })], (true, true), + [], None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl b/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl index a1bc1dd9602..115fe6c5406 100644 --- a/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/NullAnnotatedExpression.fs.bsl @@ -68,7 +68,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,64--1,65) })], (1,0--1,70), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,70), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl index 225321337f2..79d2dfce12c 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionChoiceType.fs.bsl @@ -50,7 +50,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,23--1,24) WithKeyword = None })], (1,0--7,19))], PreXmlDocEmpty, [], - None, (1,0--7,19), { LeadingKeyword = None })], (true, true), + None, (1,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl b/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl index a8ab331fe5e..502b1ba39e7 100644 --- a/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/RegressionOptionType.fs.bsl @@ -56,7 +56,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,16--1,17) WithKeyword = None })], (1,0--3,33))], PreXmlDocEmpty, [], - None, (1,0--3,33), { LeadingKeyword = None })], (true, true), + None, (1,0--3,34), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl b/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl index 690a3e7fd24..317752b3425 100644 --- a/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/SignatureInAbstractMember.fs.bsl @@ -55,7 +55,7 @@ ImplFile { LeadingKeyword = Type (1,0--1,4) EqualsRange = Some (1,20--1,21) WithKeyword = None })], (1,0--2,61))], PreXmlDocEmpty, [], - None, (1,0--2,61), { LeadingKeyword = None })], (true, true), + None, (1,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl b/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl index 748146c9dfd..7d205e16fef 100644 --- a/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/StringOrNull.fs.bsl @@ -27,7 +27,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,22--1,23) })], (1,0--1,28), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,28), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl b/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl index 05886606bdc..89a2cf25e55 100644 --- a/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl +++ b/tests/service/data/SyntaxTree/Nullness/StringOrNullInFunctionArg.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,32--1,33) })], (1,0--1,36), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--1,36), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--2,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl index 9873dfe7cc6..9e6d6ffa604 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternDefinition.fs.bsl @@ -60,7 +60,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,26--2,27) })], (2,0--2,59), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,59), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl index d85b688b2c5..faa01ee9c32 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ActivePatternIdentifierInPrivateMember.fs.bsl @@ -57,7 +57,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--7,6))], PreXmlDocEmpty, [], - None, (2,0--7,6), { LeadingKeyword = None })], (true, true), + None, (2,0--8,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl index b494fd7611e..bfe1edd8570 100644 --- a/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/CustomOperatorDefinition.fs.bsl @@ -38,7 +38,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,12--2,13) })], (2,0--2,19), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,19), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl index e691253c66a..6a073559389 100644 --- a/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/ObjectModelWithTwoMembers.fs.bsl @@ -109,7 +109,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,79))], PreXmlDocEmpty, [], - None, (2,0--4,79), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl index 1fb231f1bf0..5137e642c9a 100644 --- a/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/OperatorInMemberDefinition.fs.bsl @@ -58,7 +58,7 @@ ImplFile None, (2,5--3,28), { LeadingKeyword = Type (2,0--2,4) EqualsRange = None WithKeyword = None })], (2,0--3,28))], - PreXmlDocEmpty, [], None, (2,0--3,28), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl index 75f40acccd7..eea2cad6200 100644 --- a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinition.fs.bsl @@ -48,7 +48,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,35--2,36) })], (2,0--2,88), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,88), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl index f297f22b8ef..3253f26b962 100644 --- a/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/PartialActivePatternDefinitionWithoutParameters.fs.bsl @@ -25,7 +25,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,18--2,19) })], (2,0--2,33), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,33), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl b/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl index 568eab9ee5d..e6a9d22b312 100644 --- a/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl +++ b/tests/service/data/SyntaxTree/OperatorName/QualifiedOperatorExpression.fs.bsl @@ -40,7 +40,7 @@ ImplFile NoneAtLet, { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,23--2,24) })], (2,0--2,40), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,40), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl b/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl index 06390308b66..b051e774443 100644 --- a/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/InHeadPattern.fs.bsl @@ -27,7 +27,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,11--2,12) })], (2,0--2,24), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,24), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl b/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl index 85ac6e19fcb..53eba0b1b3a 100644 --- a/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/OperatorInMatchPattern.fs.bsl @@ -23,7 +23,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,24), { MatchKeyword = (2,0--2,5) WithKeyword = (2,8--2,12) }), (2,0--3,24))], PreXmlDocEmpty, - [], None, (2,0--3,24), { LeadingKeyword = None })], (true, true), + [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl b/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl index af10ffc38c7..ef6ff484d63 100644 --- a/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/OperatorInSynPatLongIdent.fs.bsl @@ -30,7 +30,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,17--2,18) })], (2,0--2,28), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,28), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl b/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl index 5d84ab6ba5d..d8fea47cf6f 100644 --- a/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/ParenthesesOfSynArgPatsNamePatPairs.fs.bsl @@ -32,7 +32,7 @@ ImplFile BarRange = Some (6,0--6,1) })], (2,0--6,22), { MatchKeyword = (2,0--2,5) WithKeyword = (2,11--2,15) }), (2,0--6,22))], PreXmlDocEmpty, - [], None, (2,0--6,22), { LeadingKeyword = None })], (true, true), + [], None, (2,0--7,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (3,15--3,21); BlockComment (5,2--5,11)] }, diff --git a/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl index e273e9d8d7b..b25fece4c04 100644 --- a/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/SynArgPatsNamePatPairsContainsTheRangeOfTheEqualsSign.fs.bsl @@ -25,7 +25,7 @@ ImplFile BarRange = Some (3,0--3,1) })], (2,0--3,16), { MatchKeyword = (2,0--2,5) WithKeyword = (2,8--2,12) }), (2,0--3,16))], PreXmlDocEmpty, - [], None, (2,0--3,16), { LeadingKeyword = None })], (true, true), + [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl b/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl index 923ba4326f5..4f60ec0e26f 100644 --- a/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl +++ b/tests/service/data/SyntaxTree/Pattern/SynPatOrContainsTheRangeOfTheBar.fs.bsl @@ -25,7 +25,7 @@ ImplFile BarRange = Some (5,0--5,1) })], (2,0--5,9), { MatchKeyword = (2,0--2,5) WithKeyword = (2,8--2,12) }), (2,0--5,9))], PreXmlDocEmpty, - [], None, (2,0--5,9), { LeadingKeyword = None })], (true, true), + [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl b/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl index bd9494be9bd..2a904b29554 100644 --- a/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl +++ b/tests/service/data/SyntaxTree/SignatureType/LeadingKeywordInRecursiveTypes.fsi.bsl @@ -29,7 +29,7 @@ SigFile { LeadingKeyword = And (3,0--3,3) EqualsRange = Some (3,6--3,7) WithKeyword = None })], (2,0--3,11))], PreXmlDocEmpty, [], - None, (2,0--3,11), { LeadingKeyword = None })], + None, (2,0--4,0), { LeadingKeyword = None })], { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl index 1d6e5166b4c..d75deb2559f 100644 --- a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindRegular.fs.bsl @@ -18,7 +18,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,10--2,11) })], (2,0--2,17), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,17), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl index a20bd2188e9..3558453d510 100644 --- a/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstBytesWithSynByteStringKindVerbatim.fs.bsl @@ -18,7 +18,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,10--2,11) })], (2,0--2,18), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,18), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl index 47384a6b664..d7e456fbf21 100644 --- a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindRegular.fs.bsl @@ -17,7 +17,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,12), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--2,12), { LeadingKeyword = None })], (true, true), + (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl index 46e536c047d..a6367f49c08 100644 --- a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindTripleQuote.fs.bsl @@ -17,7 +17,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,16), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--2,16), { LeadingKeyword = None })], (true, true), + (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl index eb2e4bc4191..3ac4b59d559 100644 --- a/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynConstStringWithSynStringKindVerbatim.fs.bsl @@ -17,7 +17,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,13), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--2,13), { LeadingKeyword = None })], (true, true), + (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl index 9fcb671cc39..7026b9a1034 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindRegular.fs.bsl @@ -20,7 +20,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,18), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--2,18), { LeadingKeyword = None })], (true, true), + (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl index 02308212063..9e42b6455ce 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindTripleQuote.fs.bsl @@ -23,7 +23,7 @@ ImplFile InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,22), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--2,22), { LeadingKeyword = None })], (true, true), + (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl index b3817f4d54a..2fb03900ebf 100644 --- a/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl +++ b/tests/service/data/SyntaxTree/String/SynExprInterpolatedStringWithSynStringKindVerbatim.fs.bsl @@ -23,7 +23,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,6--2,7) })], (2,0--2,70), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,70), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl b/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl index 24558691a94..0519b1b2187 100644 --- a/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/NestedSynTypeOrInsideSynExprTraitCall.fs.bsl @@ -100,7 +100,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,34--2,35) })], (2,0--2,100), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,100), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl b/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl index 3ebeebbf172..1e3e4c88ac6 100644 --- a/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SingleSynTypeInsideSynExprTraitCall.fs.bsl @@ -189,7 +189,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--4,60))], PreXmlDocEmpty, [], - None, (2,0--4,60), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl index 218867e359b..de6b23fb759 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynExprTraitCall.fs.bsl @@ -77,7 +77,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,29--2,30) })], (2,0--2,84), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,84), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl index e26095d1477..fe5574fc5fc 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeOrInsideSynTypeConstraintWhereTyparSupportsMember.fs.bsl @@ -84,7 +84,7 @@ ImplFile InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,106--2,107) })], (2,0--3,6), { InKeyword = None })], PreXmlDocEmpty, [], None, - (2,0--3,6), { LeadingKeyword = None })], (true, true), + (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl index f9937481154..5e112be7de8 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeOrWithAppTypeOnTheRightHandSide.fs.bsl @@ -58,7 +58,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = Some (2,4--2,10) EqualsRange = Some (2,21--2,22) })], (2,0--2,64), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,64), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl index 170c53a324d..c65846b5121 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterAttributes.fsi.bsl @@ -89,7 +89,7 @@ SigFile (2,5--3,63), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,63))], - PreXmlDocEmpty, [], None, (2,0--3,63), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl index 578a1c99fd1..6519bc1260e 100644 --- a/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl +++ b/tests/service/data/SyntaxTree/SynType/SynTypeTupleDoesIncludeLeadingParameterName.fsi.bsl @@ -53,7 +53,7 @@ SigFile (2,5--3,34), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,34))], - PreXmlDocEmpty, [], None, (2,0--3,34), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl b/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl index 10fc6588f58..478489a67f7 100644 --- a/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/AttributesInOptionalNamedMemberParameter.fs.bsl @@ -70,7 +70,7 @@ ImplFile (2,5--3,46), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,46))], - PreXmlDocEmpty, [], None, (2,0--3,46), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl b/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl index 7e8441649ca..26f912fd463 100644 --- a/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/MultipleSynEnumCaseContainsRangeOfConstant.fs.bsl @@ -28,7 +28,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,13))], PreXmlDocEmpty, [], - None, (2,0--4,13), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl b/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl index 45199687092..cd9f16db52b 100644 --- a/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/NamedParametersInDelegateType.fs.bsl @@ -85,7 +85,7 @@ ImplFile (2,5--2,46), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,46))], - PreXmlDocEmpty, [], None, (2,0--2,46), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl b/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl index 8d6e6bdf2a0..79bbd17b1a6 100644 --- a/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/RangeOfAttributeShouldBeIncludedInSynTypeDefn.fs.bsl @@ -20,7 +20,7 @@ ImplFile { LeadingKeyword = Type (3,0--3,4) EqualsRange = Some (3,9--3,10) WithKeyword = None })], (2,0--5,7))], PreXmlDocEmpty, [], - None, (2,0--5,7), { LeadingKeyword = None })], (true, true), + None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl b/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl index 0681885c74a..ad592dd5cbb 100644 --- a/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/RangeOfAttributesShouldBeIncludedInRecursiveTypes.fs.bsl @@ -109,7 +109,7 @@ ImplFile { LeadingKeyword = And (6,0--6,3) EqualsRange = Some (6,56--6,57) WithKeyword = None })], (2,0--10,5))], PreXmlDocEmpty, [], - None, (2,0--10,5), { LeadingKeyword = None })], (true, true), + None, (2,0--11,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl b/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl index 79b8b0689ab..eebe5e89043 100644 --- a/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SingleSynEnumCaseContainsRangeOfConstant.fs.bsl @@ -22,7 +22,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,27))], PreXmlDocEmpty, [], - None, (2,0--2,27), { LeadingKeyword = None })], (true, true), + None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl index 1212bc3c07a..4a03a8854ac 100644 --- a/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynMemberDefnInterfaceContainsTheRangeOfTheWithKeyword.fs.bsl @@ -63,7 +63,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--5,19))], PreXmlDocEmpty, [], - None, (2,0--5,19), { LeadingKeyword = None })], (true, true), + None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl index e7ba5e8f867..bdf9ec74f42 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAttributeContainsTheRangeOfTheTypeKeyword.fs.bsl @@ -26,7 +26,7 @@ ImplFile { LeadingKeyword = Type (4,0--4,4) EqualsRange = Some (4,7--4,8) WithKeyword = None })], (2,0--4,10))], PreXmlDocEmpty, [], - None, (2,0--4,10), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (3,0--3,8)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl index e4ae1c86ead..200a42bb6be 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithAugmentationContainsTheRangeOfTheWithKeyword.fs.bsl @@ -40,7 +40,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = None WithKeyword = None })], (2,0--3,21))], PreXmlDocEmpty, [], - None, (2,0--3,21), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl index 53278778d7b..4ebef606401 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithEnumContainsTheRangeOfTheEqualsSign.fs.bsl @@ -29,7 +29,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,10--2,11) WithKeyword = None })], (2,0--4,19))], PreXmlDocEmpty, [], - None, (2,0--4,19), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl index ed03f3c265d..ac4171bbf00 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithObjectModelDelegateContainsTheRangeOfTheEqualsSign.fs.bsl @@ -48,7 +48,7 @@ ImplFile (2,5--2,37), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--2,37))], - PreXmlDocEmpty, [], None, (2,0--2,37), { LeadingKeyword = None })], + PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl index 11685c658c1..7cb9f5a2af5 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithRecordContainsTheRangeOfTheWithKeyword.fs.bsl @@ -74,7 +74,7 @@ ImplFile None, (2,5--5,46), { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = Some (4,4--4,8) })], - (2,0--5,46))], PreXmlDocEmpty, [], None, (2,0--5,46), + (2,0--5,46))], PreXmlDocEmpty, [], None, (2,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl index d4dd58ca8a4..561ab54725d 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithUnionContainsTheRangeOfTheEqualsSign.fs.bsl @@ -50,7 +50,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,11--2,12) WithKeyword = None })], (2,0--4,28))], PreXmlDocEmpty, [], - None, (2,0--4,28), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl index 6a3a72ce342..98690850046 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeDefnWithXmlDocContainsTheRangeOfTheTypeKeyword.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = And (5,0--5,3) EqualsRange = Some (5,6--5,7) WithKeyword = None })], (2,0--5,9))], PreXmlDocEmpty, [], - None, (4,0--5,9), { LeadingKeyword = None })], (true, true), + None, (4,0--6,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (3,0--3,8)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl index 83d242d62c7..18cf4ffe778 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeFunHasRangeOfArrow.fs.bsl @@ -21,7 +21,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,20))], PreXmlDocEmpty, [], - None, (2,0--3,20), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [LineComment (2,19--2,59)] }, set [])) diff --git a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl index 56d5e500cc9..a1c7db8a6dc 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStruct.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,26--2,27) })], (2,0--2,30), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,30), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl index 636eb8932da..a2e63034dd5 100644 --- a/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl +++ b/tests/service/data/SyntaxTree/Type/SynTypeTupleWithStructRecovery.fs.bsl @@ -32,7 +32,7 @@ ImplFile { LeadingKeyword = Let (2,0--2,3) InlineKeyword = None EqualsRange = Some (2,25--2,26) })], (2,0--2,29), - { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--2,29), + { InKeyword = None })], PreXmlDocEmpty, [], None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl index c59f6bf8077..7b2aafa30de 100644 --- a/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/MultipleSynUnionCasesHaveBarRange.fs.bsl @@ -41,7 +41,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--4,17))], PreXmlDocEmpty, [], - None, (2,0--4,17), { LeadingKeyword = None })], (true, true), + None, (2,0--5,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl index dc3988cd8f6..732c0e0b8bf 100644 --- a/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/PrivateKeywordHasRange.fs.bsl @@ -29,7 +29,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,14--2,15) WithKeyword = None })], (2,0--9,20))], PreXmlDocEmpty, [], - None, (2,0--9,20), { LeadingKeyword = None })], (true, true), + None, (2,0--10,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [If (Not (Ident "FABLE_COMPILER"), (6,0--6,19)); EndIf (8,0--8,6)] WarnDirectives = [] diff --git a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl index 4537fcf9e84..7ed7778c9c9 100644 --- a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseHasBarRange.fs.bsl @@ -29,7 +29,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,26))], PreXmlDocEmpty, [], - None, (2,0--2,26), { LeadingKeyword = None })], (true, true), + None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl index a6533c726ef..a2888b02b10 100644 --- a/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/SingleSynUnionCaseWithoutBar.fs.bsl @@ -29,7 +29,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--2,24))], PreXmlDocEmpty, [], - None, (2,0--2,24), { LeadingKeyword = None })], (true, true), + None, (2,0--3,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl index be3c2b4cd64..cd3e454e196 100644 --- a/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/SynUnionCaseKindFullType.fs.bsl @@ -35,7 +35,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,7--2,8) WithKeyword = None })], (2,0--3,20))], PreXmlDocEmpty, [], - None, (2,0--3,20), { LeadingKeyword = None })], (true, true), + None, (2,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl b/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl index dd9c1c6b12e..57c3921ba18 100644 --- a/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl +++ b/tests/service/data/SyntaxTree/UnionCase/UnionCaseFieldsCanHaveComments.fs.bsl @@ -36,7 +36,7 @@ ImplFile { LeadingKeyword = Type (2,0--2,4) EqualsRange = Some (2,9--2,10) WithKeyword = None })], (2,0--8,6))], PreXmlDocEmpty, [], - None, (2,0--8,6), { LeadingKeyword = None })], (true, true), + None, (2,0--9,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [] CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/WarnScope/IndentedWarnDirective.fs.bsl b/tests/service/data/SyntaxTree/WarnScope/IndentedWarnDirective.fs.bsl index 5342cff2268..1acf18f6d2b 100644 --- a/tests/service/data/SyntaxTree/WarnScope/IndentedWarnDirective.fs.bsl +++ b/tests/service/data/SyntaxTree/WarnScope/IndentedWarnDirective.fs.bsl @@ -16,7 +16,7 @@ ImplFile { LeadingKeyword = Let (1,0--1,3) InlineKeyword = None EqualsRange = Some (1,6--1,7) })], (1,0--3,6), - { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--3,6), + { InKeyword = None })], PreXmlDocEmpty, [], None, (1,0--4,0), { LeadingKeyword = None })], (true, true), { ConditionalDirectives = [] WarnDirectives = [Nowarn (2,4--2,14)] From 72bcc29fca2dede1d3819d4e5f8e60f1e53bc92e Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 21 Apr 2026 08:46:43 +0200 Subject: [PATCH 14/15] Fix merge conflicts with main and update baselines for improved diagnostics - Resolve FSComp.txt number conflict: bump PR entry to 3887 (later removed by LexFilter commit) - Resolve XLF conflicts: keep main's parsLetBangCannotBeLastInCE and tcListLiteralWithSingleTupleElement entries - Update Auto property 08/09/10 baselines for improved diagnostic messages from main (#19398) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../SyntaxTree/Member/Auto property 08.fs.bsl | 19 ++++++++++++++++++- .../SyntaxTree/Member/Auto property 09.fs.bsl | 19 ++++++++++++++++++- .../SyntaxTree/Member/Auto property 10.fs.bsl | 19 ++++++++++++++++++- 3 files changed, 54 insertions(+), 3 deletions(-) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl index c758fcae4a9..cb57654d7c9 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl @@ -46,4 +46,21 @@ ImplFile (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:22). Try indenting this further. To continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7. -(6,0)-(6,1) parse error Incomplete structured construct at or before this point. Expected identifier, '(', '(*)' or other token. +(6,0)-(6,1) parse error Incomplete structured construct at or before this point. (no 'in' context found: [[NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; + NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; + NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSet; NONTERM_classMemberSpfnGetSet]; + [NONTERM_autoPropsDefnDecl]; [NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]]). Expected identifier, '(', '(*)' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl index 70796107bed..e8589af0fe7 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl @@ -69,4 +69,21 @@ ImplFile (5,4)-(5,10) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:23). Try indenting this further. To continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7. -(5,4)-(5,10) parse error Incomplete structured construct at or before this point. Expected identifier, '(', '(*)' or other token. +(5,4)-(5,10) parse error Incomplete structured construct at or before this point. (no 'in' context found: [[NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; + NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; + NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSet; NONTERM_classMemberSpfnGetSet]; + [NONTERM_autoPropsDefnDecl]; [NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]]). Expected identifier, '(', '(*)' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl index ba04b1a3de7..bfa6c0034a7 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl @@ -45,4 +45,21 @@ ImplFile (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:22). Try indenting this further. To continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7. -(5,0)-(5,0) parse error Incomplete structured construct at or before this point. Expected identifier, '(', '(*)' or other token. +(5,0)-(5,0) parse error Incomplete structured construct at or before this point. (no 'in' context found: [[NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; + NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; + NONTERM_classMemberSpfnGetSetElements]; + [NONTERM_classMemberSpfnGetSet; NONTERM_classMemberSpfnGetSet]; + [NONTERM_autoPropsDefnDecl]; [NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; + [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; + NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]]). Expected identifier, '(', '(*)' or other token. From 32f46ad8e1534874159478174c33f0a92dd28071 Mon Sep 17 00:00:00 2001 From: Tomas Grosup Date: Tue, 21 Apr 2026 08:53:08 +0200 Subject: [PATCH 15/15] Fix review: revert Debug-build baselines, deduplicate release notes - Revert Auto property 08/09/10 baselines that were incorrectly regenerated with a Debug build, leaking #if DEBUG parser internals (NONTERM_* state) into error messages - Replace 4 duplicate Breaking Changes release note entries (referencing wrong issues/PRs and stale FS3885 warning) with one correct entry Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../.FSharp.Compiler.Service/11.0.100.md | 5 +---- .../SyntaxTree/Member/Auto property 08.fs.bsl | 19 +------------------ .../SyntaxTree/Member/Auto property 09.fs.bsl | 19 +------------------ .../SyntaxTree/Member/Auto property 10.fs.bsl | 19 +------------------ 4 files changed, 4 insertions(+), 58 deletions(-) diff --git a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md index 49a52d24763..9501a77ed27 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md +++ b/docs/release-notes/.FSharp.Compiler.Service/11.0.100.md @@ -46,7 +46,4 @@ * Improvements in error and warning messages: new error FS3885 when `let!`/`use!` is the final expression in a computation expression; new warning FS3886 when a list literal contains a single tuple element (likely missing `;` separator); improved wording for FS0003, FS0025, FS0039, FS0072, FS0247, FS0597, FS0670, FS3082, and SRTP operator-not-in-scope hints. ([PR #19398](https://github.com/dotnet/fsharp/pull/19398)) ### Breaking Changes -* Added warning FS3885 when `let ... in` with explicit `in` keyword is used in a sequence expression and the body extends to subsequent lines, causing unexpected scoping. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19526](https://github.com/dotnet/fsharp/pull/19526)) -* Added warning FS3885 when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, which causes all subsequent lines to become part of the `let` body due to the parser's greedy behavior. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19526](https://github.com/dotnet/fsharp/pull/19526)) -* Added warning FS3885 when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, which causes all subsequent lines to become part of the `let` body due to the parser's greedy behavior. ([Issue #7091](https://github.com/dotnet/fsharp/issues/7091), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) -* Added warning FS3885 when `let ... in` with explicit `in` keyword has a body that extends to subsequent lines, which causes all subsequent lines to become part of the `let` body due to the parser's greedy behavior. ([Issue #7741](https://github.com/dotnet/fsharp/issues/7741), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) +* `let ... in` with explicit `in` keyword in light syntax now scopes the body to the same line, preventing the parser from greedily capturing subsequent lines. Code that relied on the old multi-line scoping behavior may need adjustment. ([Issue #7741](https://github.com/dotnet/fsharp/issues/7741), [PR #19501](https://github.com/dotnet/fsharp/pull/19501)) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl index cb57654d7c9..c758fcae4a9 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl @@ -46,21 +46,4 @@ ImplFile (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:22). Try indenting this further. To continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7. -(6,0)-(6,1) parse error Incomplete structured construct at or before this point. (no 'in' context found: [[NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; - NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; - NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSet; NONTERM_classMemberSpfnGetSet]; - [NONTERM_autoPropsDefnDecl]; [NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]]). Expected identifier, '(', '(*)' or other token. +(6,0)-(6,1) parse error Incomplete structured construct at or before this point. Expected identifier, '(', '(*)' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl index e8589af0fe7..70796107bed 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl @@ -69,21 +69,4 @@ ImplFile (5,4)-(5,10) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:23). Try indenting this further. To continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7. -(5,4)-(5,10) parse error Incomplete structured construct at or before this point. (no 'in' context found: [[NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; - NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; - NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSet; NONTERM_classMemberSpfnGetSet]; - [NONTERM_autoPropsDefnDecl]; [NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]]). Expected identifier, '(', '(*)' or other token. +(5,4)-(5,10) parse error Incomplete structured construct at or before this point. Expected identifier, '(', '(*)' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl index bfa6c0034a7..ba04b1a3de7 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl @@ -45,21 +45,4 @@ ImplFile (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:22). Try indenting this further. To continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7. -(5,0)-(5,0) parse error Incomplete structured construct at or before this point. (no 'in' context found: [[NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; - NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSetElements; NONTERM_classMemberSpfnGetSetElements; - NONTERM_classMemberSpfnGetSetElements]; - [NONTERM_classMemberSpfnGetSet; NONTERM_classMemberSpfnGetSet]; - [NONTERM_autoPropsDefnDecl]; [NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]; - [NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl; - NONTERM_autoPropsDefnDecl; NONTERM_autoPropsDefnDecl]]). Expected identifier, '(', '(*)' or other token. +(5,0)-(5,0) parse error Incomplete structured construct at or before this point. Expected identifier, '(', '(*)' or other token.