Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
fsharp
提交
c337ab57
F
fsharp
项目概览
dotNET Platform
/
fsharp
11 个月 前同步成功
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fsharp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
c337ab57
编写于
3月 04, 2022
作者:
F
Florian Verdonck
提交者:
GitHub
3月 03, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add trivia for SynExpr.LetOrUseBang. (#12782)
上级
a55d9552
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
52 addition
and
26 deletion
+52
-26
src/fsharp/CheckComputationExpressions.fs
src/fsharp/CheckComputationExpressions.fs
+4
-4
src/fsharp/SyntaxTree.fs
src/fsharp/SyntaxTree.fs
+2
-2
src/fsharp/SyntaxTree.fsi
src/fsharp/SyntaxTree.fsi
+2
-2
src/fsharp/SyntaxTrivia.fs
src/fsharp/SyntaxTrivia.fs
+6
-0
src/fsharp/SyntaxTrivia.fsi
src/fsharp/SyntaxTrivia.fsi
+10
-1
src/fsharp/pars.fsy
src/fsharp/pars.fsy
+8
-4
src/fsharp/service/FSharpParseFileResults.fs
src/fsharp/service/FSharpParseFileResults.fs
+1
-1
tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected
...s/FSharp.CompilerService.SurfaceArea.netstandard.expected
+18
-11
tests/service/Symbols.fs
tests/service/Symbols.fs
+1
-1
未找到文件。
src/fsharp/CheckComputationExpressions.fs
浏览文件 @
c337ab57
...
...
@@ -1137,7 +1137,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter
|
DebugPointAtSequential
.
SuppressBoth
->
DebugPointAtBinding
.
NoneAtDo
|
DebugPointAtSequential
.
SuppressStmt
->
DebugPointAtBinding
.
Yes
m
|
DebugPointAtSequential
.
SuppressNeither
->
DebugPointAtBinding
.
Yes
m
Some
(
trans
CompExprTranslationPass
.
Initial
q
varSpace
(
SynExpr
.
LetOrUseBang
(
sp
,
false
,
true
,
SynPat
.
Const
(
SynConst
.
Unit
,
rhsExpr
.
Range
),
None
,
rhsExpr
,
[]
,
innerComp2
,
m
))
translatedCtxt
)
Some
(
trans
CompExprTranslationPass
.
Initial
q
varSpace
(
SynExpr
.
LetOrUseBang
(
sp
,
false
,
true
,
SynPat
.
Const
(
SynConst
.
Unit
,
rhsExpr
.
Range
),
rhsExpr
,
[]
,
innerComp2
,
m
,
SynExprLetOrUseBangTrivia
.
Zero
))
translatedCtxt
)
// "expr; cexpr" is treated as sequential execution
|
_
->
...
...
@@ -1555,7 +1555,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter
// Rebind using either for ... or let!....
let
rebind
=
if
maintainsVarSpaceUsingBind
then
SynExpr
.
LetOrUseBang
(
DebugPointAtBinding
.
NoneAtLet
,
false
,
false
,
intoPat
,
None
,
dataCompAfterOp
,
[]
,
contExpr
,
intoPat
.
Range
)
SynExpr
.
LetOrUseBang
(
DebugPointAtBinding
.
NoneAtLet
,
false
,
false
,
intoPat
,
dataCompAfterOp
,
[]
,
contExpr
,
intoPat
.
Range
,
SynExprLetOrUseBangTrivia
.
Zero
)
else
SynExpr
.
ForEach
(
DebugPointAtFor
.
No
,
DebugPointAtInOrTo
.
No
,
SeqExprOnly
false
,
false
,
intoPat
,
dataCompAfterOp
,
contExpr
,
intoPat
.
Range
)
...
...
@@ -1577,7 +1577,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter
// Rebind using either for ... or let!....
let
rebind
=
if
lastUsesBind
then
SynExpr
.
LetOrUseBang
(
DebugPointAtBinding
.
NoneAtLet
,
false
,
false
,
varSpacePat
,
None
,
dataCompPrior
,
[]
,
compClausesExpr
,
compClausesExpr
.
Range
)
SynExpr
.
LetOrUseBang
(
DebugPointAtBinding
.
NoneAtLet
,
false
,
false
,
varSpacePat
,
dataCompPrior
,
[]
,
compClausesExpr
,
compClausesExpr
.
Range
,
SynExprLetOrUseBangTrivia
.
Zero
)
else
SynExpr
.
ForEach
(
DebugPointAtFor
.
No
,
DebugPointAtInOrTo
.
No
,
SeqExprOnly
false
,
false
,
varSpacePat
,
dataCompPrior
,
compClausesExpr
,
compClausesExpr
.
Range
)
...
...
@@ -1604,7 +1604,7 @@ let TcComputationExpression cenv env (overallTy: OverallTy) tpenv (mWhole, inter
match
TryFindIntrinsicOrExtensionMethInfo
ResultCollectionSettings
.
AtMostOneResult
cenv
env
m
ad
"Zero"
builderTy
with
|
minfo
::
_
when
MethInfoHasAttribute
cenv
.
g
m
cenv
.
g
.
attrib_DefaultValueAttribute
minfo
->
SynExpr
.
ImplicitZero
m
|
_
->
SynExpr
.
YieldOrReturn
((
false
,
true
),
SynExpr
.
Const
(
SynConst
.
Unit
,
m
),
m
)
let
letBangBind
=
SynExpr
.
LetOrUseBang
(
DebugPointAtBinding
.
NoneAtDo
,
false
,
false
,
SynPat
.
Const
(
SynConst
.
Unit
,
mUnit
),
None
,
rhsExpr
,
[]
,
bodyExpr
,
m
)
let
letBangBind
=
SynExpr
.
LetOrUseBang
(
DebugPointAtBinding
.
NoneAtDo
,
false
,
false
,
SynPat
.
Const
(
SynConst
.
Unit
,
mUnit
),
rhsExpr
,
[]
,
bodyExpr
,
m
,
SynExprLetOrUseBangTrivia
.
Zero
)
trans
CompExprTranslationPass
.
Initial
q
varSpace
letBangBind
translatedCtxt
// "expr;" in final position is treated as { expr; zero }
...
...
src/fsharp/SyntaxTree.fs
浏览文件 @
c337ab57
...
...
@@ -784,11 +784,11 @@ type SynExpr =
isUse
:
bool
*
isFromSource
:
bool
*
pat
:
SynPat
*
equalsRange
:
range
option
*
rhs
:
SynExpr
*
andBangs
:
SynExprAndBang
list
*
body
:
SynExpr
*
range
:
range
range
:
range
*
trivia
:
SynExprLetOrUseBangTrivia
|
MatchBang
of
matchKeyword
:
range
*
...
...
src/fsharp/SyntaxTree.fsi
浏览文件 @
c337ab57
...
...
@@ -972,11 +972,11 @@ type SynExpr =
isUse
:
bool
*
isFromSource
:
bool
*
pat
:
SynPat
*
equalsRange
:
range
option
*
rhs
:
SynExpr
*
andBangs
:
SynExprAndBang
list
*
body
:
SynExpr
*
range
:
range
range
:
range
*
trivia
:
SynExprLetOrUseBangTrivia
/// F# syntax: match! expr with pat1 -> expr | ... | patN -> exprN
|
MatchBang
of
...
...
src/fsharp/SyntaxTrivia.fs
浏览文件 @
c337ab57
...
...
@@ -33,6 +33,12 @@ type SynExprLambdaTrivia =
type
SynExprLetOrUseTrivia
=
{
InKeyword
:
range
option
}
[<
NoEquality
;
NoComparison
>]
type
SynExprLetOrUseBangTrivia
=
{
EqualsRange
:
range
option
}
static
member
Zero
:
SynExprLetOrUseBangTrivia
=
{
EqualsRange
=
None
}
[<
NoEquality
;
NoComparison
>]
type
SynMatchClauseTrivia
=
{
ArrowRange
:
range
option
...
...
src/fsharp/SyntaxTrivia.fsi
浏览文件 @
c337ab57
...
...
@@ -53,7 +53,7 @@ type SynExprLambdaTrivia =
}
static
member
Zero
:
SynExprLambdaTrivia
/// Represents additional information for SynExpr.L
ambda
/// Represents additional information for SynExpr.L
etOrUse
[<
NoEquality
;
NoComparison
>]
type
SynExprLetOrUseTrivia
=
{
...
...
@@ -61,6 +61,15 @@ type SynExprLetOrUseTrivia =
InKeyword
:
range
option
}
/// Represents additional information for SynExpr.LetOrUseBang
[<
NoEquality
;
NoComparison
>]
type
SynExprLetOrUseBangTrivia
=
{
/// The syntax range of the `=` token.
EqualsRange
:
range
option
}
static
member
Zero
:
SynExprLetOrUseBangTrivia
/// Represents additional information for SynMatchClause
[<
NoEquality
;
NoComparison
>]
type
SynMatchClauseTrivia
=
...
...
src/fsharp/pars.fsy
浏览文件 @
c337ab57
...
...
@@ -3933,7 +3933,8 @@ declExpr:
{ let spBind = DebugPointAtBinding.Yes(rhs2 parseState 1 5)
let mEquals = rhs parseState 3
let m = unionRanges (rhs parseState 1) $8.Range
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, Some mEquals, $4, $7, $8, m) }
let trivia: SynExprLetOrUseBangTrivia = { EqualsRange = Some mEquals }
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, $4, $7, $8, m, trivia) }
| OBINDER headBindingPattern EQUALS typedSequentialExprBlock hardwhiteDefnBindingsTerminator opt_OBLOCKSEP moreBinders typedSequentialExprBlock %prec expr_let
{ let report, mIn = $5
...
...
@@ -3941,7 +3942,8 @@ declExpr:
let spBind = DebugPointAtBinding.Yes(unionRanges (rhs parseState 1) $4.Range)
let mEquals = rhs parseState 3
let m = unionRanges (rhs parseState 1) $8.Range
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, Some mEquals, $4, $7, $8, m) }
let trivia: SynExprLetOrUseBangTrivia = { EqualsRange = Some mEquals }
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, $4, $7, $8, m, trivia) }
| OBINDER headBindingPattern EQUALS typedSequentialExprBlock hardwhiteDefnBindingsTerminator opt_OBLOCKSEP error %prec expr_let
{ // error recovery that allows intellisense when writing incomplete computation expressions
...
...
@@ -3949,11 +3951,13 @@ declExpr:
let mEquals = rhs parseState 3
let mAll = unionRanges (rhs parseState 1) (rhs parseState 7)
let m = $4.Range.EndRange // zero-width range
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, Some mEquals, $4, [], SynExpr.ImplicitZero m, mAll) }
let trivia: SynExprLetOrUseBangTrivia = { EqualsRange = Some mEquals }
SynExpr.LetOrUseBang(spBind, ($1 = "use"), true, $2, $4, [], SynExpr.ImplicitZero m, mAll, trivia) }
| DO_BANG typedSequentialExpr IN opt_OBLOCKSEP typedSequentialExprBlock %prec expr_let
{ let spBind = DebugPointAtBinding.NoneAtDo
SynExpr.LetOrUseBang(spBind, false, true, SynPat.Const(SynConst.Unit, $2.Range), None, $2, [], $5, unionRanges (rhs parseState 1) $5.Range) }
let trivia: SynExprLetOrUseBangTrivia = { EqualsRange = None }
SynExpr.LetOrUseBang(spBind, false, true, SynPat.Const(SynConst.Unit, $2.Range), $2, [], $5, unionRanges (rhs parseState 1) $5.Range, trivia) }
| ODO_BANG typedSequentialExprBlock hardwhiteDefnBindingsTerminator %prec expr_let
{ SynExpr.DoBang ($2, unionRanges (rhs parseState 1) $2.Range) }
...
...
src/fsharp/service/FSharpParseFileResults.fs
浏览文件 @
c337ab57
...
...
@@ -677,7 +677,7 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput,
yield
!
walkExpr
false
e2
yield
!
walkExpr
false
e3
|
SynExpr
.
LetOrUseBang
(
spBind
,
_,
_,
_,
_,
e1
,
es
,
e2
,
_)
->
|
SynExpr
.
LetOrUseBang
(
spBind
,
_,
_,
_,
e1
,
es
,
e2
,
_
,
_)
->
yield
!
walkBindSeqPt
spBind
yield
!
walkExpr
true
e1
for
SynExprAndBang
(
debugPoint
=
andBangSpBind
;
body
=
eAndBang
)
in
es
do
...
...
tests/FSharp.Compiler.Service.Tests/FSharp.CompilerService.SurfaceArea.netstandard.expected
浏览文件 @
c337ab57
...
...
@@ -5169,8 +5169,8 @@ FSharp.Compiler.Syntax.DebugPointAtBinding: Boolean get_IsNoneAtLet()
FSharp.Compiler.Syntax.DebugPointAtBinding: Boolean get_IsNoneAtSticky()
FSharp.Compiler.Syntax.DebugPointAtBinding: Boolean get_IsYes()
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding Combine(FSharp.Compiler.Syntax.DebugPointAtBinding)
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtDo
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NewYes(FSharp.Compiler.Text.Range)
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtDo
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtInvisible
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtLet
FSharp.Compiler.Syntax.DebugPointAtBinding: FSharp.Compiler.Syntax.DebugPointAtBinding NoneAtSticky
...
...
@@ -5264,28 +5264,28 @@ FSharp.Compiler.Syntax.DebugPointAtLeafExpr: Int32 Tag
FSharp.Compiler.Syntax.DebugPointAtLeafExpr: Int32 get_Tag()
FSharp.Compiler.Syntax.DebugPointAtLeafExpr: System.String ToString()
FSharp.Compiler.Syntax.DebugPointAtSequential
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressNeither
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressBoth
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressExpr
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressNeither
FSharp.Compiler.Syntax.DebugPointAtSequential+Tags: Int32 SuppressStmt
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean Equals(FSharp.Compiler.Syntax.DebugPointAtSequential)
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean Equals(System.Object)
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean Equals(System.Object, System.Collections.IEqualityComparer)
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressNeither
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressBoth
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressExpr
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressNeither
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean IsSuppressStmt
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressNeither()
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressBoth()
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressExpr()
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressNeither()
FSharp.Compiler.Syntax.DebugPointAtSequential: Boolean get_IsSuppressStmt()
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressNeither
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressBoth
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressExpr
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressNeither
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential SuppressStmt
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressNeither()
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressBoth()
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressExpr()
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressNeither()
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential get_SuppressStmt()
FSharp.Compiler.Syntax.DebugPointAtSequential: FSharp.Compiler.Syntax.DebugPointAtSequential+Tags
FSharp.Compiler.Syntax.DebugPointAtSequential: Int32 CompareTo(FSharp.Compiler.Syntax.DebugPointAtSequential)
...
...
@@ -6247,12 +6247,12 @@ FSharp.Compiler.Syntax.SynExpr+Const: FSharp.Compiler.Syntax.SynConst constant
FSharp.Compiler.Syntax.SynExpr+Const: FSharp.Compiler.Syntax.SynConst get_constant()
FSharp.Compiler.Syntax.SynExpr+Const: FSharp.Compiler.Text.Range get_range()
FSharp.Compiler.Syntax.SynExpr+Const: FSharp.Compiler.Text.Range range
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.SynExpr get_innerExpr()
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.SynExpr innerExpr
FSharp.Compiler.Syntax.SynExpr+DebugPoint: Boolean get_isControlFlow()
FSharp.Compiler.Syntax.SynExpr+DebugPoint: Boolean isControlFlow
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.DebugPointAtLeafExpr debugPoint
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.DebugPointAtLeafExpr get_debugPoint()
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.SynExpr get_innerExpr()
FSharp.Compiler.Syntax.SynExpr+DebugPoint: FSharp.Compiler.Syntax.SynExpr innerExpr
FSharp.Compiler.Syntax.SynExpr+DiscardAfterMissingQualificationAfterDot: FSharp.Compiler.Syntax.SynExpr expr
FSharp.Compiler.Syntax.SynExpr+DiscardAfterMissingQualificationAfterDot: FSharp.Compiler.Syntax.SynExpr get_expr()
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_
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Syntax.SynExpr rhs
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Syntax.SynPat get_pat()
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Syntax.SynPat pat
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia get_trivia()
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia trivia
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Text.Range get_range()
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: FSharp.Compiler.Text.Range range
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynExprAndBang] andBangs
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynExprAndBang] get_andBangs()
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] equalsRange
FSharp.Compiler.Syntax.SynExpr+LetOrUseBang: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_equalsRange()
FSharp.Compiler.Syntax.SynExpr+LibraryOnlyILAssembly: FSharp.Compiler.Text.Range get_range()
FSharp.Compiler.Syntax.SynExpr+LibraryOnlyILAssembly: FSharp.Compiler.Text.Range range
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.
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)
FSharp.Compiler.Syntax.SynExpr: FSharp.Compiler.Syntax.SynExpr NewLazy(FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range)
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)
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
)
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
)
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)
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)
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
FSharp.Compiler.SyntaxTrivia.SynExprLambdaTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_ArrowRange()
FSharp.Compiler.SyntaxTrivia.SynExprLambdaTrivia: System.String ToString()
FSharp.Compiler.SyntaxTrivia.SynExprLambdaTrivia: Void .ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range])
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia Zero
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia get_Zero()
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] EqualsRange
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_EqualsRange()
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: System.String ToString()
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseBangTrivia: Void .ctor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range])
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseTrivia
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] InKeyword
FSharp.Compiler.SyntaxTrivia.SynExprLetOrUseTrivia: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Text.Range] get_InKeyword()
...
...
tests/service/Symbols.fs
浏览文件 @
c337ab57
...
...
@@ -702,7 +702,7 @@ comp {
SynModuleOrNamespace
.
SynModuleOrNamespace
(
decls
=
[
SynModuleDecl
.
DoExpr
(
expr
=
SynExpr
.
App
(
argExpr
=
SynExpr
.
ComputationExpr
(
expr
=
SynExpr
.
LetOrUseBang
(
equalsRange
=
Some
mLetBangEquals
SynExpr
.
LetOrUseBang
(
trivia
=
{
EqualsRange
=
Some
mLetBangEquals
}
andBangs
=
[
SynExprAndBang
(
trivia
=
{
EqualsRange
=
mAndBangEquals
})
]))))
])
]))
->
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录