@@ -1467,7 +1467,7 @@ type TypeCheckInfo
14671467 let symbol = FSharpSymbol.Create( g, thisCcu, tcImports, item)
14681468 Some ( symbol, denv, m)
14691469
1470- member scope.PartialAssemblySignature () = FSharpAssemblySignature( g, thisCcu, tcImports, ccuSig)
1470+ member scope.PartialAssemblySignature () = FSharpAssemblySignature( g, thisCcu, tcImports, None , ccuSig)
14711471
14721472 member scope.AccessRights = tcAccessRights
14731473
@@ -1880,7 +1880,7 @@ type FSharpProjectContext(thisCcu: CcuThunk, assemblies: FSharpAssembly list, ad
18801880
18811881[<Sealed>]
18821882// 'details' is an option because the creation of the tcGlobals etc. for the project may have failed.
1883- type FSharpCheckProjectResults ( keepAssemblyContents , errors : FSharpErrorInfo [], details :( TcGlobals * TcImports * CcuThunk * ModuleOrNamespaceType * TcSymbolUses list * CompileOps.IRawFSharpAssemblyData option * ILAssemblyRef * AccessorDomain * TypedAssembly option ) option , reactorOps : IReactorOperations ) =
1883+ type FSharpCheckProjectResults ( keepAssemblyContents , errors : FSharpErrorInfo [], details :( TcGlobals * TcImports * CcuThunk * ModuleOrNamespaceType * TcSymbolUses list * TopAttribs option * CompileOps.IRawFSharpAssemblyData option * ILAssemblyRef * AccessorDomain * TypedAssembly option ) option , reactorOps : IReactorOperations ) =
18841884
18851885 let getDetails () =
18861886 match details with
@@ -1892,12 +1892,12 @@ type FSharpCheckProjectResults(keepAssemblyContents, errors: FSharpErrorInfo[],
18921892 member info.HasCriticalErrors = details.IsNone
18931893
18941894 member info.AssemblySignature =
1895- let ( tcGlobals , tcImports , thisCcu , ccuSig , _tcSymbolUses , _tcAssemblyData , _ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
1896- FSharpAssemblySignature( tcGlobals, thisCcu, tcImports, ccuSig)
1895+ let ( tcGlobals , tcImports , thisCcu , ccuSig , _tcSymbolUses , topAttribs , _tcAssemblyData , _ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
1896+ FSharpAssemblySignature( tcGlobals, thisCcu, tcImports, topAttribs , ccuSig)
18971897
18981898 member info.AssemblyContents =
18991899 if not keepAssemblyContents then invalidOp " The 'keepAssemblyContents' flag must be set to tru on the FSharpChecker in order to access the checked contents of assemblies"
1900- let ( tcGlobals , tcImports , thisCcu , _ccuSig , _tcSymbolUses , _tcAssemblyData , _ilAssemRef , _ad , tcAssemblyExpr ) = getDetails()
1900+ let ( tcGlobals , tcImports , thisCcu , _ccuSig , _tcSymbolUses , _topAttribs , _tcAssemblyData , _ilAssemRef , _ad , tcAssemblyExpr ) = getDetails()
19011901 let mimpls =
19021902 match tcAssemblyExpr with
19031903 | None -> []
@@ -1906,7 +1906,7 @@ type FSharpCheckProjectResults(keepAssemblyContents, errors: FSharpErrorInfo[],
19061906
19071907 // Not, this does not have to be a SyncOp, it can be called from any thread
19081908 member info.GetUsesOfSymbol ( symbol : FSharpSymbol ) =
1909- let ( tcGlobals , _tcImports , _thisCcu , _ccuSig , tcSymbolUses , _tcAssemblyData , _ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
1909+ let ( tcGlobals , _tcImports , _thisCcu , _ccuSig , tcSymbolUses , _topAttribs , _tcAssemblyData , _ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
19101910 // This probably doesn't need to be run on the reactor since all data touched by GetUsesOfSymbol is immutable.
19111911 reactorOps.EnqueueAndAwaitOpAsync( fun () ->
19121912 [| for r in tcSymbolUses do yield ! r.GetUsesOfSymbol( symbol.Item) |]
@@ -1916,7 +1916,7 @@ type FSharpCheckProjectResults(keepAssemblyContents, errors: FSharpErrorInfo[],
19161916
19171917 // Not, this does not have to be a SyncOp, it can be called from any thread
19181918 member info.GetAllUsesOfAllSymbols () =
1919- let ( tcGlobals , tcImports , thisCcu , _ccuSig , tcSymbolUses , _tcAssemblyData , _ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
1919+ let ( tcGlobals , tcImports , thisCcu , _ccuSig , tcSymbolUses , _topAttribs , _tcAssemblyData , _ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
19201920 // This probably doesn't need to be run on the reactor since all data touched by GetAllUsesOfSymbols is immutable.
19211921 reactorOps.EnqueueAndAwaitOpAsync( fun () ->
19221922 [| for r in tcSymbolUses do
@@ -1925,18 +1925,18 @@ type FSharpCheckProjectResults(keepAssemblyContents, errors: FSharpErrorInfo[],
19251925 yield FSharpSymbolUse( tcGlobals, denv, symbol, itemOcc, m) |])
19261926
19271927 member info.ProjectContext =
1928- let ( tcGlobals , tcImports , thisCcu , _ccuSig , _tcSymbolUses , _tcAssemblyData , _ilAssemRef , ad , _tcAssemblyExpr ) = getDetails()
1928+ let ( tcGlobals , tcImports , thisCcu , _ccuSig , _tcSymbolUses , _topAttribs , _tcAssemblyData , _ilAssemRef , ad , _tcAssemblyExpr ) = getDetails()
19291929 let assemblies =
1930- [ for x in tcImports.GetImportedAssemblies() do
1930+ [ for x in tcImports.GetImportedAssemblies() do
19311931 yield FSharpAssembly( tcGlobals, thisCcu, tcImports, x.FSharpViewOfMetadata) ]
19321932 FSharpProjectContext( thisCcu, assemblies, ad)
19331933
19341934 member info.RawFSharpAssemblyData =
1935- let ( _tcGlobals , _tcImports , _thisCcu , _ccuSig , _tcSymbolUses , tcAssemblyData , _ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
1935+ let ( _tcGlobals , _tcImports , _thisCcu , _ccuSig , _tcSymbolUses , _topAttribs , tcAssemblyData , _ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
19361936 tcAssemblyData
19371937
19381938 member info.AssemblyFullName =
1939- let ( _tcGlobals , _tcImports , _thisCcu , _ccuSig , _tcSymbolUses , _tcAssemblyData , ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
1939+ let ( _tcGlobals , _tcImports , _thisCcu , _ccuSig , _tcSymbolUses , _topAttribs , _tcAssemblyData , ilAssemRef , _ad , _tcAssemblyExpr ) = getDetails()
19401940 ilAssemRef.QualifiedName
19411941
19421942[<Sealed>]
@@ -2419,7 +2419,7 @@ type BackgroundCompiler(projectCacheSize, keepAssemblyContents, keepAllBackgroun
24192419 let ( tcProj , ilAssemRef , tcAssemblyDataOpt , tcAssemblyExprOpt ) = builder.GetCheckResultsAndImplementationsForProject()
24202420 let fileInfo = ( Int32.MaxValue, Int32.MaxValue)
24212421 let errors = [| yield ! creationErrors; yield ! Parser.CreateErrorInfos ( tcProj.TcConfig, true , Microsoft.FSharp.Compiler.TcGlobals.DummyFileNameForRangesWithoutASpecificLocation, fileInfo, tcProj.Errors) |]
2422- FSharpCheckProjectResults ( keepAssemblyContents, errors, Some( tcProj.TcGlobals, tcProj.TcImports, tcProj.TcState.Ccu, tcProj.TcState.PartialAssemblySignature, tcProj.TcSymbolUses, tcAssemblyDataOpt, ilAssemRef, tcProj.TcEnvAtEnd.AccessRights, tcAssemblyExprOpt), reactorOps)
2422+ FSharpCheckProjectResults ( keepAssemblyContents, errors, Some( tcProj.TcGlobals, tcProj.TcImports, tcProj.TcState.Ccu, tcProj.TcState.PartialAssemblySignature, tcProj.TcSymbolUses, tcProj.TopAttribs , tcAssemblyDataOpt, ilAssemRef, tcProj.TcEnvAtEnd.AccessRights, tcAssemblyExprOpt), reactorOps)
24232423
24242424 /// Get the timestamp that would be on the output if fully built immediately
24252425 member private bc.GetLogicalTimeStampForProject ( options ) =
@@ -3168,7 +3168,7 @@ type FsiInteractiveChecker(reactorOps: IReactorOperations, tcConfig, tcGlobals,
31683168 | Parser.TypeCheckAborted.No scope ->
31693169 let errors = [| yield ! parseErrors; yield ! tcErrors |]
31703170 let typeCheckResults = FSharpCheckFileResults ( errors, Some scope, None, reactorOps)
3171- let projectResults = FSharpCheckProjectResults ( keepAssemblyContents, errors, Some( tcGlobals, tcImports, scope.ThisCcu, scope.CcuSig, [ scope.ScopeSymbolUses], None, mkSimpleAssRef " stdin" , tcState.TcEnvFromImpls.AccessRights, None), reactorOps)
3171+ let projectResults = FSharpCheckProjectResults ( keepAssemblyContents, errors, Some( tcGlobals, tcImports, scope.ThisCcu, scope.CcuSig, [ scope.ScopeSymbolUses], None, None , mkSimpleAssRef " stdin" , tcState.TcEnvFromImpls.AccessRights, None), reactorOps)
31723172 parseResults, typeCheckResults, projectResults
31733173 | _ ->
31743174 failwith " unexpected aborted"
0 commit comments