Header menu logo F# Compiler Guide

FSharpChecker Type

Used to parse and check F# source code.

Instance members

Instance member Description

this.BeforeBackgroundFileCheck

Full Usage: this.BeforeBackgroundFileCheck

Returns: IEvent<string * FSharpProjectOptions>

Notify the host that the logical type checking context for a file has now been updated internally and that the file has become eligible to be re-typechecked for errors. The event will be raised on a background thread.

Returns: IEvent<string * FSharpProjectOptions>

this.CheckFileInProject

Full Usage: this.CheckFileInProject

Parameters:
    parseResults : FSharpParseFileResults - The results of ParseFile for this file.
    fileName : string - The name of the file in the project whose source is being checked.
    fileVersion : int - An integer that can be used to indicate the version of the file. This will be returned by TryGetRecentCheckResultsForFile when looking up the file.
    sourceText : ISourceText - The full source for the file.
    options : FSharpProjectOptions - The options for the project or script.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpCheckFileAnswer>

Check a source code file, returning a handle to the results

Note: all files except the one being checked are read from the FileSystem API

Return FSharpCheckFileAnswer.Aborted if a parse tree was not available.

parseResults : FSharpParseFileResults

The results of ParseFile for this file.

fileName : string

The name of the file in the project whose source is being checked.

fileVersion : int

An integer that can be used to indicate the version of the file. This will be returned by TryGetRecentCheckResultsForFile when looking up the file.

sourceText : ISourceText

The full source for the file.

options : FSharpProjectOptions

The options for the project or script.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpCheckFileAnswer>

this.ClearCache

Full Usage: this.ClearCache

Parameters:
projects : FSharpProjectIdentifier seq
?userOpName : string

this.ClearCache

Full Usage: this.ClearCache

Parameters:
    options : FSharpProjectOptions seq - The given project options.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Clear the internal cache of the given projects.

options : FSharpProjectOptions seq

The given project options.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

this.ClearLanguageServiceRootCachesAndCollectAndFinalizeAllTransients

Full Usage: this.ClearLanguageServiceRootCachesAndCollectAndFinalizeAllTransients

Flush all caches and garbage collect

this.Compile

Full Usage: this.Compile

Parameters:
    argv : string[] - The command line arguments for the project build.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpDiagnostic[] * int>

Compile using the given flags. Source files names are resolved via the FileSystem API. The output file must be given by a -o flag. The first argument is ignored and can just be "fsc.exe".

argv : string[]

The command line arguments for the project build.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpDiagnostic[] * int>

this.FileChecked

Full Usage: this.FileChecked

Returns: IEvent<string * FSharpProjectOptions>

Raised after a check of a file in the background analysis. The event will be raised on a background thread.

Returns: IEvent<string * FSharpProjectOptions>

this.FileParsed

Full Usage: this.FileParsed

Returns: IEvent<string * FSharpProjectOptions>

Raised after a parse of a file in the background analysis. The event will be raised on a background thread.

Returns: IEvent<string * FSharpProjectOptions>

this.FindBackgroundReferencesInFile

Full Usage: this.FindBackgroundReferencesInFile

Parameters:
Returns: Async<range seq>
fileName : string
projectSnapshot : FSharpProjectSnapshot
symbol : FSharpSymbol
?userOpName : string
Returns: Async<range seq>

this.FindBackgroundReferencesInFile

Full Usage: this.FindBackgroundReferencesInFile

Parameters:
    fileName : string - The file name for the file.
    options : FSharpProjectOptions - The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.
    symbol : FSharpSymbol - The symbol to find all uses in the file.
    ?canInvalidateProject : bool - Default: true. If true, this call can invalidate the current state of project if the options have changed. If false, the current state of the project will be used.
    ?fastCheck : bool - Default: false. Experimental feature that makes the operation faster. Requires FSharpChecker to be created with captureIdentifiersWhenParsing = true.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<range seq>

Optimized find references for a given symbol in a file of project.

All files are read from the FileSystem API, including the file being checked.

Can cause a second type-check when `enablePartialTypeChecking` is true on the FSharpChecker.

fileName : string

The file name for the file.

options : FSharpProjectOptions

The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.

symbol : FSharpSymbol

The symbol to find all uses in the file.

?canInvalidateProject : bool

Default: true. If true, this call can invalidate the current state of project if the options have changed. If false, the current state of the project will be used.

?fastCheck : bool

