Skip to content

Commit c337ab5

Browse files
authored
Add trivia for SynExpr.LetOrUseBang. (#12782)
1 parent a55d955 commit c337ab5

File tree

9 files changed

+52
-26
lines changed

9 files changed

+52
-26
lines changed

src/fsharp/CheckComputationExpressions.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,7 +1137,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter
11371137
| DebugPointAtSequential.SuppressBoth -> DebugPointAtBinding.NoneAtDo
11381138
| DebugPointAtSequential.SuppressStmt -> DebugPointAtBinding.Yes m
11391139
| DebugPointAtSequential.SuppressNeither -> DebugPointAtBinding.Yes m
1140-
Some(trans CompExprTranslationPass.Initial q varSpace (SynExpr.LetOrUseBang (sp, false, true, SynPat.Const(SynConst.Unit, rhsExpr.Range), None, rhsExpr, [], innerComp2, m)) translatedCtxt)
1140+
Some(trans CompExprTranslationPass.Initial q varSpace (SynExpr.LetOrUseBang (sp, false, true, SynPat.Const(SynConst.Unit, rhsExpr.Range), rhsExpr, [], innerComp2, m, SynExprLetOrUseBangTrivia.Zero)) translatedCtxt)
11411141

11421142
// "expr; cexpr" is treated as sequential execution
11431143
| _ ->
@@ -1555,7 +1555,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter
15551555
// Rebind using either for ... or let!....
15561556
let rebind =
15571557
if maintainsVarSpaceUsingBind then
1558-
SynExpr.LetOrUseBang (DebugPointAtBinding.NoneAtLet, false, false, intoPat, None, dataCompAfterOp, [], contExpr, intoPat.Range)
1558+
SynExpr.LetOrUseBang (DebugPointAtBinding.NoneAtLet, false, false, intoPat, dataCompAfterOp, [], contExpr, intoPat.Range, SynExprLetOrUseBangTrivia.Zero)
15591559
else
15601560
SynExpr.ForEach (DebugPointAtFor.No, DebugPointAtInOrTo.No, SeqExprOnly false, false, intoPat, dataCompAfterOp, contExpr, intoPat.Range)
15611561

@@ -1577,7 +1577,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter
15771577
// Rebind using either for ... or let!....
15781578
let rebind =
15791579
if lastUsesBind then
1580-
SynExpr.LetOrUseBang (DebugPointAtBinding.NoneAtLet, false, false, varSpacePat, None, dataCompPrior, [], compClausesExpr, compClausesExpr.Range)
1580+
SynExpr.LetOrUseBang (DebugPointAtBinding.NoneAtLet, false, false, varSpacePat, dataCompPrior, [], compClausesExpr, compClausesExpr.Range, SynExprLetOrUseBangTrivia.Zero)
15811581
else
15821582
SynExpr.ForEach (DebugPointAtFor.No, DebugPointAtInOrTo.No, SeqExprOnly false, false, varSpacePat, dataCompPrior, compClausesExpr, compClausesExpr.Range)
15831583

@@ -1604,7 +1604,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter
16041604
match TryFindIntrinsicOrExtensionMethInfo ResultCollectionSettings.AtMostOneResult cenv env m ad "Zero" builderTy with
16051605
| minfo :: _ when MethInfoHasAttribute cenv.g m cenv.g.attrib_DefaultValueAttribute minfo -> SynExpr.ImplicitZero m
16061606
| _ -> SynExpr.YieldOrReturn ((false, true), SynExpr.Const (SynConst.Unit, m), m)
1607-
let letBangBind = SynExpr.LetOrUseBang (DebugPointAtBinding.NoneAtDo, false, false, SynPat.Const(SynConst.Unit, mUnit), None, rhsExpr, [], bodyExpr, m)
1607+
let letBangBind = SynExpr.LetOrUseBang (DebugPointAtBinding.NoneAtDo, false, false, SynPat.Const(SynConst.Unit, mUnit), rhsExpr, [], bodyExpr, m, SynExprLetOrUseBangTrivia.Zero)
16081608
trans CompExprTranslationPass.Initial q varSpace letBangBind translatedCtxt
16091609

16101610
// "expr;" in final position is treated as { expr; zero }

src/fsharp/SyntaxTree.fs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -784,11 +784,11 @@ type SynExpr =
784784
isUse: bool *
785785
isFromSource: bool *
786786
pat: SynPat *
787-
equalsRange: range option *
788787
rhs: SynExpr *
789788
andBangs: SynExprAndBang list *
790789
body:SynExpr *
791-
range: range
790+
range: range *
791+
trivia: SynExprLetOrUseBangTrivia
792792

793793
| MatchBang of
794794
matchKeyword: range *

src/fsharp/SyntaxTree.fsi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -972,11 +972,11 @@ type SynExpr =
972972
isUse: bool *
973973
isFromSource: bool *
974974
pat: SynPat *
975-
equalsRange: range option *
976975
rhs: SynExpr *
977976
andBangs: SynExprAndBang list *
978977
body:SynExpr *
979-
range: range
978+
range: range *
979+
trivia: SynExprLetOrUseBangTrivia
980980

981981
/// F# syntax: match! expr with pat1 -> expr | ... | patN -> exprN
982982
| MatchBang of

src/fsharp/SyntaxTrivia.fs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ type SynExprLambdaTrivia =
3333
type SynExprLetOrUseTrivia =
3434
{ InKeyword: range option }
3535

36+
[<NoEquality; NoComparison>]
37+
type SynExprLetOrUseBangTrivia =
38+
{ EqualsRange: range option }
39+
static member Zero: SynExprLetOrUseBangTrivia =
40+
{ EqualsRange = None }
41+
3642
[<NoEquality; NoComparison>]
3743
type SynMatchClauseTrivia =
3844
{ ArrowRange: range option

src/fsharp/SyntaxTrivia.fsi

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,23 @@ type SynExprLambdaTrivia =
5353
}
5454
static member Zero: SynExprLambdaTrivia
5555

56-
/// Represents additional information for SynExpr.Lambda
56+
/// Represents additional information for SynExpr.LetOrUse
5757
[<NoEquality; NoComparison>]
5858
type SynExprLetOrUseTrivia =
5959
{
6060
/// The syntax range of the `in` keyword.
6161
InKeyword: range option
6262
}
6363

64+
/// Represents additional information for SynExpr.LetOrUseBang
65+
[<NoEquality; NoComparison>]
66+
type SynExprLetOrUseBangTrivia =
67+
{
68+
/// The syntax range of the `=` token.
69+
EqualsRange: range option
70+
}
71+
static member Zero: SynExprLetOrUseBangTrivia
72+
6473
/// Represents additional information for SynMatchClause
6574
[<NoEquality; NoComparison>]
6675
type SynMatchClauseTrivia =

src/fsharp/pars.fsy

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3933,27 +3933,31 @@ declExpr:
39333933
{ let spBind = DebugPointAtBinding.Yes(rhs2 parseState 1 5)
39343934
let mEquals = rhs parseState 3
39353935
let m = unionRanges (rhs parseState 1) $8.Range
3936-
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, Some mEquals, $4, $7, $8, m) }
3936+
let trivia: SynExprLetOrUseBangTrivia = { EqualsRange = Some mEquals }
3937+
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, $4, $7, $8, m, trivia) }
39373938

