Logo fantomas

ParseHelpers Module

Types

Type Description

BindingSet

IndentationProblem

LexCont

LexerContinuation

LexerEndlineContinuation

LexerIfdefStack

LexerIfdefStackEntries

LexerIfdefStackEntry

LexerInterpolatedStringNesting

LexerStringKind

LexerStringStyle

SyntaxError

The error raised by the parse_error_rich function, which is called by the parser engine when a syntax error occurs. The first object is the ParseErrorContext which contains a dump of information about the grammar at the point where the error occurred, e.g. what tokens are valid to shift next at that point in the grammar. This information is processed in CompileOps.fs.

Functions and values

Function or value Description

ParseAssemblyCodeInstructions s reportLibraryOnlyFeatures langVersion m

Full Usage: ParseAssemblyCodeInstructions s reportLibraryOnlyFeatures langVersion m

Parameters:
Returns: ILInstr[]
s : string
reportLibraryOnlyFeatures : bool
langVersion : LanguageVersion
m : range
Returns: ILInstr[]

ParseAssemblyCodeType s reportLibraryOnlyFeatures langVersion m

Full Usage: ParseAssemblyCodeType s reportLibraryOnlyFeatures langVersion m

Parameters:
Returns: ILType
s : string
reportLibraryOnlyFeatures : bool
langVersion : LanguageVersion
m : range
Returns: ILType

addAttribs attrs p

Full Usage: addAttribs attrs p

Parameters:
Returns: SynPat
attrs : SynAttributes
p : SynPat
Returns: SynPat

adjustHatPrefixToTyparLookup mFull rightExpr

Full Usage: adjustHatPrefixToTyparLookup mFull rightExpr

Parameters:
Returns: SynExpr

Incorporate a '^' for an qualified access to a generic type parameter

mFull : range
rightExpr : SynExpr
Returns: SynExpr

appendValToLeadingKeyword mVal leadingKeyword

Full Usage: appendValToLeadingKeyword mVal leadingKeyword

Parameters:
Returns: SynLeadingKeyword
mVal : range
leadingKeyword : SynLeadingKeyword
Returns: SynLeadingKeyword

checkEndOfFileError t

Full Usage: checkEndOfFileError t

Parameters:

checkForMultipleAugmentations m a1 a2

Full Usage: checkForMultipleAugmentations m a1 a2

Parameters:
    m : range
    a1 : 'a list
    a2 : 'a list

Returns: 'a list
Type parameters: 'a
m : range
a1 : 'a list
a2 : 'a list
Returns: 'a list

debugPrint s

Full Usage: debugPrint s

Parameters:
    s : 'a

Type parameters: 'a
s : 'a

exprFromParseError e

Full Usage: exprFromParseError e

Parameters:
Returns: SynExpr
e : SynExpr
Returns: SynExpr

grabXmlDoc (parseState, optAttributes, elemIdx)

Full Usage: grabXmlDoc (parseState, optAttributes, elemIdx)

Parameters:
Returns: PreXmlDoc
parseState : IParseState
optAttributes : SynAttributeList list
elemIdx : int
Returns: PreXmlDoc

grabXmlDocAtRangeStart (parseState, optAttributes, range)

Full Usage: grabXmlDocAtRangeStart (parseState, optAttributes, range)

Parameters:
Returns: PreXmlDoc
parseState : IParseState
optAttributes : SynAttributeList list
range : range
Returns: PreXmlDoc

idOfPat m p

Full Usage: idOfPat m p

Parameters:
Returns: Ident
m : range
p : SynPat
Returns: Ident

leadingKeywordIsAbstract arg1

Full Usage: leadingKeywordIsAbstract arg1

Parameters:
Returns: bool
arg0 : SynLeadingKeyword
Returns: bool

lhs parseState

Full Usage: lhs parseState

Parameters:
Returns: range
parseState : IParseState
Returns: range

