F# Compiler Services


F# Compiler Services

Internal.Utilities.StructuredFormat Namespace

TypeDescription
FormatOptions

A record of options to control structural formatting. For F# Interactive properties matching those of this value can be accessed via the 'fsi' value.

Floating Point format given in the same format accepted by System.Double.ToString, e.g. f6 or g15.

If ShowProperties is set the printing process will evaluate properties of the values being displayed. This may cause additional computation.

The ShowIEnumerable is set the printing process will force the evaluation of IEnumerable objects to a small, finite depth, as determined by the printing parameters. This may lead to additional computation being performed during printing.

From F# Interactive the default settings can be adjusted using, for example,
  open Microsoft.FSharp.Compiler.Interactive.Settings;;
  setPrintWidth 120;;
IEnvironment
Joint

Data representing joints in structured layouts of terms. The representation of this data type is only for the consumption of formatting engines.

Layout

Data representing structured layouts of terms. The representation of this data type is only for the consumption of formatting engines.

LayoutTag
TaggedText
TaggedTextWriter
ModuleDescription
Display
LayoutOps

A layout is a sequence of strings which have been joined together. The strings are classified as words, separators and left and right parenthesis. This classification determines where spaces are inserted. A joint is either unbreakable, breakable or broken. If a joint is broken the RHS layout occurs on the next line with optional indentation. A layout can be squashed to for given width which forces breaks as required.

TaggedTextOps

Microsoft.FSharp.Compiler Namespace

ModuleDescription
Ast
ErrorLogger
Layout
PrettyNaming

Anything to do with special names of identifiers and other lexical rules

Range
ReferenceResolver

Microsoft.FSharp.Compiler.AbstractIL Namespace

ModuleDescription
IL

The "unlinked" view of .NET metadata and code. Central to to Abstract IL library

Microsoft.FSharp.Compiler.AbstractIL.Internal Namespace

ModuleDescription
Library

Microsoft.FSharp.Compiler.Interactive Namespace

ModuleDescription
Shell

Microsoft.FSharp.Compiler.SourceCodeServices Namespace

TypeDescription
AssemblyContentType

Assembly content type.

AssemblyPath

Assembly path.

AssemblySymbol

Represents type, module, member, function or value in a compiled assembly.

CompilerEnvironment

Information about the compilation environment

CompletionContext
CompletionItemKind
CompletionPath
Entity

Helper data structure representing a symbol, sutable for implementing unresolved identifiers resolution code fixes.

EntityCache

Thread safe wrapper over IAssemblyContentCache.

EntityKind
ExternalSymbol