Default: false. Experimental feature that makes the operation faster. Requires FSharpChecker to be created with captureIdentifiersWhenParsing = true.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<range seq>

this.GetBackgroundCheckResultsForFileInProject

Full Usage: this.GetBackgroundCheckResultsForFileInProject

Parameters:
    fileName : string - The file name for the file.
    options : FSharpProjectOptions - The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpParseFileResults * FSharpCheckFileResults>

Like CheckFileInProject, but uses the existing results from the background builder.

All files are read from the FileSystem API, including the file being checked.

Can cause a second type-check when `enablePartialTypeChecking` is true on the FSharpChecker.

fileName : string

The file name for the file.

options : FSharpProjectOptions

The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpParseFileResults * FSharpCheckFileResults>

this.GetBackgroundParseResultsForFileInProject

Full Usage: this.GetBackgroundParseResultsForFileInProject

Parameters:
    fileName : string - The name for the file.
    options : FSharpProjectOptions - The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpParseFileResults>

Like ParseFile, but uses results from the background builder.

All files are read from the FileSystem API, including the file being checked.

fileName : string

The name for the file.

options : FSharpProjectOptions

The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpParseFileResults>

this.GetBackgroundSemanticClassificationForFile

Full Usage: this.GetBackgroundSemanticClassificationForFile

Parameters:
    fileName : string - The file name for the file.
    snapshot : FSharpProjectSnapshot - The project snapshot for which we want to get the semantic classification.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<SemanticClassificationView option>

Get semantic classification for a file.

fileName : string

The file name for the file.

snapshot : FSharpProjectSnapshot

The project snapshot for which we want to get the semantic classification.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<SemanticClassificationView option>

this.GetBackgroundSemanticClassificationForFile

Full Usage: this.GetBackgroundSemanticClassificationForFile

Parameters:
    fileName : string - The file name for the file.
    options : FSharpProjectOptions - The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<SemanticClassificationView option>

Get semantic classification for a file.

All files are read from the FileSystem API, including the file being checked.

Can cause a second type-check when `enablePartialTypeChecking` is true on the FSharpChecker.

fileName : string

The file name for the file.

options : FSharpProjectOptions

The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<SemanticClassificationView option>

this.GetParsingOptionsFromCommandLineArgs

Full Usage: this.GetParsingOptionsFromCommandLineArgs

Parameters:
    argv : string list - The command line arguments for the project build.
    ?isInteractive : bool - Indicates that parsing should assume the INTERACTIVE define and related settings
    ?isEditing : bool - Indicates that compilation should assume the EDITING define and related settings

Returns: FSharpParsingOptions * FSharpDiagnostic list

Get the FSharpParsingOptions implied by a set of command line arguments.

argv : string list

The command line arguments for the project build.

?isInteractive : bool

Indicates that parsing should assume the INTERACTIVE define and related settings

?isEditing : bool

Indicates that compilation should assume the EDITING define and related settings

Returns: FSharpParsingOptions * FSharpDiagnostic list

this.GetParsingOptionsFromCommandLineArgs

Full Usage: this.GetParsingOptionsFromCommandLineArgs

Parameters:
    sourceFiles : string list - Initial source files list. Additional files may be added during argv evaluation.
    argv : string list - The command line arguments for the project build.
    ?isInteractive : bool - Indicates that parsing should assume the INTERACTIVE define and related settings
    ?isEditing : bool - Indicates that compilation should assume the EDITING define and related settings

Returns: FSharpParsingOptions * FSharpDiagnostic list

Get the FSharpParsingOptions implied by a set of command line arguments and list of source files.

sourceFiles : string list

Initial source files list. Additional files may be added during argv evaluation.

argv : string list

The command line arguments for the project build.

?isInteractive : bool

Indicates that parsing should assume the INTERACTIVE define and related settings

?isEditing : bool

Indicates that compilation should assume the EDITING define and related settings

Returns: FSharpParsingOptions * FSharpDiagnostic list

this.GetParsingOptionsFromProjectOptions

Full Usage: this.GetParsingOptionsFromProjectOptions

Parameters:
Returns: FSharpParsingOptions * FSharpDiagnostic list

Get the FSharpParsingOptions implied by a FSharpProjectOptions.

options : FSharpProjectOptions

The overall options.

Returns: FSharpParsingOptions * FSharpDiagnostic list

this.GetProjectOptionsFromCommandLineArgs

Full Usage: this.GetProjectOptionsFromCommandLineArgs

