4
4
module internal FSharp.Compiler.CompilerConfig
5
5
6
6
open System
7
+ open FSharp.Compiler .IO
7
8
open Internal.Utilities
8
9
open Internal.Utilities .Library
9
10
open FSharp.Compiler
@@ -24,7 +25,7 @@ exception LoadedSourceNotFoundIgnoring of (*filename*) string * range
24
25
25
26
/// Represents a reference to an F# assembly. May be backed by a real assembly on disk (read by Abstract IL), or a cross-project
26
27
/// reference in FSharp.Compiler.Service.
27
- type IRawFSharpAssemblyData =
28
+ type IRawFSharpAssemblyData =
28
29
29
30
/// The raw list AutoOpenAttribute attributes in the assembly
30
31
abstract GetAutoOpenAttributes: ILGlobals -> string list
@@ -56,55 +57,55 @@ type IRawFSharpAssemblyData =
56
57
57
58
abstract ShortAssemblyName: string
58
59
59
- type TimeStampCache =
60
+ type TimeStampCache =
60
61
new : defaultTimeStamp: DateTime -> TimeStampCache
61
62
member GetFileTimeStamp : string -> DateTime
62
63
member GetProjectReferenceTimeStamp : IProjectReference -> DateTime
63
64
64
- and IProjectReference =
65
+ and IProjectReference =
65
66
66
67
/// The name of the assembly file generated by the project
67
- abstract FileName: string
68
+ abstract FileName: string
68
69
69
70
/// Evaluate raw contents of the assembly file generated by the project
70
71
abstract EvaluateRawContents: CompilationThreadToken -> Cancellable < IRawFSharpAssemblyData option >
71
72
72
73
/// Get the logical timestamp that would be the timestamp of the assembly file generated by the project.
73
74
///
74
75
/// For project references this is maximum of the timestamps of all dependent files.
75
- /// The project is not actually built, nor are any assemblies read, but the timestamps for each dependent file
76
+ /// The project is not actually built, nor are any assemblies read, but the timestamps for each dependent file
76
77
/// are read via the FileSystem. If the files don't exist, then a default timestamp is used.
77
78
///
78
79
/// The operation returns None only if it is not possible to create an IncrementalBuilder for the project at all, e.g. if there
79
80
/// are fatal errors in the options for the project.
80
81
abstract TryGetLogicalTimeStamp: TimeStampCache -> System.DateTime option
81
82
82
- type AssemblyReference =
83
+ type AssemblyReference =
83
84
| AssemblyReference of range * string * IProjectReference option
84
-
85
+
85
86
member Range : range
86
-
87
+
87
88
member Text : string
88
-
89
+
89
90
member ProjectReference : IProjectReference option
90
91
91
92
member SimpleAssemblyNameIs : string -> bool
92
93
93
94
type UnresolvedAssemblyReference = UnresolvedAssemblyReference of string * AssemblyReference list
94
95
95
96
[<RequireQualifiedAccess>]
96
- type CompilerTarget =
97
- | WinExe
98
- | ConsoleExe
99
- | Dll
97
+ type CompilerTarget =
98
+ | WinExe
99
+ | ConsoleExe
100
+ | Dll
100
101
| Module
101
102
member IsExe : bool
102
-
103
+
103
104
[<RequireQualifiedAccess>]
104
105
type CopyFSharpCoreFlag = Yes | No
105
106
106
107
/// Represents the file or string used for the --version flag
107
- type VersionFlag =
108
+ type VersionFlag =
108
109
| VersionString of string
109
110
| VersionFile of string
110
111
| VersionNone
@@ -188,15 +189,15 @@ type TcConfigBuilder =
188
189
mutable printAllSignatureFiles: bool
189
190
mutable xmlDocOutputFile: string option
190
191
mutable stats: bool
191
- mutable generateFilterBlocks: bool
192
+ mutable generateFilterBlocks: bool
192
193
mutable signer: string option
193
194
mutable container: string option
194
195
mutable delaysign: bool
195
196
mutable publicsign: bool
196
- mutable version: VersionFlag
197
+ mutable version: VersionFlag
197
198
mutable metadataVersion: string option
198
199
mutable standalone: bool
199
- mutable extraStaticLinkRoots: string list
200
+ mutable extraStaticLinkRoots: string list
200
201
mutable noSignatureData: bool
201
202
mutable onlyEssentialOptimizationData: bool
202
203
mutable useOptimizationDataFile: bool
@@ -209,8 +210,8 @@ type TcConfigBuilder =
209
210
mutable ignoreSymbolStoreSequencePoints: bool
210
211
mutable internConstantStrings: bool
211
212
mutable extraOptimizationIterations: int
212
- mutable win32icon: string
213
- mutable win32res: string
213
+ mutable win32icon: string
214
+ mutable win32res: string
214
215
mutable win32manifest: string
215
216
mutable includewin32manifest: bool
216
217
mutable linkResources: string list
@@ -226,13 +227,13 @@ type TcConfigBuilder =
226
227
#if DEBUG
227
228
mutable showOptimizationData: bool
228
229
#endif
229
- mutable showTerms : bool
230
- mutable writeTermsToFiles: bool
231
- mutable doDetuple : bool
232
- mutable doTLR : bool
230
+ mutable showTerms : bool
231
+ mutable writeTermsToFiles: bool
232
+ mutable doDetuple : bool
233
+ mutable doTLR : bool
233
234
mutable doFinalSimplify: bool
234
- mutable optsOn : bool
235
- mutable optSettings : Optimizer .OptimizationSettings
235
+ mutable optsOn : bool
236
+ mutable optSettings : Optimizer .OptimizationSettings
236
237
mutable emitTailcalls: bool
237
238
mutable deterministic: bool
238
239
mutable concurrentBuild: bool
@@ -246,15 +247,15 @@ type TcConfigBuilder =
246
247
#if ! NO_ EXTENSIONTYPING
247
248
mutable showExtensionTypeMessages: bool
248
249
#endif
249
- mutable pause: bool
250
+ mutable pause: bool
250
251
mutable alwaysCallVirt: bool
251
252
mutable noDebugData: bool
252
253
253
254
/// If true, indicates all type checking and code generation is in the context of fsi.exe
254
- isInteractive: bool
255
- isInvalidationSupported: bool
255
+ isInteractive: bool
256
+ isInvalidationSupported: bool
256
257
mutable emitDebugInfoInQuotations: bool
257
- mutable exename: string option
258
+ mutable exename: string option
258
259
mutable copyFSharpCore: CopyFSharpCoreFlag
259
260
mutable shadowCopyReferences: bool
260
261
mutable useSdkRefs: bool
@@ -281,18 +282,18 @@ type TcConfigBuilder =
281
282
282
283
static member CreateNew :
283
284
legacyReferenceResolver : LegacyReferenceResolver *
284
- defaultFSharpBinariesDir : string *
285
- reduceMemoryUsage : ReduceMemoryFlag *
286
- implicitIncludeDir : string *
287
- isInteractive : bool *
285
+ defaultFSharpBinariesDir : string *
286
+ reduceMemoryUsage : ReduceMemoryFlag *
287
+ implicitIncludeDir : string *
288
+ isInteractive : bool *
288
289
isInvalidationSupported : bool *
289
290
defaultCopyFSharpCore : CopyFSharpCoreFlag *
290
291
tryGetMetadataSnapshot : ILReaderTryGetMetadataSnapshot *
291
292
sdkDirOverride : string option *
292
293
rangeForErrors : range
293
294
-> TcConfigBuilder
294
295
295
- member DecideNames : string list -> outfile : string * pdbfile : string option * assemblyName : string
296
+ member DecideNames : string list -> outfile : string * pdbfile : string option * assemblyName : string
296
297
297
298
member TurnWarningOff : range * string -> unit
298
299
@@ -380,15 +381,15 @@ type TcConfig =
380
381
member printAllSignatureFiles : bool
381
382
member xmlDocOutputFile : string option
382
383
member stats : bool
383
- member generateFilterBlocks : bool
384
+ member generateFilterBlocks : bool
384
385
member signer : string option
385
386
member container : string option
386
387
member delaysign : bool
387
388
member publicsign : bool
388
- member version : VersionFlag
389
+ member version : VersionFlag
389
390
member metadataVersion : string option
390
391
member standalone : bool
391
- member extraStaticLinkRoots : string list
392
+ member extraStaticLinkRoots : string list
392
393
member noSignatureData : bool
393
394
member onlyEssentialOptimizationData : bool
394
395
member useOptimizationDataFile : bool
@@ -402,7 +403,7 @@ type TcConfig =
402
403
member internConstantStrings : bool
403
404
member extraOptimizationIterations : int
404
405
member win32icon : string
405
- member win32res : string
406
+ member win32res : string
406
407
member win32manifest : string
407
408
member includewin32manifest : bool
408
409
member linkResources : string list
@@ -417,18 +418,18 @@ type TcConfig =
417
418
#if DEBUG
418
419
member showOptimizationData : bool
419
420
#endif
420
- member showTerms : bool
421
- member writeTermsToFiles : bool
422
- member doDetuple : bool
423
- member doTLR : bool
421
+ member showTerms : bool
422
+ member writeTermsToFiles : bool
423
+ member doDetuple : bool
424
+ member doTLR : bool
424
425
member doFinalSimplify : bool
425
- member optSettings : Optimizer.OptimizationSettings
426
+ member optSettings : Optimizer.OptimizationSettings
426
427
member emitTailcalls : bool
427
428
member deterministic : bool
428
429
member concurrentBuild : bool
429
430
member pathMap : PathMap
430
431
member preferredUiLang : string option
431
- member optsOn : bool
432
+ member optsOn : bool
432
433
member productNameForBannerText : string
433
434
member showBanner : bool
434
435
member showTimes : bool
@@ -437,13 +438,13 @@ type TcConfig =
437
438
#if ! NO_EXTENSIONTYPING
438
439
member showExtensionTypeMessages : bool
439
440
#endif
440
- member pause : bool
441
+ member pause : bool
441
442
member alwaysCallVirt : bool
442
443
member noDebugData : bool
443
444
444
445
/// If true , indicates all type checking and code generation is in the context of fsi.exe
445
446
member isInteractive : bool
446
- member isInvalidationSupported : bool
447
+ member isInvalidationSupported : bool
447
448
448
449
member xmlDocInfoLoader : IXmlDocumentationInfoLoader option
449
450
@@ -452,11 +453,11 @@ type TcConfig =
452
453
member ComputeLightSyntaxInitialStatus : string -> bool
453
454
454
455
member GetTargetFrameworkDirectories : unit -> string list
455
-
456
+
456
457
/// Get the loaded sources that exist and issue a warning for the ones that don't
457
458
member GetAvailableLoadedSources : unit -> ( range * string ) list
458
-
459
- member ComputeCanContainEntryPoint : sourceFiles : string list -> bool list * bool
459
+
460
+ member ComputeCanContainEntryPoint : sourceFiles : string list -> bool list * bool
460
461
461
462
/// File system query based on TcConfig settings
462
463
member ResolveSourceFile : range * filename : string * pathLoadedFrom : string -> string
@@ -510,7 +511,7 @@ type TcConfig =
510
511
member CloneToBuilder : unit -> TcConfigBuilder
511
512
512
513
/// Indicates if the compilation will result in F# signature data resource in the generated binary
513
- member GenerateSignatureData : bool
514
+ member GenerateSignatureData : bool
514
515
515
516
/// Indicates if the compilation will result in an F# optimization data resource in the generated binary
516
517
member GenerateOptimizationData : bool
@@ -521,7 +522,7 @@ type TcConfig =
521
522
/// Represents a computation to return a TcConfig. Normally this is just a constant immutable TcConfig,
522
523
/// but for F# Interactive it may be based on an underlying mutable TcConfigBuilder.
523
524
[<Sealed>]
524
- type TcConfigProvider =
525
+ type TcConfigProvider =
525
526
526
527
member Get : CompilationThreadToken -> TcConfig
527
528
@@ -555,4 +556,4 @@ val FSharpLightSyntaxFileSuffixes: string list
555
556
556
557
val doNotRequireNamespaceOrModuleSuffixes : string list
557
558
558
- val mlCompatSuffixes : string list
559
+ val mlCompatSuffixes : string list
0 commit comments