F# Compiler Guide


SynLongIdent Type

Represents a long identifier with possible '.' at end. Typically dotRanges.Length = lid.Length-1, but they may be same if (incomplete) code ends in a dot, e.g. "Foo.Bar." The dots mostly matter for parsing, and are typically ignored by the typechecker, but if dotRanges.Length = lid.Length, then the parser must have reported an error, so the typechecker is allowed more freedom about typechecking these expressions. LongIdent can be empty list - it is used to denote that name of some AST element is absent (i.e. empty type name in inherit)

Union cases

Union case Description

SynLongIdent(id, dotRanges, trivia)

Full Usage: SynLongIdent(id, dotRanges, trivia)

Parameters:
id : LongIdent
dotRanges : range list
trivia : IdentTrivia option list

Instance members

Instance member Description

this.Dots

Full Usage: this.Dots

Returns: range list

Get the dot ranges

Returns: range list

this.IdentsWithTrivia

Full Usage: this.IdentsWithTrivia

Returns: SynIdent list

Get the idents with potential trivia attached

Returns: SynIdent list

this.LongIdent

Full Usage: this.LongIdent

Returns: LongIdent

Get the long ident for this construct

Returns: LongIdent

this.Range

Full Usage: this.Range

Returns: range

Gets the syntax range of this construct

Returns: range

this.RangeWithoutAnyExtraDot

Full Usage: this.RangeWithoutAnyExtraDot

Returns: range

Gets the syntax range for part of this construct

Returns: range

this.ThereIsAnExtraDotAtTheEnd

Full Usage: this.ThereIsAnExtraDotAtTheEnd

Returns: bool

Indicates if the construct ends in '.' due to error recovery

Returns: bool

this.Trivia

Full Usage: this.Trivia

Returns: IdentTrivia list

Get the trivia of the idents

Returns: IdentTrivia list