Parameters:
    projectFileName : string - Used to differentiate between projects and for the base directory of the project.
    argv : string[] - The command line arguments for the project build.
    ?loadedTimeStamp : DateTime - Indicates when the script was loaded into the editing environment, Indicates that compilation should assume the EDITING define and related settingsIndicates that compilation should assume the INTERACTIVE define and related settings so that an 'unload' and 'reload' action will cause the script to be considered as a new project, so that references are re-resolved.
    ?isInteractive : bool
    ?isEditing : bool

Returns: FSharpProjectOptions

Get the FSharpProjectOptions implied by a set of command line arguments.

projectFileName : string

Used to differentiate between projects and for the base directory of the project.

argv : string[]

The command line arguments for the project build.

?loadedTimeStamp : DateTime

Indicates when the script was loaded into the editing environment, Indicates that compilation should assume the EDITING define and related settingsIndicates that compilation should assume the INTERACTIVE define and related settings so that an 'unload' and 'reload' action will cause the script to be considered as a new project, so that references are re-resolved.

?isInteractive : bool
?isEditing : bool
Returns: FSharpProjectOptions

this.GetProjectOptionsFromScript

Full Usage: this.GetProjectOptionsFromScript

Parameters:
    fileName : string - Used to differentiate between scripts, to consider each script a separate project. Also used in formatted error messages.
    source : ISourceText - The source for the file.
    ?previewEnabled : bool - Is the preview compiler enabled.
    ?loadedTimeStamp : DateTime - Indicates when the script was loaded into the editing environment, so that an 'unload' and 'reload' action will cause the script to be considered as a new project, so that references are re-resolved.
    ?otherFlags : string[] - Other flags for compilation.
    ?useFsiAuxLib : bool - Add a default reference to the FSharp.Compiler.Interactive.Settings library.
    ?useSdkRefs : bool - Use the implicit references from the .NET SDK.
    ?assumeDotNetFramework : bool - Set up compilation and analysis for .NET Framework scripts.
    ?sdkDirOverride : string - Override the .NET SDK used for default references.
    ?optionsStamp : int64 - An optional unique stamp for the options.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpProjectOptions * FSharpDiagnostic list>

For a given script file, get the FSharpProjectOptions implied by the #load closure.

All files are read from the FileSystem API, except the file being checked.

fileName : string

Used to differentiate between scripts, to consider each script a separate project. Also used in formatted error messages.

source : ISourceText

The source for the file.

?previewEnabled : bool

Is the preview compiler enabled.

?loadedTimeStamp : DateTime

Indicates when the script was loaded into the editing environment, so that an 'unload' and 'reload' action will cause the script to be considered as a new project, so that references are re-resolved.

?otherFlags : string[]

Other flags for compilation.

?useFsiAuxLib : bool

Add a default reference to the FSharp.Compiler.Interactive.Settings library.

?useSdkRefs : bool

Use the implicit references from the .NET SDK.

?assumeDotNetFramework : bool

Set up compilation and analysis for .NET Framework scripts.

?sdkDirOverride : string

Override the .NET SDK used for default references.

?optionsStamp : int64

An optional unique stamp for the options.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpProjectOptions * FSharpDiagnostic list>

this.GetProjectSnapshotFromScript

Full Usage: this.GetProjectSnapshotFromScript

Parameters:
    fileName : string - Used to differentiate between scripts, to consider each script a separate project. Also used in formatted error messages.
    source : ISourceTextNew - The source for the file.
    ?documentSource : DocumentSource - DocumentSource to load any additional files.
    ?previewEnabled : bool - Is the preview compiler enabled.
    ?loadedTimeStamp : DateTime - Indicates when the script was loaded into the editing environment, so that an 'unload' and 'reload' action will cause the script to be considered as a new project, so that references are re-resolved.
    ?otherFlags : string[] - Other flags for compilation.
    ?useFsiAuxLib : bool - Add a default reference to the FSharp.Compiler.Interactive.Settings library.
    ?useSdkRefs : bool - Use the implicit references from the .NET SDK.
    ?assumeDotNetFramework : bool - Set up compilation and analysis for .NET Framework scripts.
    ?sdkDirOverride : string - Override the .NET SDK used for default references.
    ?optionsStamp : int64 - An optional unique stamp for the options.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpProjectSnapshot * FSharpDiagnostic list>
fileName : string

Used to differentiate between scripts, to consider each script a separate project. Also used in formatted error messages.

source : ISourceTextNew

The source for the file.

?documentSource : DocumentSource

