@@ -192,13 +192,27 @@ type internal ProjectSitesAndFiles() =
192192if SourceFile.MustBeSingleFileProject( filename) then
193193 Debug.Assert( false , " .fsx or .fsscript should have been treated as implicit project" )
194194 failwith" .fsx or .fsscript should have been treated as implicit project"
195-
196195new ProjectSiteOfSingleFile( filename) :> IProjectSite
197-
198- member art.SetSource ( buffer : IVsTextLines , source : IFSharpSource ) : unit =
196+
197+ static member GetReferencedProjectSites ( projectSite : IProjectSite , serviceProvider : System.IServiceProvider ) =
198+ referencedProvideProjectSites( projectSite, serviceProvider)
199+ |> Seq.map( fun ( _ , ps ) -> ps.GetProjectSite())
200+ |> Seq.toArray
201+
202+ member art.SetSource_DEPRECATED ( buffer : IVsTextLines , source : IFSharpSource_DEPRECATED ) : unit =
199203let mutable guid = sourceUserDataGuid
200204( buffer:?> IVsUserData) .SetData(& guid, source) |> ErrorHandler.ThrowOnFailure|> ignore
201205
206+ /// Create project options for this project site.
207+ static member GetProjectOptionsForProjectSite ( enableInMemoryCrossProjectReferences , tryGetOptionsForReferencedProject , projectSite : IProjectSite , filename , extraProjectInfo , serviceProvider : System.IServiceProvider , useUniqueStamp ) =
208+ match projectSitewith
209+ | :? IHaveCheckOptionsas hco-> hco.OriginalCheckOptions()
210+ | _ ->
211+ getProjectOptionsForProjectSite( enableInMemoryCrossProjectReferences, tryGetOptionsForReferencedProject, projectSite, filename, extraProjectInfo, serviceProvider, useUniqueStamp)
212+
213+ /// Create project site for these project options
214+ static member CreateProjectSiteForScript ( filename , referencedProjectFileNames , checkOptions ) =
215+ ProjectSiteOfScriptFile( filename, referencedProjectFileNames, checkOptions) :> IProjectSite
202216
203217member art.TryGetSourceOfFile_DEPRECATED ( rdt : IVsRunningDocumentTable , filename : string ) : IFSharpSource_DEPRECATED option =
204218match VsRunningDocumentTable.FindDocumentWithoutLocking( rdt, filename) with