Namespaces
For details on how the AST node works, please refer to the Fantomas documentation. See also official documentation for a comparison between the two.
Constructors
Constructors |
Description |
---|---|
Namespace(name: string) |
Creates a NamespaceNode AST node with the specified name. |
Namespace(name: string) |
Creates an implicit NamespaceNode AST node with the specified name |
AnonymousModule() |
Creates an NamespaceNode AST node. |
Modifier Functions
Modifier |
Description |
---|---|
toRecursive(this: WidgetBuilder |
Adds a scalar indicating that the namespace is recursive. |
toPrivate(this: WidgetBuilder |
Sets the accessibility of the namespace to private. |
toPublic(this: WidgetBuilder |
Sets the accessibility of the namespace to public. |
toInternal(this: WidgetBuilder |
Sets the accessibility of the namespace to internal. |
toImplicit(this: WidgetBuilder |
Sets the namespace to be implicit. |
xmlDocs(this: WidgetBuilder |
Adds XML documentation comments to the module. |
attributes(this: WidgetBuilder |
Adds multiple attributes to the module. |
attribute(this: WidgetBuilder |
Adds a single attribute to the module. |
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.Core.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fabulous.AST.dll"
#r "../../src/Fabulous.AST/bin/Release/netstandard2.1/publish/Fantomas.FCS.dll"
open Fabulous.AST
open type Fabulous.AST.Ast
Oak() {
Namespace("Widgets") {
TypeDefn("MyWidget1") { Member("this.WidgetName", String("Widget1")) }
Module("WidgetsModule") { Value("widgetName", String("Widget2")) }
}
|> _.triviaBefore(SingleLine("Namespace"))
|> _.triviaAfter(Newline())
Namespace("Widgets.WidgetModule") {
Function(
"widgetFunction",
[ ParameterPat("x"); ParameterPat("y") ],
AppExpr("printfn", [ String("%A %A"); String("x"); String("y") ])
)
}
|> _.toImplicit()
|> _.triviaBefore(SingleLine("Implicit Namespace"))
|> _.triviaAfter(Newline())
Namespace("Widgets") {
Module("WidgetModule1") {
Function(
"widgetFunction",
[ ParameterPat("x"); ParameterPat("y") ],
AppExpr("printfn", [ String("Module1 %A %A"); String("x"); String("y") ])
)
}
Module("WidgetModule2") {
Function(
"widgetFunction",
[ ParameterPat("x"); ParameterPat("y") ],
AppExpr("printfn", [ String("Module2 %A %A"); String("x"); String("y") ])
)
}
Module("useWidgets") {
SingleExpr(
"do",
CompExprBodyExpr(
[ AppExpr("WidgetModule1.widgetFunction", [ Int(10); Int(20) ])
AppExpr("WidgetModule2.widgetFunction", [ Int(5); Int(6) ]) ]
)
)
}
}
|> _.triviaBefore(SingleLine("Multiple Modules"))
|> _.triviaAfter(Newline())
Namespace("Widgets") {
TypeDefn("MyWidget1") { Member("this.WidgetName", String("Widget1")) }
Module("WidgetsModule") { Value("widgetName", String("Widget2")) }
}
|> _.triviaBefore(SingleLine("Namespace"))
|> _.triviaAfter(Newline())
Namespace("Outer") {
TypeDefn("MyClass", UnitPat()) {
Member("this.X", ParenPat(ParameterPat(ConstantPat(Constant "x"))), InfixAppExpr("p", "+", Int(1)))
}
|> _.triviaBefore(SingleLine("Full name: Outer.MyClass"))
}
|> _.triviaBefore(SingleLine("Nested Namespaces"))
|> _.triviaAfter(Newline())
Namespace("Outer.Inner") { TypeDefn("MyClass", UnitPat()) { Member("this.Prop1", String("X")) } }
|> _.triviaBefore(SingleLine("Full name: Outer.Inner.MyClass"))
|> _.triviaAfter(Newline())
GlobalNamespace() { TypeDefn("MyClass", UnitPat()) { Member("this.Prop1", String("X")) } }
|> _.triviaBefore(SingleLine("Global Namespace"))
|> _.triviaAfter(Newline())
AnonymousModule() { Value("x", ConstantExpr(Int(3))) }
|> _.triviaBefore(SingleLine("Anonymous Module"))
|> _.triviaAfter(Newline())
Namespace("MutualReferences") {
Union("Orientation") {
UnionCase("Up")
UnionCase("Down")
}
Union("PeelState") {
UnionCase("Peeled")
UnionCase("Unpeeled")
}
ExceptionDefn("DontSqueezeTheBananaException", Field("Banana"))
TypeDefn("Banana", Constructor(ParenPat(ParameterPat("orientation", LongIdent("Orientation"))))) {
MemberVal("IsPeeled", Bool(false), true, true)
MemberVal("Orientation", "orientation", true, true)
MemberVal("Sides", ListExpr([ "PeelState"; "Unpeeled" ]), true, true)
.returnType(LongIdent "PeelState list")
Member("self.Peel", UnitPat(), "BananaHelpers.peel")
.triviaAfter(LineCommentAfterSourceCode("Note the dependency on the BananaHelpers module."))
Member("self.SqueezeJuiceOut", UnitPat(), "raise (DontSqueezeTheBananaException self)")
.triviaAfter(LineCommentAfterSourceCode("This member depends on the exception above."))
}
Module("BananaHelpers") {
Function(
"peel",
[ ParenPat(ParameterPat("b", "Banana")) ],
CompExprBodyExpr(
[ Function(
"flip",
[ ParenPat(ParameterPat("banana", "Banana")) ],
MatchExpr(
"banana.Orientation",
[ MatchClauseExpr(
"Up",
CompExprBodyExpr(
[ LongIdentSetExpr("banana.Orientation", "Down"); ConstantExpr("banana") ]
)
)
MatchClauseExpr("Down", "banana") ]
)
)
|> LetOrUseExpr
Function(
"peelSides",
[ ParenPat(ParameterPat("banana", "Banana")) ],
InfixAppExpr(
"banana.Sides",
"|>",
MatchLambdaExpr(
[ MatchClauseExpr("Unpeeled", "Peeled"); MatchClauseExpr("Peeled", "Peeled") ]
)
)
)
|> LetOrUseExpr
MatchExpr(
"b.Orientation",
[ MatchClauseExpr("Up", SameInfixAppsExpr("b", [ ("|>", "flip"); ("|>", "peelSides") ]))
MatchClauseExpr("Down", InfixAppExpr("b", "|>", "peelSides")) ]
)
|> OtherExpr ]
)
)
}
|> _.triviaBefore(Newline())
|> _.triviaBefore(SingleLine("Mutual References"))
|> _.triviaAfter(Newline())
|> _.triviaAfter(
BlockComment(
"""
Note that the exception DontSqueezeTheBananaException and the class Banana both refer to each other.
Additionally, the module BananaHelpers and the class Banana also refer to each other.
This wouldn't be possible to express in F# if you removed the rec keyword from the MutualReferences namespace.
"""
)
)
}
|> _.toRecursive()
|> _.triviaBefore(SingleLine("Recursive Namespace"))
|> _.triviaAfter(Newline())
}
|> Gen.mkOak
|> Gen.run
|> printfn "%s"
// produces the following code:
|
static member Ast.Oak: unit -> CollectionBuilder<Fantomas.Core.SyntaxOak.Oak,'marker>
--------------------
module Oak from Fabulous.AST
static member Ast.TypeDefn: name: string * constructor: WidgetBuilder<Fantomas.Core.SyntaxOak.ImplicitConstructorNode> -> CollectionBuilder<Fantomas.Core.SyntaxOak.TypeDefnRegularNode,Fantomas.Core.SyntaxOak.MemberDefn>
static member Ast.TypeDefn: name: string * constructor: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> -> CollectionBuilder<Fantomas.Core.SyntaxOak.TypeDefnRegularNode,Fantomas.Core.SyntaxOak.MemberDefn>
(+0 other overloads)
static member Ast.Member: name: string * body: string * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Member: name: string * body: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Member: name: string * body: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Member: name: string * body: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Member: name: string * body: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Member: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * body: string * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Member: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * body: string * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Member: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * body: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Member: name: string * body: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.String: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.String: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
static member Ast.String: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
--------------------
module String from Fabulous.AST
--------------------
module String from Microsoft.FSharp.Core
(+0 other overloads)
static member Ast.Value: name: string * value: string * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Value: name: string * value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Value: name: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Value: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Newline: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.TriviaContent>
--------------------
module Newline from Fabulous.AST
(+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: string * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Function: name: string * parameters: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.Function: name: string * parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * bodyExpr: string * returnType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode>
(+0 other overloads)
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: string * pType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: string * pType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * pType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * pType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * pType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParameterPat: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * pType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
(+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * item: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * item: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.AppExpr: name: string * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.AppExpr: name: string * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.AppExpr: name: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * item: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.AppExpr: name: string * items: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.SingleExpr: leading: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SingleExpr: leading: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SingleExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.ExprSingleNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.CompExprBodyExpr: values: WidgetBuilder<Fantomas.Core.SyntaxOak.BindingNode> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.CompExprBodyExpr: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.CompExprBodyExpr: values: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.CompExprBodyExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.CompExprBodyExpr: values: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.CompExprBodyExpr: values: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.CompExprBodyExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.ComputationExpressionStatement> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.CompExprBodyExpr: values: WidgetBuilder<Fantomas.Core.SyntaxOak.ComputationExpressionStatement> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.Int: unit -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.ParenPat: pat: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParenPat: pat: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.ParenPat: pat: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
--------------------
module ParenPat from Fabulous.AST
static member Ast.ConstantPat: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern>
static member Ast.Constant: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>
--------------------
module Constant from Fabulous.AST
static member Ast.InfixAppExpr: lhs: string * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: string * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.InfixAppExpr: lhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * operator: string * rhs: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.ConstantExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.Union: name: string -> CollectionBuilder<Fantomas.Core.SyntaxOak.TypeDefnUnionNode,Fantomas.Core.SyntaxOak.UnionCaseNode>
--------------------
module Union from Fabulous.AST
static member Ast.UnionCase: name: string * fields: (string * WidgetBuilder<Fantomas.Core.SyntaxOak.Type>) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * fields: (string * string) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * field: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * field: WidgetBuilder<Fantomas.Core.SyntaxOak.FieldNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * fields: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * field: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * fields: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string * fields: WidgetBuilder<Fantomas.Core.SyntaxOak.FieldNode> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode>
static member Ast.UnionCase: name: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode>
--------------------
module UnionCase from Fabulous.AST
static member Ast.ExceptionDefn: value: string * parameters: (string * string) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
static member Ast.ExceptionDefn: value: string * parameters: (string * WidgetBuilder<Fantomas.Core.SyntaxOak.Type>) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
static member Ast.ExceptionDefn: value: string * parameter: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
static member Ast.ExceptionDefn: value: string * parameters: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
static member Ast.ExceptionDefn: value: string * parameter: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
static member Ast.ExceptionDefn: value: string * parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
static member Ast.ExceptionDefn: value: string * parameter: WidgetBuilder<Fantomas.Core.SyntaxOak.FieldNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
static member Ast.ExceptionDefn: value: string * parameters: WidgetBuilder<Fantomas.Core.SyntaxOak.FieldNode> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
static member Ast.ExceptionDefn: value: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
static member Ast.ExceptionDefn: value: WidgetBuilder<Fantomas.Core.SyntaxOak.UnionCaseNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.ExceptionDefnNode>
--------------------
module ExceptionDefn from Fabulous.AST
static member Ast.Field: name: string * fieldType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.FieldNode>
static member Ast.Field: name: string * fieldType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.FieldNode>
static member Ast.Field: fieldType: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.FieldNode>
static member Ast.Field: fieldType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> -> WidgetBuilder<Fantomas.Core.SyntaxOak.FieldNode>
--------------------
module Field from Fabulous.AST
static member Ast.Constructor: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.ImplicitConstructorNode>
static member Ast.Constructor: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> -> WidgetBuilder<Fantomas.Core.SyntaxOak.ImplicitConstructorNode>
static member Ast.Constructor: pattern: string * expr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnExplicitCtorNode>
static member Ast.Constructor: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * expr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnExplicitCtorNode>
static member Ast.Constructor: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnExplicitCtorNode>
static member Ast.Constructor: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnExplicitCtorNode>
static member Ast.Constructor: pattern: string * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnExplicitCtorNode>
static member Ast.Constructor: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnExplicitCtorNode>
static member Ast.Constructor: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnExplicitCtorNode>
static member Ast.LongIdent: value: string list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Type>
static member Ast.MemberVal: identifier: string * expr: string * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * ?hasGetter: bool * ?hasSetter: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnAutoPropertyNode>
static member Ast.MemberVal: identifier: string * expr: string * ?hasGetter: bool * ?hasSetter: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnAutoPropertyNode>
static member Ast.MemberVal: identifier: string * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: string * ?hasGetter: bool * ?hasSetter: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnAutoPropertyNode>
static member Ast.MemberVal: identifier: string * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * ?hasGetter: bool * ?hasSetter: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnAutoPropertyNode>
static member Ast.MemberVal: identifier: string * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * ?hasGetter: bool * ?hasSetter: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnAutoPropertyNode>
static member Ast.MemberVal: identifier: string * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: string * ?hasGetter: bool * ?hasSetter: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnAutoPropertyNode>
static member Ast.MemberVal: identifier: string * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * returnType: WidgetBuilder<Fantomas.Core.SyntaxOak.Type> * ?hasGetter: bool * ?hasSetter: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnAutoPropertyNode>
static member Ast.MemberVal: identifier: string * expr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * ?hasGetter: bool * ?hasSetter: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.MemberDefnAutoPropertyNode>
static member Ast.ListExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.ListExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.LineCommentAfterSourceCode: text: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.TriviaContent>
--------------------
module LineCommentAfterSourceCode from Fabulous.AST
static member Ast.MatchExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * clause: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * clause: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchExpr: value: string * clauses: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * clauses: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.MatchExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * clauses: WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode> list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Pattern> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * whenExpr: string * bodyExpr: string -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: string * whenExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.MatchClauseExpr: pattern: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * whenExpr: string * bodyExpr: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.MatchClauseNode>
(+0 other overloads)
static member Ast.LongIdentSetExpr: identifier: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.LongIdentSetExpr: identifier: string * value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SameInfixAppsExpr: leading: string * items: (string * WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SameInfixAppsExpr: leading: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * items: (string * string) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SameInfixAppsExpr: leading: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * items: (string * WidgetBuilder<Fantomas.Core.SyntaxOak.Constant>) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SameInfixAppsExpr: leading: string * items: (string * WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SameInfixAppsExpr: leading: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> * items: (string * WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.SameInfixAppsExpr: leading: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> * items: (string * WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>) list -> WidgetBuilder<Fantomas.Core.SyntaxOak.Expr>
static member Ast.OtherExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Constant> -> WidgetBuilder<Fantomas.Core.SyntaxOak.ComputationExpressionStatement>
static member Ast.OtherExpr: value: WidgetBuilder<Fantomas.Core.SyntaxOak.Expr> -> WidgetBuilder<Fantomas.Core.SyntaxOak.ComputationExpressionStatement>
static member Ast.BlockComment: comment: string * ?newlineBefore: bool * ?newlineAfter: bool -> WidgetBuilder<Fantomas.Core.SyntaxOak.TriviaContent>
--------------------
module BlockComment from Fabulous.AST
<summary> It takes the root of the widget tree and create the corresponding Fantomas node, and recursively creating all children nodes </summary>