Header menu logo F# Compiler Guide

SynModuleDecl Type

Represents a definition within a module

Union cases

Union case Description

Attributes(attributes, range)

Full Usage: Attributes(attributes, range)

Parameters:

An attribute definition within a module, for assembly and .NET module attributes

attributes : SynAttributes
range : range

Exception(exnDefn, range)

Full Usage: Exception(exnDefn, range)

Parameters:

An 'exception' definition within a module

exnDefn : SynExceptionDefn
range : range

Expr(expr, range)

Full Usage: Expr(expr, range)

Parameters:

An 'expr' within a module.

expr : SynExpr
range : range

HashDirective(hashDirective, range)

Full Usage: HashDirective(hashDirective, range)

Parameters:

A hash directive within a module

hashDirective : ParsedHashDirective
range : range

Let(isRecursive, bindings, range)

Full Usage: Let(isRecursive, bindings, range)

Parameters:

A 'let' definition within a module

isRecursive : bool
bindings : SynBinding list
range : range

ModuleAbbrev(ident, longId, range)

Full Usage: ModuleAbbrev(ident, longId, range)

Parameters:

A module abbreviation definition 'module X = A.B.C'

ident : Ident
longId : LongIdent
range : range

NamespaceFragment fragment

Full Usage: NamespaceFragment fragment

Parameters:

A namespace fragment within a module

fragment : SynModuleOrNamespace

NestedModule(moduleInfo, isRecursive, decls, isContinuing, range, trivia)

Full Usage: NestedModule(moduleInfo, isRecursive, decls, isContinuing, range, trivia)

Parameters:

A nested module definition 'module X = ...'

moduleInfo : SynComponentInfo
isRecursive : bool
decls : SynModuleDecl list
isContinuing : bool
range : range
trivia : SynModuleDeclNestedModuleTrivia

Open(target, range)

Full Usage: Open(target, range)

Parameters:

An 'open' definition within a module

target : SynOpenDeclTarget
range : range

Types(typeDefns, range)

Full Usage: Types(typeDefns, range)

Parameters:

A type definition group ('type T1 ... and T2 ...') or a single 'type' definition within a module.

Consecutive 'type' keywords (e.g. type T1 ... type T2 ...) are represented individually, with separate Types syntax tree nodes for each. Only the 'and' keyword causes multiple types to be aggregated into a single Types node.

typeDefns : SynTypeDefn list
range : range

Instance members

Instance member Description

this.IsAttributes

Full Usage: this.IsAttributes

Returns: bool
Returns: bool

this.IsException

Full Usage: this.IsException

Returns: bool
Returns: bool

this.IsExpr

Full Usage: this.IsExpr

Returns: bool
Returns: bool

this.IsHashDirective

Full Usage: this.IsHashDirective

Returns: bool
Returns: bool

this.IsLet

Full Usage: this.IsLet

Returns: bool
Returns: bool

this.IsModuleAbbrev

Full Usage: this.IsModuleAbbrev

Returns: bool
Returns: bool

this.IsNamespaceFragment

Full Usage: this.IsNamespaceFragment

Returns: bool
Returns: bool

this.IsNestedModule

Full Usage: this.IsNestedModule

Returns: bool
Returns: bool

this.IsOpen

Full Usage: this.IsOpen

Returns: bool
Returns: bool

this.IsTypes

Full Usage: this.IsTypes

Returns: bool
Returns: bool

this.Range

Full Usage: this.Range

Returns: range

Gets the syntax range of this construct

Returns: range

Type something to start searching.