Quotations.Patterns Module (F#)
Contains a set of primitive F# active patterns to analyze F# expression objects.
Namespace/Module Path: Microsoft.FSharp.Quotations
Assembly: FSharp.Core (in FSharp.Core.dll)
module Patterns
|
Active Pattern |
Description |
|---|---|
|
AddressOf : Expr -> Expr option |
Recognizes expressions that represent getting the address of a value. |
|
AddressSet : Expr -> (Expr * Expr) option |
Recognizes expressions that represent setting the value held at an address . |
|
Application : Expr -> (Expr * Expr) option |
Recognizes expressions that represent applications of first class function values. |
|
Call : Expr -> (Expr option * MethodInfo * Expr list) option |
Recognizes expressions that represent calls to static and instance methods, and functions defined in modules. |
|
Coerce : Expr -> (Expr * Type) option |
Recognizes expressions that represent coercions from one type to another. |
|
DefaultValue : Expr -> Type option |
Recognizes expressions that represent invocations of a default constructor of a structure. |
|
FieldGet : Expr -> (Expr option * FieldInfo) |
Recognizes expressions that represent getting a static or instance field. |
|
FieldSet : Expr -> (Expr option * FieldInfo * Expr) option |
Recognizes expressions that represent setting a static or instance field. |
|
ForIntegerRangeLoop : Expr -> (Var * Expr * Expr * Expr) option |
Recognizes expressions that represent loops over integer ranges. |
|
IfThenElse : Expr -> (Expr * Expr * Expr) option |
Recognizes expressions that represent conditionals. |
|
Lambda : Expr -> (Var * Expr) option |
Recognizes expressions that represent first class function values. |
|
LetRecursive : Expr -> ((Var * Expr) list * Expr) option |
Recognizes expressions that represent recursive let bindings of one or more variables. |
|
Let : Expr -> (Var * Expr * Expr) option |
Recognizes expressions that represent let bindings. |
|
NewArray : Expr -> (Type * Expr list) option |
Recognizes expressions that represent the construction of arrays. |
|
NewDelegate : Expr -> (Type * Var list * Expr) option |
Recognizes expressions that represent construction of delegate values. |
|
NewObject : Expr -> (ConstructorInfo * Expr list) option |
Recognizes expressions that represent invocation of object constructors. |
|
NewRecord : Expr -> (Type * Expr list) option |
Recognizes expressions that represent construction of record values. |
|
NewTuple : Expr -> (Expr list) option |
Recognizes expressions that represent construction of tuple values. |
|
NewUnionCase : Expr -> (UnionCaseInfo * Expr list) option |
Recognizes expressions that represent construction of particular union case values. |
|
PropertyGet : Expr -> (Expr option * PropertyInfo * Expr list) option |
Recognizes expressions that represent the read of a static or instance property, or a non-function value declared in a module. |
|
PropertySet : Expr -> (Expr option * PropertyInfo * Expr list * Expr) option |
Recognizes expressions that represent setting a static or instance property, or a non-function value declared in a module. |
|
Quote : Expr -> Expr option |
Recognizes expressions that represent a nested quotation literal. |
|
Sequential : Expr -> (Expr * Expr) option |
Recognizes expressions that represent sequential execution of one expression followed by another. |
|
TryFinally : Expr -> (Expr * Expr) option |
Recognizes expressions that represent a try...finally construct. |
|
TryWith : Expr -> (Expr * Var * Expr * Var * Expr) option |
Recognizes expressions that represent a try...with construct for exception filtering and catching. |
|
TupleGet : Expr -> (Expr * int) option |
Recognizes expressions that represent getting a tuple field. |
|
TypeTest : Expr -> (Expr * Type) option |
Recognizes expressions that represent a dynamic type test. |
|
UnionCaseTest : Expr -> (Expr * UnionCaseInfo) option |
Recognizes expressions that represent a test if a value is of a particular union case. |
|
Value : Expr -> (obj * Type) option |
Recognizes expressions that represent a constant value. |
|
VarSet : Expr -> (Var * Expr) option |
Recognizes expressions that represent setting a mutable variable. |
|
Var : Expr -> Var option |
Recognizes expressions that represent a variable. |
|
WhileLoop : Expr -> (Expr * Expr) option |
Recognizes expressions that represent while loops. |