Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite78a193

Browse files
authored
Merge branch 'dev15.8' into merges/dev15.7-to-dev15.8
2 parents6417ab1 +5096e69 commite78a193

File tree

36 files changed

+1548
-9
lines changed

36 files changed

+1548
-9
lines changed

‎build/targets/AssemblyVersions.props‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<FSCoreVersion>4.4.3.0</FSCoreVersion>
2323
<FSProductVersion>10.1.1.0</FSProductVersion>
2424
<FSPackageVersion>10.1.4</FSPackageVersion>
25-
<VSAssemblyVersion>15.7.0.0</VSAssemblyVersion>
25+
<VSAssemblyVersion>15.8.0.0</VSAssemblyVersion>
2626
<MicroBuildAssemblyVersionCondition="'$(MicroBuildAssemblyVersion)' == ''">$(FSCoreVersion)</MicroBuildAssemblyVersion>
2727

2828
<!-- certain delivered F# VS assemblies use a specific MicroBuildAssemblyVersion, otherwise use FSCoreVersion-->

‎src/fsharp/NicePrint.fs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1970,6 +1970,7 @@ let isGeneratedExceptionField pos f = TastDefinitionPrinting.isGeneratedExce
19701970
letstringOfTyparConstraint denv tpc= stringOfTyparConstraints denv[tpc]
19711971
letstringOfTy denv x= x|> PrintTypes.layoutType denv|> showL
19721972
letprettyLayoutOfType denv x= x|> PrintTypes.prettyLayoutOfType denv
1973+
letprettyLayoutOfTypeNoCx denv x= x|> PrintTypes.prettyLayoutOfTypeNoConstraints denv
19731974
letprettyStringOfTy denv x= x|> PrintTypes.prettyLayoutOfType denv|> showL
19741975
letprettyStringOfTyNoCx denv x= x|> PrintTypes.prettyLayoutOfTypeNoConstraints denv|> showL
19751976
letstringOfRecdField denv x= x|> TastDefinitionPrinting.layoutRecdFieldfalse denv|> showL

‎src/fsharp/service/service.fs‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -909,6 +909,9 @@ type TypeCheckInfo
909909
match itemwith
910910
| Item.Types_| Item.ModuleOrNamespaces_->true
911911
|_->false
912+
913+
/// Find the most precise display context for the given line and column.
914+
member__.GetBestDisplayEnvForPos cursorPos= GetBestEnvForPos cursorPos
912915