mkAbstractMember parseState attrs accessBeforeKeyword (abstractMemberFlags, arg4) accessBeforeId mInline id typeParams (typeWithConstraints, arg9) (accessors, arg10)

Full Usage: mkAbstractMember parseState attrs accessBeforeKeyword (abstractMemberFlags, arg4) accessBeforeId mInline id typeParams (typeWithConstraints, arg9) (accessors, arg10)

Parameters:
Returns: SynMemberDefn list
parseState : IParseState
attrs : SynAttributeList list
accessBeforeKeyword : SynAccess option
abstractMemberFlags : SynMemberKind -> SynMemberFlags
arg4 : SynLeadingKeyword
accessBeforeId : SynAccess option
mInline : range option
id : SynIdent
typeParams : SynValTyparDecls
typeWithConstraints : SynType
arg10 : SynValInfo
accessors : range option
arg12 : SynMemberKind * GetSetKeywords option * SynAccess option * SynAccess option
Returns: SynMemberDefn list

mkAndBang (mKeyword, pat, returnInfo, rhs, mWhole, mEquals)

Full Usage: mkAndBang (mKeyword, pat, returnInfo, rhs, mWhole, mEquals)

Parameters:
Returns: SynBinding
mKeyword : range
pat : SynPat
returnInfo : SynBindingReturnInfo option
rhs : SynExpr
mWhole : range
mEquals : range
Returns: SynBinding

mkAutoPropDefn mVal access ident typ mEquals expr (accessors, arg7) xmlDoc attribs (flags, arg10) rangeStart

Full Usage: mkAutoPropDefn mVal access ident typ mEquals expr (accessors, arg7) xmlDoc attribs (flags, arg10) rangeStart

Parameters:
Returns: SynMemberDefn
mVal : range
access : SynAccess option
ident : Ident
typ : SynType option
mEquals : range option
expr : SynExpr
accessors : range option
arg7 : SynMemberKind * GetSetKeywords option * SynAccess option * SynAccess option
xmlDoc : PreXmlDoc
attribs : SynAttributes
flags : SynMemberKind -> SynMemberFlags
arg11 : SynLeadingKeyword
rangeStart : range
Returns: SynMemberDefn

mkClassMemberLocalBindings (isStatic, initialRangeOpt, attrs, vis, bindingSet, mIn)

Full Usage: mkClassMemberLocalBindings (isStatic, initialRangeOpt, attrs, vis, bindingSet, mIn)

Parameters:
Returns: SynMemberDefn
isStatic : bool
initialRangeOpt : range option
attrs : SynAttributes
vis : SynAccess option
bindingSet : BindingSet
mIn : range option
Returns: SynMemberDefn

mkDefnBindings (mWhole, arg1, attrs, vis, attrsm, mIn)

Full Usage: mkDefnBindings (mWhole, arg1, attrs, vis, attrsm, mIn)

Parameters:
Returns: SynModuleDecl list
mWhole : range
arg1 : BindingSet
attrs : SynAttributes
vis : SynAccess option
attrsm : range
mIn : range option
Returns: SynModuleDecl list

mkInterpolatedStringFillParts (litText, litRange, fill)

Full Usage: mkInterpolatedStringFillParts (litText, litRange, fill)

Parameters:
Returns: SynInterpolatedStringPart list

Build the [String literal; FillExpr hole] pair for one interpolation hole, splitting the '{x,n}' alignment out of its tuple encoding and peeling a trailing printf specifier off the literal onto the hole.

litText : string
litRange : range
fill : SynExpr * Ident option
Returns: SynInterpolatedStringPart list

mkLetBangExpression (mIn, mWhole, body, bangInfo)

Full Usage: mkLetBangExpression (mIn, mWhole, body, bangInfo)

Parameters:
Returns: SynExpr

Helper for creating let!/use! expressions Handles 'let!' and 'use!'

mIn : range option
mWhole : range
body : SynExpr
bangInfo : SynPat * SynBindingReturnInfo option * SynExpr * SynBinding list * SynLeadingKeyword * range option * bool
Returns: SynExpr

mkLetExpression (mIn, mWhole, body, bindingInfo)

Full Usage: mkLetExpression (mIn, mWhole, body, bindingInfo)

Parameters:
Returns: SynExpr

Creates SynExpr.LetOrUse based on isBang parameter Handles 'let' and 'use'

mIn : range option
mWhole : range
body : SynExpr
bindingInfo : BindingSet
Returns: SynExpr

mkMatchClauses (patternAndGuard, arg1) (patternResult, arg2) mNextBar nextClauses mLastOuter

Full Usage: mkMatchClauses (patternAndGuard, arg1) (patternResult, arg2) mNextBar nextClauses mLastOuter

Parameters:
Returns: range option -> SynMatchClause list * range
patternAndGuard : SynPat
arg1 : SynExpr option
patternResult : range option
arg3 : SynExpr
mNextBar : range option
nextClauses : (range option -> SynMatchClause list * range) option
mLastOuter : range option
Returns: range option -> SynMatchClause list * range

mkMatchClausesRecoverMissingResult (patternAndGuard, arg1) exprDebugString mExpr mNextBar nextClauses mLastOuter

Full Usage: mkMatchClausesRecoverMissingResult (patternAndGuard, arg1) exprDebugString mExpr mNextBar nextClauses mLastOuter

Parameters:
Returns: range option -> SynMatchClause list * range
patternAndGuard : SynPat
arg1 : SynExpr option
exprDebugString : string
mExpr : range option
mNextBar : range option
nextClauses : (range option -> SynMatchClause list * range) option
mLastOuter : range option
Returns: range option -> SynMatchClause list * range

mkRecdField lidwd

Full Usage: mkRecdField lidwd

Parameters:
Returns: SynLongIdent * bool
lidwd : SynLongIdent
Returns: SynLongIdent * bool

mkSynDoBinding (vis, mDo, expr, m)

Full Usage: mkSynDoBinding (vis, mDo, expr, m)

Parameters:
Returns: SynBinding
vis : SynAccess option
mDo : range
expr : SynExpr
m : range
Returns: SynBinding

mkSynExprDecl e

Full Usage: mkSynExprDecl e

Parameters:
Returns: SynModuleDecl
e : SynExpr
Returns: SynModuleDecl

mkSynField parseState idOpt t isMutable vis attributes mStatic rangeStart leadingKeyword

Full Usage: mkSynField parseState idOpt t isMutable vis attributes mStatic rangeStart leadingKeyword

Parameters:
Returns: SynField
parseState : IParseState
idOpt : Ident option
t : SynType option
isMutable : range option
vis : SynAccess option
attributes : SynAttributeList list
mStatic : range option
rangeStart : range
leadingKeyword : SynLeadingKeyword option
Returns: SynField

mkSynMemberDefnGetSet parseState opt_inline mWith classDefnMemberGetSetElements mAnd mWhole propertyNameBindingPat optPropertyType visNoLongerUsed (flagsBuilderAndLeadingKeyword, arg10) attrs rangeStart

Full Usage: mkSynMemberDefnGetSet parseState opt_inline mWith classDefnMemberGetSetElements mAnd mWhole propertyNameBindingPat optPropertyType visNoLongerUsed (flagsBuilderAndLeadingKeyword, arg10) attrs rangeStart

Parameters:
Returns: SynMemberDefn list
parseState : IParseState
opt_inline : range option
mWith : range
classDefnMemberGetSetElements : (range option * SynAttributeList list * (SynPat * range) * (range option * SynReturnInfo) option * range option * SynExpr * range) list
mAnd : range option
mWhole : range
propertyNameBindingPat : SynPat
optPropertyType : (range option * SynReturnInfo) option
visNoLongerUsed : SynAccess option
flagsBuilderAndLeadingKeyword : SynMemberKind -> SynMemberFlags
arg10 : SynLeadingKeyword
attrs : SynAttributeList list
rangeStart : range
Returns: SynMemberDefn list