DocumentSource to load any additional files.

?previewEnabled : bool

Is the preview compiler enabled.

?loadedTimeStamp : DateTime

Indicates when the script was loaded into the editing environment, so that an 'unload' and 'reload' action will cause the script to be considered as a new project, so that references are re-resolved.

?otherFlags : string[]

Other flags for compilation.

?useFsiAuxLib : bool

Add a default reference to the FSharp.Compiler.Interactive.Settings library.

?useSdkRefs : bool

Use the implicit references from the .NET SDK.

?assumeDotNetFramework : bool

Set up compilation and analysis for .NET Framework scripts.

?sdkDirOverride : string

Override the .NET SDK used for default references.

?optionsStamp : int64

An optional unique stamp for the options.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpProjectSnapshot * FSharpDiagnostic list>

this.InvalidateAll

Full Usage: this.InvalidateAll

This function is called when the entire environment is known to have changed for reasons not encoded in the ProjectOptions of any project/compilation.

this.InvalidateConfiguration

Full Usage: this.InvalidateConfiguration

Parameters:

This function is called when the configuration is known to have changed for reasons not encoded in the projectSnapshot. For example, dependent references may have been deleted or created.

projectSnapshot : FSharpProjectSnapshot
?userOpName : string

this.InvalidateConfiguration

Full Usage: this.InvalidateConfiguration

Parameters:
    options : FSharpProjectOptions - The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

This function is called when the configuration is known to have changed for reasons not encoded in the ProjectOptions. For example, dependent references may have been deleted or created.

options : FSharpProjectOptions

The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

this.MatchBraces

Full Usage: this.MatchBraces

Parameters:
    fileName : string - The fileName for the file, used to help caching of results.
    sourceText : ISourceText - The full source for the file.
    options : FSharpParsingOptions - Parsing options for the project or script.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<(range * range)[]>

Parse a source code file, returning information about brace matching in the file. Return an enumeration of the matching parenthetical tokens in the file.

fileName : string

The fileName for the file, used to help caching of results.

sourceText : ISourceText

The full source for the file.

options : FSharpParsingOptions

Parsing options for the project or script.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<(range * range)[]>

this.NotifyFileChanged

Full Usage: this.NotifyFileChanged

Parameters:
Returns: Async<unit>

Notify the checker that given file has changed. This needs to be used when checker is created with documentSource = Custom.

fileName : string
options : FSharpProjectOptions
?userOpName : string
Returns: Async<unit>

this.ParseAndCheckFileInProject

Full Usage: this.ParseAndCheckFileInProject

Parameters:
Returns: Async<FSharpParseFileResults * FSharpCheckFileAnswer>
fileName : string
projectSnapshot : FSharpProjectSnapshot
?userOpName : string
Returns: Async<FSharpParseFileResults * FSharpCheckFileAnswer>

this.ParseAndCheckFileInProject

Full Usage: this.ParseAndCheckFileInProject

Parameters:
    fileName : string - The name of the file in the project whose source is being checked.
    fileVersion : int - An integer that can be used to indicate the version of the file. This will be returned by TryGetRecentCheckResultsForFile when looking up the file.
    sourceText : ISourceText - The source for the file.
    options : FSharpProjectOptions - The options for the project or script.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpParseFileResults * FSharpCheckFileAnswer>

Parse and check a source code file, returning a handle to the results

Note: all files except the one being checked are read from the FileSystem API

Return FSharpCheckFileAnswer.Aborted if a parse tree was not available.

fileName : string

The name of the file in the project whose source is being checked.

fileVersion : int

An integer that can be used to indicate the version of the file. This will be returned by TryGetRecentCheckResultsForFile when looking up the file.

sourceText : ISourceText

The source for the file.

options : FSharpProjectOptions

The options for the project or script.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpParseFileResults * FSharpCheckFileAnswer>

this.ParseAndCheckProject

Full Usage: this.ParseAndCheckProject

Parameters:
Returns: Async<FSharpCheckProjectResults>
projectSnapshot : FSharpProjectSnapshot
?userOpName : string
Returns: Async<FSharpCheckProjectResults>

this.ParseAndCheckProject

Full Usage: this.ParseAndCheckProject

Parameters:
    options : FSharpProjectOptions - The options for the project or script.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpCheckProjectResults>

Parse and typecheck all files in a project.

All files are read from the FileSystem API

Can cause a second type-check on the entire project when `enablePartialTypeChecking` is true on the FSharpChecker.

options : FSharpProjectOptions