913916
member__.GetVisibleNamespacesAndModulesAtPosition(cursorPos:pos):ModuleOrNamespaceRef list=
914917
let(nenv,ad),m= GetBestEnvForPos cursorPos
@@ -1995,6 +1998,7 @@ type FSharpCheckFileResults(filename: string, errors: FSharpErrorInfo[], scopeOp
19951998
|_->
19961999
async.Return dflt
19972000

2001+
19982002
memberinfo.GetToolTipText(line,colAtEndOfNames,lineStr,names,tokenTag,userOpName)=
19992003
info.GetStructuredToolTipText(line, colAtEndOfNames, lineStr, names, tokenTag, ?userOpName=userOpName)
20002004
|> Tooltips.Map Tooltips.ToFSharpToolTipText
@@ -2106,6 +2110,13 @@ type FSharpCheckFileResults(filename: string, errors: FSharpErrorInfo[], scopeOp
21062110
RequireCompilationThread ctok
21072111
scope.IsRelativeNameResolvableFromSymbol(pos, plid, symbol))
21082112

2113+
memberinfo.GetDisplayEnvForPos(pos:pos):Async<DisplayEnvoption>=
2114+
letuserOpName="CodeLens"
2115+
reactorOp userOpName"GetDisplayContextAtPos" None(fun ctok scope->
2116+
DoesNotRequireCompilerThreadTokenAndCouldPossiblyBeMadeConcurrent ctok
2117+
let(nenv,_),_= scope.GetBestDisplayEnvForPos pos
2118+
Some nenv.DisplayEnv)
2119+
21092120
memberinfo.ImplementationFile=
21102121
ifnot keepAssemblyContentsthen invalidOp"The 'keepAssemblyContents' flag must be set to true on the FSharpChecker in order to access the checked contents of assemblies"
21112122
scopeOptX

‎src/fsharp/service/service.fsi‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,9 @@ type public FSharpCheckFileResults =
240240

241241
member internal GetVisibleNamespacesAndModulesAtPoint: pos-> Async<Tast.ModuleOrNamespaceRef[]>
242242

243+
/// Find the most precise display environment for the given line and column.
244+
member internal GetDisplayEnvForPos: pos: pos-> Async<DisplayEnv option>
245+
243246
/// Determines if a long ident is resolvable at a specific point.
244247
///<param name="userOpName">An optional string usedfor tracing compiler operations associatedwith this request.</param>
245248
memberinternalIsRelativeNameResolvable:cursorPos:pos* plid: string list* item: Item* ?userOpName: string-> Async<bool>

‎src/fsharp/symbols/Symbols.fs‎

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1954,6 +1954,23 @@ and FSharpMemberOrFunctionOrValue(cenv, d:FSharpMemberOrValData, item) =
19541954
prefix+ x.LogicalName
19551955
with_->"??"
19561956

1957+
memberx.FormatLayout(denv:FSharpDisplayContext)=
1958+
match x.IsMember, dwith
1959+
|true, V v->
1960+
NicePrint.prettyLayoutOfValOrMemberNoInst{(denv.Contents cenv.g)with showMemberContainers=true} v.Deref
1961+
|_,_->
1962+
checkIsResolved()
1963+
letty=
1964+
match dwith
1965+
| E e-> e.GetDelegateType(cenv.amap, range0)
1966+
| P p-> p.GetPropertyType(cenv.amap, range0)
1967+
| M m| C m->
1968+
letrty= m.GetFSharpReturnTy(cenv.amap, range0, m.FormalMethodInst)
1969+
letargtysl= m.GetParamTypes(cenv.amap, range0, m.FormalMethodInst)
1970+
mkIteratedFunTy(List.map(mkRefTupledTy cenv.g) argtysl) rty
1971+
| V v-> v.TauType
1972+
NicePrint.prettyLayoutOfTypeNoCx(denv.Contents cenv.g) ty
1973+
19571974

19581975
andFSharpType(cenv,typ:TType)=
19591976

@@ -2099,7 +2116,11 @@ and FSharpType(cenv, typ:TType) =
20992116

21002117
memberx.Format(denv:FSharpDisplayContext)=
21012118
protect<|fun()->
2102-
NicePrint.prettyStringOfTyNoCx(denv.Contents cenv.g) typ
2119+
NicePrint.prettyStringOfTyNoCx(denv.Contents cenv.g) typ
2120+
2121+
memberx.FormatLayout(denv:FSharpDisplayContext)=
2122+
protect<|fun()->
2123+
NicePrint.prettyLayoutOfTypeNoCx(denv.Contents cenv.g) typ
21032124

21042125
overridex.ToString()=
21052126
protect<|fun()->

‎src/fsharp/symbols/Symbols.fsi‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -822,6 +822,9 @@ and [<Class>] public FSharpMemberOrFunctionOrValue =
822822

823823
/// Indicates if this is a constructor.
824824
memberIsConstructor:bool
825+
826+
/// Format the type using the rules of the given display context
827+
memberFormatLayout:context:FSharpDisplayContext->Layout
825828

826829

827830
/// A subtype of FSharpSymbol that represents a parameter
@@ -934,6 +937,9 @@ and [<Class>] public FSharpType =
934937
/// Format the type using the rules of the given display context
935938
memberFormat:context:FSharpDisplayContext->string
936939

940+
/// Format the type using the rules of the given display context
941+
memberFormatLayout:context:FSharpDisplayContext->Layout
942+
937943
/// Instantiate generic type parameters in a type
938944
memberInstantiate:(FSharpGenericParameter* FSharpType)list->FSharpType
939945

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp