Logo F# Compiler Guide

FSharpEntity Type

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

Instance members

Instance member Description

this.AbbreviatedType

Full Usage: this.AbbreviatedType

Returns: FSharpType

Get the type abbreviated by an F# type abbreviation

Returns: FSharpType

this.AccessPath

Full Usage: this.AccessPath

Returns: string

Get the path used to address the entity (e.g. "Namespace.Module1.NestedModule2"). Gives "global" for items not in a namespace.

Returns: string

this.ActivePatternCases

Full Usage: this.ActivePatternCases

Returns: FSharpActivePatternCase list

Get all active pattern cases defined in all active patterns in the module.

Returns: FSharpActivePatternCase list

this.AllCompilationPaths

Full Usage: this.AllCompilationPaths

Returns: string list

Get all compilation paths, taking `Module` suffixes into account.

Returns: string list

this.AllInterfaces

Full Usage: this.AllInterfaces

Returns: IList<FSharpType>

Get all the interface implementations, by walking the type hierarchy

Returns: IList<FSharpType>

this.ArrayRank

Full Usage: this.ArrayRank

Returns: int

Get the rank of an array type

Returns: int

this.AsType

Full Usage: this.AsType

Returns: FSharpType

Instantiates FSharpType

Returns: FSharpType

this.BaseType

Full Usage: this.BaseType

Returns: FSharpType option

Get the base type, if any

Returns: FSharpType option

this.BasicQualifiedName

Full Usage: this.BasicQualifiedName

Returns: string option

The fully qualified name of the type or module without strong assembly name.

Returns: string option

this.CompiledName

Full Usage: this.CompiledName

Returns: string