The options for the project or script.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpCheckProjectResults>

this.ParseFile

Full Usage: this.ParseFile

Parameters:
Returns: Async<FSharpParseFileResults>
fileName : string
projectSnapshot : FSharpProjectSnapshot
?userOpName : string
Returns: Async<FSharpParseFileResults>

this.ParseFile

Full Usage: this.ParseFile

Parameters:
    fileName : string - The path for the file. The file name is used as a module name for implicit top level modules (e.g. in scripts).
    sourceText : ISourceText - The source to be parsed.
    options : FSharpParsingOptions - Parsing options for the project or script.
    ?cache : bool - Store the parse in a size-limited cache associated with the FSharpChecker. Default: true
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpParseFileResults>

Parses a source code for a file and caches the results. Returns an AST that can be traversed for various features.

fileName : string

The path for the file. The file name is used as a module name for implicit top level modules (e.g. in scripts).

sourceText : ISourceText

The source to be parsed.

options : FSharpParsingOptions

Parsing options for the project or script.

?cache : bool

Store the parse in a size-limited cache associated with the FSharpChecker. Default: true

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: Async<FSharpParseFileResults>

this.ProjectChecked

Full Usage: this.ProjectChecked

Returns: IEvent<FSharpProjectOptions>

Notify the host that a project has been fully checked in the background (using file contents provided by the file system API) The event may be raised on a background thread.

Returns: IEvent<FSharpProjectOptions>

this.TokenizeFile

Full Usage: this.TokenizeFile

Parameters:
    source : string

Returns: FSharpTokenInfo[][]

Tokenize an entire file, line by line

source : string
Returns: FSharpTokenInfo[][]

this.TokenizeLine

Full Usage: this.TokenizeLine

Parameters:
Returns: FSharpTokenInfo[] * FSharpTokenizerLexState

Tokenize a single line, returning token information and a tokenization state represented by an integer

line : string
state : FSharpTokenizerLexState
Returns: FSharpTokenInfo[] * FSharpTokenizerLexState

this.TryGetRecentCheckResultsForFile

Full Usage: this.TryGetRecentCheckResultsForFile

Parameters:
Returns: (FSharpParseFileResults * FSharpCheckFileResults) option
fileName : string
projectSnapshot : FSharpProjectSnapshot
?userOpName : string
Returns: (FSharpParseFileResults * FSharpCheckFileResults) option

this.TryGetRecentCheckResultsForFile

Full Usage: this.TryGetRecentCheckResultsForFile

Parameters:
    fileName : string - The file name for the file.
    options : FSharpProjectOptions - The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.
    ?sourceText : ISourceText - Optionally, specify source that must match the previous parse precisely.
    ?userOpName : string - An optional string used for tracing compiler operations associated with this request.

Returns: (FSharpParseFileResults * FSharpCheckFileResults * int64) option

Try to get type check results for a file. This looks up the results of recent type checks of the same file, regardless of contents. The version tag specified in the original check of the file is returned. If the source of the file has changed the results returned by this function may be out of date, though may still be usable for generating intellisense menus and information.

fileName : string

The file name for the file.

options : FSharpProjectOptions

The options for the project or script, used to determine active --define conditionals and other options relevant to parsing.

?sourceText : ISourceText

Optionally, specify source that must match the previous parse precisely.

?userOpName : string

An optional string used for tracing compiler operations associated with this request.

Returns: (FSharpParseFileResults * FSharpCheckFileResults * int64) option

this.UsesTransparentCompiler

Full Usage: this.UsesTransparentCompiler

Returns: bool
Returns: bool

Static members

Static member Description

FSharpChecker.ActualCheckFileCount

Full Usage: FSharpChecker.ActualCheckFileCount

Returns: int

Report a statistic for testability

Returns: int

FSharpChecker.ActualParseFileCount

Full Usage: FSharpChecker.ActualParseFileCount

Returns: int

Report a statistic for testability

Returns: int

FSharpChecker.Create(?projectCacheSize, ?keepAssemblyContents, ?keepAllBackgroundResolutions, ?legacyReferenceResolver, ?tryGetMetadataSnapshot, ?suggestNamesForErrors, ?keepAllBackgroundSymbolUses, ?enableBackgroundItemKeyStoreAndSemanticClassification, ?enablePartialTypeChecking, ?parallelReferenceResolution, ?captureIdentifiersWhenParsing, ?documentSource, ?useSyntaxTreeCache, ?useTransparentCompiler)