39383939
| OBINDER headBindingPattern EQUALS typedSequentialExprBlock hardwhiteDefnBindingsTerminator opt_OBLOCKSEP moreBinders typedSequentialExprBlock %prec expr_let
39393940
{ let report, mIn = $5
39403941
report (if $1 = "use" then "use!" else "let!") (rhs parseState 1) // report unterminated error
39413942
let spBind = DebugPointAtBinding.Yes(unionRanges (rhs parseState 1) $4.Range)
39423943
let mEquals = rhs parseState 3
39433944
let m = unionRanges (rhs parseState 1) $8.Range
3944-
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, Some mEquals, $4, $7, $8, m) }
3945+
let trivia: SynExprLetOrUseBangTrivia = { EqualsRange = Some mEquals }
3946+
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, $4, $7, $8, m, trivia) }
39453947

39463948
| OBINDER headBindingPattern EQUALS typedSequentialExprBlock hardwhiteDefnBindingsTerminator opt_OBLOCKSEP error %prec expr_let
39473949
{ // error recovery that allows intellisense when writing incomplete computation expressions
39483950
let spBind = DebugPointAtBinding.Yes(unionRanges (rhs parseState 1) $4.Range)
39493951
let mEquals = rhs parseState 3
39503952
let mAll = unionRanges (rhs parseState 1) (rhs parseState 7)
39513953
let m = $4.Range.EndRange // zero-width range
3952-
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, Some mEquals, $4, [], SynExpr.ImplicitZero m, mAll) }
3954+
let trivia: SynExprLetOrUseBangTrivia = { EqualsRange = Some mEquals }
3955+
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, $4, [], SynExpr.ImplicitZero m, mAll, trivia) }
39533956