Get the compiled name of the type or module, possibly with `n mangling. This is identical to LogicalName unless the CompiledName attribute is used.

Returns: string

this.DeclarationLocation

Full Usage: this.DeclarationLocation

Returns: range

Get the declaration location for the type constructor

Returns: range

this.DeclaredInterfaces

Full Usage: this.DeclaredInterfaces

Returns: IList<FSharpType>

Get the declared interface implementations

Returns: IList<FSharpType>

this.DeclaringEntity

Full Usage: this.DeclaringEntity

Returns: FSharpEntity option

Get the enclosing entity for the definition

Returns: FSharpEntity option

this.DisplayName

Full Usage: this.DisplayName

Returns: string

Get the name of the type or module as displayed in F# code

Returns: string

this.FSharpDelegateSignature

Full Usage: this.FSharpDelegateSignature

Returns: FSharpDelegateSignature

Indicates if the type is a delegate with the given Invoke signature

Returns: FSharpDelegateSignature

this.FSharpFields

Full Usage: this.FSharpFields

Returns: IList<FSharpField>

Get the fields of a record, class, struct or enum from the perspective of the F# language. This includes static fields, the 'val' bindings in classes and structs, and the value definitions in enums. For classes, the list may include compiler generated fields implied by the use of primary constructors.

Returns: IList<FSharpField>

this.FullName

Full Usage: this.FullName

Returns: string

Get the full name of the type or module

Returns: string

this.GenericArguments

Full Usage: this.GenericArguments

Returns: IList<FSharpType>

Get the generic parameters, possibly including unit-of-measure parameters

Returns: IList<FSharpType>

this.GenericParameters

Full Usage: this.GenericParameters

Returns: IList<FSharpGenericParameter>

Get the generic parameters, possibly including unit-of-measure parameters

Returns: IList<FSharpGenericParameter>

this.GetPublicNestedEntities

Full Usage: this.GetPublicNestedEntities

Returns: FSharpEntity seq

Public nested entities (methods, functions, values, nested modules).

Returns: FSharpEntity seq

this.HasAssemblyCodeRepresentation

Full Usage: this.HasAssemblyCodeRepresentation

Returns: bool

Indicates if the type is implemented through a mapping to IL assembly code. This is only true for types in FSharp.Core.dll

Returns: bool

this.HasFSharpModuleSuffix

Full Usage: this.HasFSharpModuleSuffix

Returns: bool

Indicates that a module is compiled to a class with the given mangled name. The mangling is reversed during lookup

Returns: bool

this.IsAbstractClass

Full Usage: this.IsAbstractClass

Returns: bool

Indicates if the entity is an abstract class

Returns: bool

this.IsArrayType

Full Usage: this.IsArrayType

Returns: bool

Indicates if the entity is an array type

Returns: bool

this.IsAttributeType

Full Usage: this.IsAttributeType

Returns: bool

Check if the entity inherits from System.Attribute in its type hierarchy

Returns: bool

this.IsByRef

Full Usage: this.IsByRef

Returns: bool

Indicates if is the 'byref<_>' type definition used for byref types in F#-compiled assemblies

Returns: bool

this.IsClass

Full Usage: this.IsClass

Returns: bool

Indicates if the entity is a class type definition

Returns: bool

this.IsDelegate

Full Usage: this.IsDelegate

Returns: bool

Indicates if the entity is a delegate type definition

Returns: bool

this.IsEnum

Full Usage: this.IsEnum

Returns: bool

Indicates if the entity is an enum type definition

Returns: bool

this.IsFSharp

Full Usage: this.IsFSharp

Returns: bool

Indicates if this is a reference to something in an F#-compiled assembly

Returns: bool

this.IsFSharpAbbreviation

Full Usage: this.IsFSharpAbbreviation

Returns: bool

Indicates if the entity is a measure, type or exception abbreviation

Returns: bool

this.IsFSharpExceptionDeclaration

Full Usage: this.IsFSharpExceptionDeclaration

Returns: bool

Indicates an F# exception declaration

Returns: bool

this.IsFSharpModule

Full Usage: this.IsFSharpModule

Returns: bool

Indicates if the entity is an F# module definition

Returns: bool

this.IsFSharpRecord

Full Usage: this.IsFSharpRecord

Returns: bool

Indicates if the entity is record type

Returns: bool

this.IsFSharpUnion

Full Usage: this.IsFSharpUnion

Returns: bool

Indicates if the entity is union type

Returns: bool

this.IsInterface

Full Usage: this.IsInterface

Returns: bool

Indicates if the entity is an interface type definition

Returns: bool

this.IsMeasure

Full Usage: this.IsMeasure

Returns: bool

Indicates if the entity is a measure definition

Returns: bool

this.IsNamespace

Full Usage: this.IsNamespace

Returns: bool

Indicates if the entity is a part of a namespace path

Returns: bool

this.IsOpaque

Full Usage: this.IsOpaque

Returns: bool

Indicates if the entity is a type definition for a reference type where the implementation details are hidden by a signature

Returns: bool

this.IsProvided

Full Usage: this.IsProvided

Returns: bool

Indicates if the entity is a provided type

Returns: bool

this.IsProvidedAndErased

Full Usage: this.IsProvidedAndErased

Returns: bool

Indicates if the entity is an erased provided type

Returns: bool

this.IsProvidedAndGenerated

Full Usage: this.IsProvidedAndGenerated

Returns: bool

Indicates if the entity is a generated provided type

Returns: bool

this.IsStaticInstantiation

Full Usage: this.IsStaticInstantiation

Returns: bool

Indicates if the entity is a 'fake' symbol related to a static instantiation of a type provider

Returns: bool

this.IsUnresolved

Full Usage: this.IsUnresolved

Returns: bool

Indicates if the entity is in an unresolved assembly

Returns: bool

this.IsValueType

Full Usage: this.IsValueType

Returns: bool

Indicates if the entity is a struct or enum

Returns: bool

this.LogicalName

Full Usage: this.LogicalName

Returns: string

Get the name of the type or module, possibly with `n mangling

Returns: string

this.MembersFunctionsAndValues

Full Usage: this.MembersFunctionsAndValues

Returns: IList<FSharpMemberOrFunctionOrValue>

Get the properties, events and methods of a type definitions, or the functions and values of a module

Returns: IList<FSharpMemberOrFunctionOrValue>

this.Namespace

Full Usage: this.Namespace

Returns: string option

Get the namespace containing the type or module, if any. Use 'None' for item not in a namespace.

Returns: string option

this.NestedEntities

Full Usage: this.NestedEntities

Returns: IList<FSharpEntity>

Get the modules and types defined in a module, or the nested types of a type

Returns: IList<FSharpEntity>

this.QualifiedName

Full Usage: this.QualifiedName

Returns: string option

Get the fully qualified name of the type or module

Returns: string option

this.RepresentationAccessibility

Full Usage: this.RepresentationAccessibility

Returns: FSharpAccessibility

Get the declared accessibility of the representation, not taking signatures into account

Returns: FSharpAccessibility

this.StaticParameters

Full Usage: this.StaticParameters

Returns: IList<FSharpStaticParameter>

Get the static parameters for a provided type

Returns: IList<FSharpStaticParameter>

this.TryFullName

Full Usage: this.TryFullName

Returns: string option

Get the full name of the type or module if it is available

Returns: string option

this.TryGetFullCompiledName

Full Usage: this.TryGetFullCompiledName

Returns: string option

Safe version of `CompiledName`.

Returns: string option

this.TryGetFullDisplayName