Full Usage: FSharpChecker.Create(?projectCacheSize, ?keepAssemblyContents, ?keepAllBackgroundResolutions, ?legacyReferenceResolver, ?tryGetMetadataSnapshot, ?suggestNamesForErrors, ?keepAllBackgroundSymbolUses, ?enableBackgroundItemKeyStoreAndSemanticClassification, ?enablePartialTypeChecking, ?parallelReferenceResolution, ?captureIdentifiersWhenParsing, ?documentSource, ?useSyntaxTreeCache, ?useTransparentCompiler)

Parameters:
    ?projectCacheSize : int - The optional size of the project checking cache.
    ?keepAssemblyContents : bool - Keep the checked contents of projects.
    ?keepAllBackgroundResolutions : bool - If false, do not keep full intermediate checking results from background checking suitable for returning from GetBackgroundCheckResultsForFileInProject. This reduces memory usage.
    ?legacyReferenceResolver : LegacyReferenceResolver - An optional resolver for legacy MSBuild references
    ?tryGetMetadataSnapshot : ILReaderTryGetMetadataSnapshot - An optional resolver to access the contents of .NET binaries in a memory-efficient way
    ?suggestNamesForErrors : bool - Indicate whether name suggestion should be enabled
    ?keepAllBackgroundSymbolUses : bool - Indicate whether all symbol uses should be kept in background checking
    ?enableBackgroundItemKeyStoreAndSemanticClassification : bool - Indicates whether a table of symbol keys should be kept for background compilation
    ?enablePartialTypeChecking : bool - Indicates whether to perform partial type checking. Cannot be set to true if keepAssmeblyContents is true. If set to true, can cause duplicate type-checks when richer information on a file is needed, but can skip background type-checking entirely on implementation files with signature files.
    ?parallelReferenceResolution : bool - Indicates whether to resolve references in parallel.
    ?captureIdentifiersWhenParsing : bool - When set to true we create a set of all identifiers for each parsed file which can be used to speed up finding references.
    ?documentSource : DocumentSource - Default: FileSystem. You can use Custom source to provide a function that will return the source for a given file path instead of reading it from the file system. Note that with this option the FSharpChecker will also not monitor the file system for file changes. It will expect to be notified of changes via the NotifyFileChanged method.
    ?useSyntaxTreeCache : bool - Default: true. Indicates whether to keep parsing results in a cache.
    ?useTransparentCompiler : bool - Default: false. Indicates whether we use a new experimental background compiler. This does not yet support all features

Returns: FSharpChecker

Create an instance of an FSharpChecker.

?projectCacheSize : int

The optional size of the project checking cache.

?keepAssemblyContents : bool

Keep the checked contents of projects.

?keepAllBackgroundResolutions : bool

If false, do not keep full intermediate checking results from background checking suitable for returning from GetBackgroundCheckResultsForFileInProject. This reduces memory usage.

?legacyReferenceResolver : LegacyReferenceResolver

An optional resolver for legacy MSBuild references

?tryGetMetadataSnapshot : ILReaderTryGetMetadataSnapshot

An optional resolver to access the contents of .NET binaries in a memory-efficient way

?suggestNamesForErrors : bool

Indicate whether name suggestion should be enabled

?keepAllBackgroundSymbolUses : bool

Indicate whether all symbol uses should be kept in background checking

?enableBackgroundItemKeyStoreAndSemanticClassification : bool

Indicates whether a table of symbol keys should be kept for background compilation

?enablePartialTypeChecking : bool

Indicates whether to perform partial type checking. Cannot be set to true if keepAssmeblyContents is true. If set to true, can cause duplicate type-checks when richer information on a file is needed, but can skip background type-checking entirely on implementation files with signature files.

?parallelReferenceResolution : bool

Indicates whether to resolve references in parallel.

?captureIdentifiersWhenParsing : bool

When set to true we create a set of all identifiers for each parsed file which can be used to speed up finding references.

?documentSource : DocumentSource

Default: FileSystem. You can use Custom source to provide a function that will return the source for a given file path instead of reading it from the file system. Note that with this option the FSharpChecker will also not monitor the file system for file changes. It will expect to be notified of changes via the NotifyFileChanged method.

?useSyntaxTreeCache : bool

Default: true. Indicates whether to keep parsing results in a cache.

?useTransparentCompiler : bool

Default: false. Indicates whether we use a new experimental background compiler. This does not yet support all features

Returns: FSharpChecker

Type something to start searching.