39543957
| DO_BANG typedSequentialExpr IN opt_OBLOCKSEP typedSequentialExprBlock %prec expr_let
39553958
{ let spBind = DebugPointAtBinding.NoneAtDo
3956-
SynExpr.LetOrUseBang(spBind, false, true, SynPat.Const(SynConst.Unit, $2.Range), None, $2, [], $5, unionRanges (rhs parseState 1) $5.Range) }
3959+
let trivia: SynExprLetOrUseBangTrivia = { EqualsRange = None }
3960+
SynExpr.LetOrUseBang(spBind, false, true, SynPat.Const(SynConst.Unit, $2.Range), $2, [], $5, unionRanges (rhs parseState 1) $5.Range, trivia) }
39573961

39583962
| ODO_BANG typedSequentialExprBlock hardwhiteDefnBindingsTerminator %prec expr_let
39593963
{ SynExpr.DoBang ($2, unionRanges (rhs parseState 1) $2.Range) }

src/fsharp/service/FSharpParseFileResults.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput,
677677
yield! walkExpr false e2
678678
yield! walkExpr false e3
679679

680-
| SynExpr.LetOrUseBang (spBind, _, _, _, _, e1, es, e2, _) ->
680+
| SynExpr.LetOrUseBang (spBind, _, _, _, e1, es, e2, _, _) ->
681681
yield! walkBindSeqPt spBind
682682
yield! walkExpr true e1
683683
for SynExprAndBang(debugPoint = andBangSpBind; body = eAndBang) in es do

tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5169,8 +5169,8 @@ FSharp.Compiler.Syntax.DebugPointAtBinding: Boolean get_IsNoneAtLet()
51695169
FSharp.Compiler.Syntax.DebugPointAtBinding: Boolean get_IsNoneAtSticky()
51705170
FSharp.Compiler.Syntax.DebugPointAtBinding: Boolean get_IsYes()
51715171
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding Combine(FSharp.Compiler.Syntax.DebugPointAtBinding)
5172-
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtDo
51735172
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NewYes(FSharp.Compiler.Text.Range)
5173+
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtDo
51745174
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtInvisible
51755175
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtLet
51765176
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtSticky
@@ -5264,28 +5264,28 @@ FSharp.Compiler.Syntax.DebugPointAtLeafExpr: Int32 Tag
52645264
FSharp.Compiler.Syntax.DebugPointAtLeafExpr: Int32 get_Tag()
52655265
FSharp.Compiler.Syntax.DebugPointAtLeafExpr: System.String ToString()
52665266
FSharp.Compiler.Syntax.DebugPointAtSequential
5267-
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressNeither
52685267
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressBoth
52695268
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressExpr
5269+
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressNeither
52705270
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressStmt
52715271
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean Equals(FSharp.Compiler.Syntax.DebugPointAtSequential)
52725272
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean Equals(System.Object)
52735273
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean Equals(System.Object, System.Collections.IEqualityComparer)
5274-
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressNeither
52755274
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressBoth
52765275
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressExpr
5276+
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressNeither
52775277
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressStmt
5278-
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressNeither()
52795278
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressBoth()
52805279
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressExpr()
5280+
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressNeither()
52815281
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressStmt()
5282-
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressNeither
52835282
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressBoth
52845283
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressExpr
5284+
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressNeither
52855285
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressStmt
5286-
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressNeither()
52875286
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressBoth()
52885287
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressExpr()
5288+
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressNeither()
52895289
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressStmt()
52905290
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential+Tags
52915291
FSharp.Compiler.Syntax.DebugPointAtSequential: Int32 CompareTo(FSharp.Compiler.Syntax.DebugPointAtSequential)
@@ -6247,12 +6247,12 @@ FSharp.Compiler.Syntax.SynExpr+Const: FSharp.Compiler.Syntax.SynConst constant
62476247
FSharp.Compiler.Syntax.SynExpr+Const: FSharp.Compiler.Syntax.SynConst get_constant()
62486248
FSharp.Compiler.Syntax.SynExpr+Const: FSharp.Compiler.Text.Range get_range()
62496249
FSharp.Compiler.Syntax.SynExpr+Const: FSharp.Compiler.Text.Range range
6250-
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.SynExpr get_innerExpr()
6251-
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.SynExpr innerExpr
62526250
FSharp.Compiler.Syntax.SynExpr+DebugPoint: Boolean get_isControlFlow()
62536251
FSharp.Compiler.Syntax.SynExpr+DebugPoint: Boolean isControlFlow
62546252
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.DebugPointAtLeafExpr debugPoint
62556253
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.DebugPointAtLeafExpr get_debugPoint()
6254+
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.SynExpr get_innerExpr()
6255+
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.SynExpr innerExpr
62566256
FSharp.Compiler.Syntax.SynExpr+DiscardAfterMissingQualificationAfterDot: FSharp.Compiler.Syntax.SynExpr expr
62576257
FSharp.Compiler.Syntax.SynExpr+DiscardAfterMissingQualificationAfterDot: FSharp.Compiler.Syntax.SynExpr get_expr()
62586258
FSharp.Compiler.Syntax.SynExpr+DiscardAfterMissingQualificationAfterDot: FSharp.Compiler.Text.Range get_range()
@@ -6457,12 +6457,12 @@ FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Syntax.SynExpr get_
64576457
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Syntax.SynExpr rhs
64586458
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Syntax.SynPat get_pat()
64596459
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Syntax.SynPat pat
6460+
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia get_trivia()
6461+
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia trivia
64606462
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Text.Range get_range()
64616463
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Text.Range range
64626464
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynExprAndBang] andBangs
64636465
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynExprAndBang] get_andBangs()
6464-
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] equalsRange
6465-
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_equalsRange()
64666466
FSharp.Compiler.Syntax.SynExpr+LibraryOnlyILAssembly: FSharp.Compiler.Text.Range get_range()
64676467
FSharp.Compiler.Syntax.SynExpr+LibraryOnlyILAssembly: FSharp.Compiler.Text.Range range
64686468
FSharp.Compiler.Syntax.SynExpr+LibraryOnlyILAssembly: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynExpr] args
@@ -6960,7 +6960,7 @@ FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewJoinIn(FSharp.
69606960
FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewLambda(Boolean, Boolean, FSharp.Compiler.Syntax.SynSimplePats, FSharp.Compiler.Syntax.SynExpr, Microsoft.FSharp.Core.FSharpOption`1[System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynPat],FSharp.Compiler.Syntax.SynExpr]], FSharp.Compiler.Text.Range, FSharp.Compiler.SyntaxTrivia.SynExprLambdaTrivia)
69616961
FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewLazy(FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range)
69626962
FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewLetOrUse(Boolean, Boolean, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynBinding], FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range, FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseTrivia)
6963-
FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewLetOrUseBang(FSharp.Compiler.Syntax.DebugPointAtBinding, Boolean, Boolean, FSharp.Compiler.Syntax.SynPat, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range], FSharp.Compiler.Syntax.SynExpr, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynExprAndBang], FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range)
6963+
FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewLetOrUseBang(FSharp.Compiler.Syntax.DebugPointAtBinding, Boolean, Boolean, FSharp.Compiler.Syntax.SynPat, FSharp.Compiler.Syntax.SynExpr, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynExprAndBang], FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range, FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia)
69646964
FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewLibraryOnlyILAssembly(System.Object, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynType], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynExpr], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynType], FSharp.Compiler.Text.Range)
69656965
FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewLibraryOnlyStaticOptimization(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynStaticOptimizationConstraint], FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range)
69666966
FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewLibraryOnlyUnionCaseFieldGet(FSharp.Compiler.Syntax.SynExpr, Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.Ident], Int32, FSharp.Compiler.Text.Range)
@@ -9128,6 +9128,13 @@ FSharp.Compiler.SyntaxTrivia.SynExprLambdaTrivia: Microsoft.FSharp.Core.FSharpOp
91289128
FSharp.Compiler.SyntaxTrivia.SynExprLambdaTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_ArrowRange()
91299129
FSharp.Compiler.SyntaxTrivia.SynExprLambdaTrivia: System.String ToString()
91309130
FSharp.Compiler.SyntaxTrivia.SynExprLambdaTrivia: Void .ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range])
9131+
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia
9132+
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia Zero
9133+
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia get_Zero()
9134+
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] EqualsRange
9135+
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_EqualsRange()
9136+
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: System.String ToString()
9137+
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: Void .ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range])
91319138
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseTrivia
91329139
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] InKeyword
91339140
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_InKeyword()

0 commit comments

Comments
 (0)