Represents a symbol in an external (non F#) assembly

ExternalType

Represents a type in an external (non F#) assembly.

FSharpAbstractParameter

Represents a parameter in an abstract method of a class or interface

FSharpAbstractSignature

Represents the signature of an abstract slot of a class or interface

FSharpAccessibility

Indicates the accessibility of a symbol, as seen by the F# language

FSharpAccessibilityRights

Represents the rights of a compilation to access symbols

FSharpActivePatternCase

A subtype of FSharpSymbol that represents a single case within an active pattern

FSharpActivePatternGroup

Represents all cases within an active pattern

FSharpAssembly

Represents an assembly as seen by the F# language

FSharpAssemblyContents

Represents the definitional contents of an assembly, as seen by the F# language

FSharpAssemblySignature

Represents an inferred signature of part of an assembly as seen by the F# language

FSharpAttribute

Represents a custom attribute attached to F# source code or a compiler .NET component

FSharpCheckFileAnswer

The result of calling TypeCheckResult including the possibility of abort and background compiler not caught up.

FSharpCheckFileResults

A handle to the results of CheckFileInProject.

FSharpCheckProjectResults

A handle to the results of CheckFileInProject.

FSharpChecker

Used to parse and check F# source code.

FSharpDeclarationListInfo

Represents a set of declarations in F# source code, with information attached ready for display by an editor. Returned by GetDeclarations.

FSharpDeclarationListItem

Represents a declaration in F# source code, with information attached ready for display by an editor. Returned by GetDeclarations.

FSharpDelegateSignature

Represents a delegate signature in an F# symbol

FSharpDisplayContext

Represents the information needed to format types and other information in a style suitable for use in F# source text at a particular source location.

Acquired via GetDisplayEnvAtLocationAlternate and similar methods. May be passed to the Format method on FSharpType and other methods.

FSharpEnclosingEntityKind
FSharpEntity

A subtype of FSharpSymbol that represents a type definition or module as seen by the F# language

FSharpErrorInfo
FSharpErrorSeverity
FSharpExpr

Represents a checked and reduced expression, as seen by the F# language. The active patterns in 'FSharp.Compiler.SourceCodeServices' can be used to analyze information about the expression.

Pattern matching is reduced to decision trees and conditional tests. Some other constructs may be represented in reduced form.

FSharpField

A subtype of FSharpSymbol that represents a record or union case field as seen by the F# language

FSharpFindDeclFailureReason

Represents the reason why the GetDeclarationLocation operation failed.

FSharpFindDeclResult

Represents the result of the GetDeclarationLocation operation.

FSharpGenericParameter

A subtype of FSharpSymbol that represents a generic parameter for an FSharpSymbol

FSharpGenericParameterConstraint

Represents a constraint on a generic type parameter

FSharpGenericParameterDefaultsToConstraint

Represents further information about a 'defaults to' constraint on a generic type parameter

FSharpGenericParameterDelegateConstraint

Represents further information about a delegate constraint on a generic type parameter

FSharpGenericParameterMemberConstraint

Represents further information about a member constraint on a generic type parameter

FSharpGlyph
FSharpImplementationFileContents

Represents the definitional contents of a single file or fragment in an assembly, as seen by the F# language

FSharpImplementationFileDeclaration

Represents a declaration in an implementation file, as seen by the F# language

FSharpInlineAnnotation
FSharpLineTokenizer

Object to tokenize a line of F# source code, starting with the given lexState. The lexState should be 0 for the first line of text. Returns an array of ranges of the text and two enumerations categorizing the tokens and characters covered by that range, i.e. FSharpTokenColorKind and FSharpTokenCharKind. The enumerations are somewhat adhoc but useful enough to give good colorization options to the user in an IDE.

A new lexState is also returned. An IDE-plugin should in general cache the lexState values for each line of the edited code.

FSharpMemberOrFunctionOrValue

A subtype of F# symbol that represents an F# method, property, event, function or value, including extension members.

FSharpMethodGroup

Represents a group of methods (or other items) returned by GetMethods.

FSharpMethodGroupItem

Represents one method (or other item) in a method group. The item may represent either a method or a single, non-overloaded item such as union case or a named function value.

FSharpMethodGroupItemParameter

Represents one parameter for one method (or other item) in a group.

FSharpNavigationDeclarationItem

Represents an item to be displayed in the navigation bar

FSharpNavigationDeclarationItemKind

Indicates a kind of item to show in an F# navigation bar

FSharpNavigationItems

Represents result of 'GetNavigationItems' operation - this contains all the members and currently selected indices. First level correspond to types & modules and second level are methods etc.

FSharpNavigationTopLevelDeclaration

Represents top-level declarations (that should be in the type drop-down) with nested declarations (that can be shown in the member drop-down)

FSharpNoteworthyParamInfoLocations

Represents the locations relevant to activating parameter info in an IDE

FSharpObjectExprOverride

Represents a checked method in an object expression, as seen by the F# language.

FSharpParameter

A subtype of FSharpSymbol that represents a parameter

FSharpParseFileResults

Represents the results of parsing an F# file

FSharpParsingOptions

Options used to determine active --define conditionals and other options relevant to parsing files in a project

FSharpProjectContext

Represents the checking context implied by the ProjectOptions

FSharpProjectOptions

A set of information describing a project or script build configuration.

FSharpSourceTokenizer

Tokenizer for a source file. Holds some expensive-to-compute resources at the scope of the file.

FSharpStaticParameter

A subtype of FSharpSymbol that represents a static parameter to an F# type provider

FSharpStructuredToolTipElement

A single data tip display element with where text is expressed as

FSharpStructuredToolTipText
FSharpSymbol

Represents a symbol in checked F# source code or a compiled .NET component.

The subtype of the symbol may reveal further information and can be one of FSharpEntity, FSharpUnionCase FSharpField, FSharpGenericParameter, FSharpStaticParameter, FSharpMemberOrFunctionOrValue, FSharpParameter, or FSharpActivePatternCase.

FSharpSymbolUse

Represents the use of an F# symbol from F# source code

FSharpTokenCharKind

Gives an indication of the class to assign to the characters of the token an IDE

FSharpTokenColorKind

Gives an indicattion of the color class to assign to the token an IDE

FSharpTokenInfo

Information about a particular token from the tokenizer

FSharpTokenTriggerClass

Gives an indication of what should happen when the token is typed in an IDE

FSharpTokenizerColorState

Represents stable information for the state of the laxing engine at the end of a line

FSharpTokenizerLexState

Represents encoded information for the end-of-line continuation of lexing

FSharpToolTipElement<'T>

A single tool tip display element

FSharpToolTipElement

A single data tip display element with where text is expressed as string

FSharpToolTipElementData<'T>

A single data tip display element

FSharpToolTipText<'T>

Information for building a tool tip box.

FSharpToolTipText
FSharpType
FSharpUnionCase

A subtype of FSharpSymbol that represents a union case as seen by the F# language

FSharpXmlDoc

Describe a comment as either a block of text or a file+signature reference into an intellidoc file.

IAssemblyContentCache

Assembly content cache.

Idents

An array of ShortIdent.

InheritanceContext
InsertContext

Insert open namespace context.

Layout
LookupType

Entity lookup type.

MaybeUnresolvedIdent

ShortIdent with a flag indicating if it's resolved in some scope.

MaybeUnresolvedIdents

Array of MaybeUnresolvedIdent.

ModuleKind
OpenStatementInsertionPoint

Where open statements should be added.

ParamTypeSymbol

Represents the type of a single method parameter

Position
Range
RecordContext
ScopeKind

Kind of lexical scope.

SemanticClassificationType
ShortIdent

Short identifier, i.e. an identifier that contains no dots.

StringLongIdent

Lond identifier (i.e. it may contain dots).

UnresolvedReferencesSet

Unused in this API

XmlDocable

Represent an Xml documentation block in source code

ModuleDescription
AssemblyContentProvider

Provides assembly content.

AstTraversal

A range of utility functions to assist with traversing an AST

BasicPatterns

A collection of active patterns to analyze expressions

CompilerEnvironment

Information about the compilation environment

DebuggerEnvironment

Information about the debugging environment

Extensions
ExternalType
FSharpTokenTag

Some of the values in the field FSharpTokenInfo.Tag

Keywords
NavigateTo
ParamTypeSymbol
ParsedInput

Parse AST helpers.

PrettyNaming

A set of helpers related to naming of identifiers

SourceFile

Information about F# source file names

Tooltips
UntypedParseImpl
XmlDocComment
XmlDocParser
Fork me on GitHub