mkSynRange p1 p2

Full Usage: mkSynRange p1 p2

Parameters:
Returns: range
p1 : Position
p2 : Position
Returns: range

mkSynTypeTuple elementTypes

Full Usage: mkSynTypeTuple elementTypes

Parameters:
Returns: SynType
elementTypes : SynTupleTypeSegment list
Returns: SynType

mkSynUnionCase attributes access id kind mDecl arg6

Full Usage: mkSynUnionCase attributes access id kind mDecl arg6

Parameters:
Returns: SynUnionCase
attributes : SynAttributes
access : SynAccess option
id : SynIdent
kind : SynUnionCaseKind
mDecl : range
arg5 : PreXmlDoc * range
Returns: SynUnionCase

mkUnderscoreRecdField m

Full Usage: mkUnderscoreRecdField m

Parameters:
Returns: SynLongIdent * bool
m : range
Returns: SynLongIdent * bool

mkValField parseState mVal isMutable access idOpt typ rangeStart arg8 arg9

Full Usage: mkValField parseState mVal isMutable access idOpt typ rangeStart arg8 arg9

Parameters:
Returns: SynMemberDefn
parseState : IParseState
mVal : range
isMutable : range option
access : SynAccess option
idOpt : Ident option
typ : SynType option
rangeStart : range
arg7 : SynAttributes
arg8 : range option
Returns: SynMemberDefn

patFromParseError e

Full Usage: patFromParseError e

Parameters:
Returns: SynPat
e : SynPat
Returns: SynPat

peelTrailingPrintfSpecifier litText

Full Usage: peelTrailingPrintfSpecifier litText

Parameters:
    litText : string

Returns: string * string option

Peel a trailing printf specifier (e.g. "%d") off an interpolated-string literal that precedes a hole, returning the literal without it and the specifier text. '%%' is a literal escape.

litText : string
Returns: string * string option

posOfLexPosition p

Full Usage: posOfLexPosition p

Parameters:
Returns: pos
p : Position
Returns: pos

raiseParseErrorAt arg1 arg2

Full Usage: raiseParseErrorAt arg1 arg2

Parameters:
Returns: 'a
Type parameters: 'a
arg0 : range
arg1 : int * RichText
Returns: 'a

rangeOfLongIdent lid

Full Usage: rangeOfLongIdent lid

Parameters:
Returns: range
lid : LongIdent
Returns: range

rebindRanges first fields lastSep

Full Usage: rebindRanges first fields lastSep

Parameters:
Returns: SynExprRecordFieldOrSpread list
first : RecordBinding
fields : (RecordBinding * BlockSeparator option) list
lastSep : BlockSeparator option
Returns: SynExprRecordFieldOrSpread list

reportParseErrorAt arg1 arg2

Full Usage: reportParseErrorAt arg1 arg2

Parameters:
arg0 : range
arg1 : int * RichText

rhs parseState i

Full Usage: rhs parseState i

Parameters:
Returns: range
parseState : IParseState
i : int
Returns: range

rhs2 parseState i j

Full Usage: rhs2 parseState i j

Parameters:
Returns: range
parseState : IParseState
i : int
j : int
Returns: range

unionRangeWithPos r p

Full Usage: unionRangeWithPos r p

Parameters:
Returns: range
r : range
p : pos
Returns: range

warningStringOfCoords line column

Full Usage: warningStringOfCoords line column

Parameters:
    line : int
    column : int

Returns: string
line : int
column : int
Returns: string

warningStringOfPos p

Full Usage: warningStringOfPos p

Parameters:
Returns: string
p : pos
Returns: string

Type extensions

Type extension Description

this.LexemeRange

Full Usage: this.LexemeRange

Parameters:
    () : unit

Returns: range

Extended Type: LexBuffer

() : unit
Returns: range

Type something to start searching.