@@ -1306,19 +1306,30 @@ type FSharpDeclarationListItem(name: string, nameInCode: string, glyphMajor: Gly
13061306member decl.Name = name
13071307member decl.NameInCode = nameInCode
13081308
1309+ //member decl.StructuredDescriptionTextAsync =
1310+ // match info with
1311+ // | Choice1Of2 (items, infoReader, m, denv, reactor:IReactorOperations, checkAlive) ->
1312+ // // reactor causes the lambda to execute on the background compiler thread, through the Reactor
1313+ // reactor.EnqueueAndAwaitOpAsync ("DescriptionTextAsync", fun _ct ->
1314+ // // This is where we do some work which may touch TAST data structures owned by the IncrementalBuilder - infoReader, item etc.
1315+ // // It is written to be robust to a disposal of an IncrementalBuilder, in which case it will just return the empty string.
1316+ // // It is best to think of this as a "weak reference" to the IncrementalBuilder, i.e. this code is written to be robust to its
1317+ // // disposal. Yes, you are right to scratch your head here, but this is ok.
1318+ // if checkAlive() then FSharpToolTipText(items |> Seq.toList |> List.map (FormatStructuredDescriptionOfItem true infoReader m denv))
1319+ // else FSharpToolTipText [ FSharpStructuredToolTipElement.Single(wordL (tagText (FSComp.SR.descriptionUnavailable())), FSharpXmlDoc.None) ])
1320+ // | Choice2Of2 result ->
1321+ // async.Return result
1322+
13091323member decl.StructuredDescriptionTextAsync =
1324+ async {
13101325match infowith
1311- | Choice1Of2( items, infoReader, m, denv, reactor: IReactorOperations, checkAlive) ->
1312- // reactor causes the lambda to execute on the background compiler thread, through the Reactor
1313- reactor.EnqueueAndAwaitOpAsync( " DescriptionTextAsync" , fun _ct ->
1314- // This is where we do some work which may touch TAST data structures owned by the IncrementalBuilder - infoReader, item etc.
1315- // It is written to be robust to a disposal of an IncrementalBuilder, in which case it will just return the empty string.
1316- // It is best to think of this as a "weak reference" to the IncrementalBuilder, i.e. this code is written to be robust to its
1317- // disposal. Yes, you are right to scratch your head here, but this is ok.
1318- if checkAlive() then FSharpToolTipText( items|> Seq.toList|> List.map( FormatStructuredDescriptionOfItemtrue infoReader m denv))
1319- else FSharpToolTipText[ FSharpStructuredToolTipElement.Single( wordL( tagText( FSComp.SR.descriptionUnavailable())), FSharpXmlDoc.None) ])
1326+ | Choice1Of2( items, infoReader, m, denv, _: IReactorOperations , checkAlive ) ->
1327+ return
1328+ if checkAlive() then FSharpToolTipText( items|> Seq.toList|> List.map( FormatStructuredDescriptionOfItemtrue infoReader m denv))
1329+ else FSharpToolTipText[ FSharpStructuredToolTipElement.Single( wordL( tagText( FSComp.SR.descriptionUnavailable())), FSharpXmlDoc.None) ]
13201330| Choice2Of2 result->
1321- async.Return result
1331+ return result
1332+ }
13221333
13231334member decl.DescriptionTextAsync =
13241335 decl.StructuredDescriptionTextAsync