@@ -413,8 +413,6 @@ type TcConfigBuilder =
413
413
mutable pathMap : PathMap
414
414
415
415
mutable langVersion : LanguageVersion
416
-
417
- mutable dependencyProvider: DependencyProvider
418
416
}
419
417
420
418
static member Initial : TcConfigBuilder
@@ -443,6 +441,9 @@ type TcConfigBuilder =
443
441
444
442
static member SplitCommandLineResourceInfo : string -> string * string * ILResourceAccess
445
443
444
+ // Directories to start probing in for native DLLs for FSI dynamic loading
445
+ member GetNativeProbingRoots : unit -> seq < string >
446
+
446
447
[< Sealed >]
447
448
// Immutable TcConfig
448
449
type TcConfig =
@@ -559,8 +560,8 @@ type TcConfig =
559
560
member isInteractive : bool
560
561
member isInvalidationSupported : bool
561
562
562
-
563
563
member ComputeLightSyntaxInitialStatus : string -> bool
564
+
564
565
member GetTargetFrameworkDirectories : unit -> string list
565
566
566
567
/// Get the loaded sources that exist and issue a warning for the ones that don't
@@ -575,8 +576,11 @@ type TcConfig =
575
576
member MakePathAbsolute : string -> string
576
577
577
578
member copyFSharpCore : CopyFSharpCoreFlag
579
+
578
580
member shadowCopyReferences : bool
581
+
579
582
member useSdkRefs : bool
583
+
580
584
member langVersion : LanguageVersion
581
585
582
586
static member Create : TcConfigBuilder * validate : bool -> TcConfig
@@ -640,18 +644,28 @@ type TcImports =
640
644
interface System.IDisposable
641
645
//new: TcImports option -> TcImports
642
646
member DllTable : NameMap < ImportedBinary > with get
647
+
643
648
member GetImportedAssemblies : unit -> ImportedAssembly list
649
+
644
650
member GetCcusInDeclOrder : unit -> CcuThunk list
651
+
645
652
/// This excludes any framework imports (which may be shared between multiple builds)
646
653
member GetCcusExcludingBase : unit -> CcuThunk list
654
+
647
655
member FindDllInfo : CompilationThreadToken * range * string -> ImportedBinary
656
+
648
657
member TryFindDllInfo : CompilationThreadToken * range * string * lookupOnly : bool -> option < ImportedBinary >
658
+
649
659
member FindCcuFromAssemblyRef : CompilationThreadToken * range * ILAssemblyRef -> CcuResolutionResult
660
+
650
661
#if ! NO_EXTENSIONTYPING
651
662
member ProviderGeneratedTypeRoots : ProviderGeneratedType list
652
663
#endif
664
+
653
665
member GetImportMap : unit -> Import.ImportMap
654
666
667
+ member DependencyProvider : DependencyProvider
668
+
655
669
/// Try to resolve a referenced assembly based on TcConfig settings.
656
670
member TryResolveAssemblyReference : CompilationThreadToken * AssemblyReference * ResolveAssemblyReferenceMode -> OperationResult < AssemblyResolution list >
657
671
@@ -671,13 +685,33 @@ type TcImports =
671
685
#endif
672
686
/// Report unresolved references that also weren't consumed by any type providers.
673
687
member ReportUnresolvedAssemblyReferences : UnresolvedAssemblyReference list -> unit
688
+
674
689
member SystemRuntimeContainsType : string -> bool
675
690
676
691
member internal Base : TcImports option
677
692
678
- static member BuildFrameworkTcImports : CompilationThreadToken * TcConfigProvider * AssemblyResolution list * AssemblyResolution list -> Cancellable < TcGlobals * TcImports >
679
- static member BuildNonFrameworkTcImports : CompilationThreadToken * TcConfigProvider * TcGlobals * TcImports * AssemblyResolution list * UnresolvedAssemblyReference list -> Cancellable < TcImports >
680
- static member BuildTcImports : CompilationThreadToken * TcConfigProvider -> Cancellable < TcGlobals * TcImports >
693
+ static member BuildFrameworkTcImports :
694
+ CompilationThreadToken *
695
+ TcConfigProvider *
696
+ AssemblyResolution list *
697
+ AssemblyResolution list
698
+ -> Cancellable < TcGlobals * TcImports >
699
+
700
+ static member BuildNonFrameworkTcImports :
701
+ CompilationThreadToken *
702
+ TcConfigProvider *
703
+ TcGlobals *
704
+ TcImports *
705
+ AssemblyResolution list *
706
+ UnresolvedAssemblyReference list *
707
+ DependencyProvider
708
+ -> Cancellable < TcImports >
709
+
710
+ static member BuildTcImports :
711
+ CompilationThreadToken *
712
+ TcConfigProvider *
713
+ DependencyProvider
714
+ -> Cancellable < TcGlobals * TcImports >
681
715
682
716
//----------------------------------------------------------------------------
683
717
// Special resources in DLLs
@@ -703,24 +737,22 @@ val WriteOptimizationData: TcGlobals * filename: string * inMem: bool * CcuThunk
703
737
// #r and other directives
704
738
//--------------------------------------------------------------------------
705
739
706
- //----------------------------------------------------------------------------
707
- // #r and other directives
708
- //--------------------------------------------------------------------------
709
-
710
740
/// Process #r in F # Interactive.
711
741
/// Adds the reference to the tcImports and add the ccu to the type checking environment.
712
742
val RequireDLL : CompilationThreadToken * TcImports * TcEnv * thisAssemblyName : string * referenceRange : range * file : string -> TcEnv * ( ImportedBinary list * ImportedAssembly list )
713
743
714
- /// Processing # commands
744
+ /// A general routine to process hash directives
715
745
val ProcessMetaCommandsFromInput :
716
- (( 'T -> range * string -> 'T ) * ( 'T -> range * string -> 'T ) * ( 'T -> IDependencyManagerProvider * Directive * range * string -> 'T ) * ( 'T -> range * string -> unit ))
717
- -> TcConfigBuilder * ParsedInput * string * 'T
718
- -> 'T
746
+ (( 'T -> range * string -> 'T ) *
747
+ ( 'T -> range * string * Directive -> 'T ) *
748
+ ( 'T -> range * string -> unit ))
749
+ -> TcConfigBuilder * ParsedInput * string * 'T
750
+ -> 'T
719
751
720
- /// Process all the #r , #I etc. in an input
721
- val ApplyMetaCommandsFromInputToTcConfig : TcConfig * ParsedInput * string -> TcConfig
752
+ /// Process all the #r , #I etc. in an input. For non - scripts report warnings about ignored directives.
753
+ val ApplyMetaCommandsFromInputToTcConfig : TcConfig * ParsedInput * string * DependencyProvider -> TcConfig
722
754
723
- /// Process the #nowarn in an input
755
+ /// Process the #nowarn in an input and integrate them into the TcConfig
724
756
val ApplyNoWarnsToTcConfig : TcConfig * ParsedInput * string -> TcConfig
725
757
726
758
//----------------------------------------------------------------------------
@@ -827,6 +859,9 @@ type LoadClosure =
827
859
/// The resolved references along with the ranges of the #r positions in each file.
828
860
References: ( string * AssemblyResolution list ) list
829
861
862
+ /// The resolved pacakge references along with the ranges of the #r positions in each file.
863
+ PackageReferences: ( range * string list )[]
864
+
830
865
/// The list of references that were not resolved during load closure.
831
866
UnresolvedReferences: UnresolvedAssemblyReference list
832
867
@@ -853,8 +888,31 @@ type LoadClosure =
853
888
//
854
889
/// A temporary TcConfig is created along the way, is why this routine takes so many arguments. We want to be sure to use exactly the
855
890
/// same arguments as the rest of the application.
856
- static member ComputeClosureOfScriptText : CompilationThreadToken * legacyReferenceResolver : ReferenceResolver.Resolver * defaultFSharpBinariesDir : string * filename : string * sourceText : ISourceText * implicitDefines : CodeContext * useSimpleResolution : bool * useFsiAuxLib : bool * useSdkRefs : bool * lexResourceManager : Lexhelp.LexResourceManager * applyCompilerOptions : ( TcConfigBuilder -> unit ) * assumeDotNetFramework : bool * tryGetMetadataSnapshot : ILReaderTryGetMetadataSnapshot * reduceMemoryUsage : ReduceMemoryFlag -> LoadClosure
891
+ static member ComputeClosureOfScriptText :
892
+ CompilationThreadToken *
893
+ legacyReferenceResolver : ReferenceResolver.Resolver *
894
+ defaultFSharpBinariesDir : string *
895
+ filename : string *
896
+ sourceText : ISourceText *
897
+ implicitDefines : CodeContext *
898
+ useSimpleResolution : bool *
899
+ useFsiAuxLib : bool *
900
+ useSdkRefs : bool *
901
+ lexResourceManager : Lexhelp.LexResourceManager *
902
+ applyCompilerOptions : ( TcConfigBuilder -> unit ) *
903
+ assumeDotNetFramework : bool *
904
+ tryGetMetadataSnapshot : ILReaderTryGetMetadataSnapshot *
905
+ reduceMemoryUsage : ReduceMemoryFlag *
906
+ dependencyProvider : DependencyProvider
907
+ -> LoadClosure
857
908
858
909
/// Analyze a set of script files and find the closure of their references. The resulting references are then added to the given TcConfig.
859
910
/// Used from fsi.fs and fsc.fs , for #load and command line.
860
- static member ComputeClosureOfScriptFiles : CompilationThreadToken * tcConfig : TcConfig * ( string * range ) list * implicitDefines : CodeContext * lexResourceManager : Lexhelp.LexResourceManager -> LoadClosure
911
+ static member ComputeClosureOfScriptFiles :
912
+ CompilationThreadToken *
913
+ tcConfig : TcConfig *
914
+ ( string * range ) list *
915
+ implicitDefines : CodeContext *
916
+ lexResourceManager : Lexhelp.LexResourceManager *
917
+ dependencyProvider : DependencyProvider
918
+ -> LoadClosure
0 commit comments