Full Usage: this.TryGetFullDisplayName

Returns: string option

Safe version of `DisplayName`.

Returns: string option

this.TryGetFullName

Full Usage: this.TryGetFullName

Returns: string option

Safe version of `FullName`.

Returns: string option

this.TryGetMembersFunctionsAndValues

Full Usage: this.TryGetMembersFunctionsAndValues

Returns: IList<FSharpMemberOrFunctionOrValue>

Safe version of `GetMembersFunctionsAndValues`.

Returns: IList<FSharpMemberOrFunctionOrValue>

this.TryGetMetadataText

Full Usage: this.TryGetMetadataText

Returns: ISourceText option

Get the source text of the entity's signature to be used as metadata.

Returns: ISourceText option

this.UnionCases

Full Usage: this.UnionCases

Returns: IList<FSharpUnionCase>

Get the cases of a union type

Returns: IList<FSharpUnionCase>

this.UsesPrefixDisplay

Full Usage: this.UsesPrefixDisplay

Returns: bool

Indicates if the type prefers the "tycon" syntax for display etc.

Returns: bool

this.XmlDoc

Full Usage: this.XmlDoc

Returns: FSharpXmlDoc

Get the XML documentation for the entity

Returns: FSharpXmlDoc

this.XmlDocSig

Full Usage: this.XmlDocSig

Returns: string

Get the XML documentation signature for the entity, used for .xml file lookup for compiled code

Returns: string

Inherited members

Inherited from FSharpSymbol

Instance members

Instance member Description

this.GetEffectivelySameAsHash

Full Usage: this.GetEffectivelySameAsHash

Returns: int

A hash compatible with the IsEffectivelySameAs relation

Returns: int

this.HasAttribute

Full Usage: this.HasAttribute

Returns: bool
Type parameters: 'T

Indicates if this symbol has an attribute matching the full name of the given type parameter

Returns: bool

this.IsAccessible

Full Usage: this.IsAccessible

Parameters:
Returns: bool

Computes if the symbol is accessible for the given accessibility rights

arg0 : FSharpAccessibilityRights
Returns: bool

this.IsEffectivelySameAs

Full Usage: this.IsEffectivelySameAs

Parameters:
Returns: bool

Return true if two symbols are effectively the same when referred to in F# source code text. This sees through signatures (a symbol in a signature will be considered effectively the same as the matching symbol in an implementation). In addition, other equivalences are applied when the same F# source text implies the same declaration name - for example, constructors are considered to be effectively the same symbol as the corresponding type definition. This is the relation used by GetUsesOfSymbol and GetUsesOfSymbolInFile.

other : FSharpSymbol
Returns: bool

this.TryGetAttribute

Full Usage: this.TryGetAttribute

Returns: FSharpAttribute option
Type parameters: 'T

Try to get an attribute matching the full name of the given type parameter

Returns: FSharpAttribute option

this.DeclarationLocation

Full Usage: this.DeclarationLocation

Returns: range option

Get the declaration location for the symbol

Returns: range option

this.SignatureLocation

Full Usage: this.SignatureLocation

Returns: range option

Get the signature location for the symbol if it was declared in an implementation

Returns: range option

this.IsExplicitlySuppressed

Full Usage: this.IsExplicitlySuppressed

Returns: bool
Returns: bool

this.Accessibility

Full Usage: this.Accessibility

Returns: FSharpAccessibility
Modifiers: abstract

Get the declared accessibility of the symbol, if any

Returns: FSharpAccessibility

this.Assembly

Full Usage: this.Assembly

Returns: FSharpAssembly

Get the assembly declaring this symbol

Returns: FSharpAssembly

this.ImplementationLocation

Full Usage: this.ImplementationLocation

Returns: range option

Get the implementation location for the symbol if it was declared in a signature that has an implementation

Returns: range option

this.Attributes

Full Usage: this.Attributes

Returns: IList<FSharpAttribute>
Modifiers: abstract

Get the attributes for the symbol, if any

Returns: IList<FSharpAttribute>

this.FullName

Full Usage: this.FullName

Returns: string

Get a textual representation of the full name of the symbol. The text returned for some symbols may not be a valid identifier path in F# code, but rather a human-readable representation of the symbol.

Returns: string

this.DisplayNameCore

Full Usage: this.DisplayNameCore

Returns: string

Gets the display name for the symbol where double backticks are not added for non-identifiers

Returns: string

this.DisplayName

Full Usage: this.DisplayName

Returns: string

Gets the display name for the symbol. Double backticks are added if the name is not a valid identifier. For FSharpParameter symbols without a name for the parameter, this returns "````"

Returns: string

Type something to start searching.