[Home] Type Microsoft.FSharp.Quotations.Expr


Quoted expressions annotated with System.Type values.

Full Type Signature

type Expr =
  class
    static member AddressOf : Expr -> Expr
    static member AddressSet : Expr * Expr -> Expr
    static member Application : Expr * Expr -> Expr
    static member Applications : Expr * Expr list list -> Expr
    static member Call : Expr * MethodInfo * Expr list -> Expr
    static member Call : MethodInfo * Expr list -> Expr
    static member Cast : Expr -> Expr<'a>
    static member Coerce : Expr * Type -> Expr
    static member DefaultValue : Type -> Expr
    static member Deserialize : qualifyingType:Type * spliceTypes:Type list * spliceExprs:Expr list * byte [] -> Expr
    static member FieldGet : obj:Expr * FieldInfo -> Expr
    static member FieldGet : FieldInfo -> Expr
    static member FieldSet : obj:Expr * FieldInfo * value:Expr -> Expr
    static member FieldSet : FieldInfo * value:Expr -> Expr
    static member ForIntegerRangeLoop : Var * Expr * Expr * Expr -> Expr
    member GetFreeVars : unit -> seq<Var>
    static member GlobalVar : name:string -> Expr<'a>
    static member IfThenElse : Expr * Expr * Expr -> Expr
    static member Lambda : Var * Expr -> Expr
    static member Let : Var * Expr * Expr -> Expr
    static member LetRec : (Var * Expr) list * Expr -> Expr
    static member NewArray : Type * Expr list -> Expr
    static member NewDelegate : Type * Var list * Expr -> Expr
    static member NewObject : ConstructorInfo * Expr list -> Expr
    static member NewRecord : Type * Expr list -> Expr
    static member NewTuple : Expr list -> Expr
    static member NewUnionCase : UnionCaseInfo * Expr list -> Expr
    static member PropGet : property:PropertyInfo * ?indexerArgs:Expr list -> Expr
    static member PropGet : obj:Expr * property:PropertyInfo * ?indexerArgs:Expr list -> Expr
    static member PropSet : property:PropertyInfo * Expr * ?indexerArgs:Expr list -> Expr
    static member PropSet : obj:Expr * property:PropertyInfo * Expr * ?indexerArgs:Expr list -> Expr
    static member Quote : Expr -> Expr
    static member RegisterReflectedDefinitions : Assembly * string * byte [] -> unit
    static member Sequential : Expr * Expr -> Expr
    member Substitute : (Var -> Expr option) -> Expr
    static member TryFinally : Expr * Expr -> Expr
    static member TryGetReflectedDefinition : MethodBase -> Expr option
    static member TryWith : body:Expr * filterVar:Var * filterBody:Expr * catchVar:Var * catchBody:Expr -> Expr
    static member TupleGet : Expr * int -> Expr
    static member TypeTest : Expr * Type -> Expr
    static member UnionCaseTest : Expr * UnionCaseInfo -> Expr
    static member Value : 'a -> Expr
    static member Value : obj * Type -> Expr
    static member Var : Var -> Expr
    static member VarSet : Var * Expr -> Expr
    static member WhileLoop : Expr * Expr -> Expr
    member CustomAttributes : Expr list
    member Type : Type
  end

Instance Members

MemberDescription
member CustomAttributes : Expr list
Returns the custom attributes of an expression
override Equals : obj -> bool
member GetFreeVars : unit -> seq<Var>
Get the free expression variables of an expression as a list
member Substitute : (Var -> Expr option) -> Expr
Substitute through the given expression using the given functions to map variables to new values. The functions must give consistent results at each application. Variable renaming may occur on the target expression if variable capture occurs.
member Type : Type
Returns type of an expression

Static Members

MemberDescription
member AddressOf : Expr -> Expr
Build an expression that represents getting the address of a value
member AddressSet : Expr * Expr -> Expr
Build an expression that represents setting the value held at a particular address
member Application : Expr * Expr -> Expr
Build an expression that represents the application of a first class funciton value to a single argument
member Applications : Expr * Expr list list -> Expr
Build an expression that represents the application of a first class funciton value to multiple arguments
member Call : Expr * MethodInfo * Expr list -> Expr
Build an expression that represents a call to an instance method associated with an object
member Call : MethodInfo * Expr list -> Expr
Build an expression that represents a call to an static method or module-bound function
member Cast : Expr -> Expr<'a>
Return a new typed expression given an underlying runtime-typed expression. A type annotation is usually required to use this function, and using an incorrect type annotation may result in a later runtime exception.
member Coerce : Expr * Type -> Expr
Build an expression that represents the coercion of an expression to a type
member DefaultValue : Type -> Expr
Build an expression that represents the invocation of a default object constructor
member
  Deserialize : qualifyingType:Type * spliceTypes:Type list *
                spliceExprs:Expr list * byte [] -> Expr
This function is called automatically when quotation syntax (<@ @>) and related typed-expression quotations are used. The bytes are a pickled binary representation of an unlinked form of the qutoed expression, and the System.Type argument is any type in the assembly where the quoted expression occurs, i.e. it helps scope the interpretation of the cross-assembly references in the bytes.
member FieldGet : obj:Expr * FieldInfo -> Expr
Build an expression that represents the access of a field of an object
member FieldGet : FieldInfo -> Expr
Build an expression that represents the access of a static field
member FieldSet : obj:Expr * FieldInfo * value:Expr -> Expr
Build an expression that represents writing to a field of an object
member FieldSet : FieldInfo * value:Expr -> Expr
Build an expression that represents writing to a static field
member ForIntegerRangeLoop : Var * Expr * Expr * Expr -> Expr
member GlobalVar : name:string -> Expr<'a>
Fetch or create a new variable with the given name and type from a global pool of shared variables indexed by name and type. The type is given by the expicit or inferred type parameter
member IfThenElse : Expr * Expr * Expr -> Expr
Build 'if ... then ... else' expressions
member Lambda : Var * Expr -> Expr
Build an expression that represents the constrution of an F# function value
member Let : Var * Expr * Expr -> Expr
Build expressions associated with 'let' constructs
member LetRec : (Var * Expr) list * Expr -> Expr
Build recursives expressions associated with 'let rec' constructs
member NewArray : Type * Expr list -> Expr
Build an expression that represents the creation of an array value initialized with the given elements
member NewDelegate : Type * Var list * Expr -> Expr
Build an expression that represents the creation of a delegate value for the given type
member NewObject : ConstructorInfo * Expr list -> Expr
Build an expression that represents the invocation of an object constructor
member NewRecord : Type * Expr list -> Expr
Build record-construction expressions
member NewTuple : Expr list -> Expr
Build an expression that represents the creation of an F# tuple value
member NewUnionCase : UnionCaseInfo * Expr list -> Expr
Build an expression that represents the creation of a union case value
member PropGet : property:PropertyInfo * ?indexerArgs:Expr list -> Expr
Build an expression that represents reading a static property
member
  PropGet : obj:Expr * property:PropertyInfo * ?indexerArgs:Expr list -> Expr
Build an expression that represents reading a property of an object
member PropSet : property:PropertyInfo * Expr * ?indexerArgs:Expr list -> Expr
Build an expression that represents writing to a static property
member
  PropSet : obj:Expr * property:PropertyInfo * Expr * ?indexerArgs:Expr list ->
            Expr
Build an expression that represents writing to a property of an object
member Quote : Expr -> Expr
Build an expression that represents a nested quotation literal
member RegisterReflectedDefinitions : Assembly * string * byte [] -> unit
Permit interactive environments such as F# Interactive to explicitly register new pickled resources that represent persisted top level definitions. The string indicates a unique name for the resources being added.
member Sequential : Expr * Expr -> Expr
Build an expression that represents the sequential execution of one expression followed by another
member TryFinally : Expr * Expr -> Expr
Build an expression that represents a try/finally construct
member TryGetReflectedDefinition : MethodBase -> Expr option
member
  TryWith : body:Expr * filterVar:Var * filterBody:Expr * catchVar:Var *
            catchBody:Expr -> Expr
Build an expression that represents a try/with construct for exception filtering and catching
member TupleGet : Expr * int -> Expr
Build an expression that represents getting a field of a tuple
member TypeTest : Expr * Type -> Expr
Build an expression that represents a type test
member UnionCaseTest : Expr * UnionCaseInfo -> Expr
Build an expression that represents a test of a value is of a particular union case
member Value : 'a -> Expr
Build an expression that represents a constant value
member Value : obj * Type -> Expr
Build an expression that represents a constant value of a particular type
member Var : Var -> Expr
Build an expression that represents a variable
member VarSet : Var * Expr -> Expr
Build an expression that represents setting a mutable variable
member WhileLoop : Expr * Expr -> Expr
Build an expression that represents a while loop

See Also

Microsoft.FSharp.Quotations


Documentation for assembly FSharp.Core, version 1.9.6.0, generated using F# Programming Language version 1.9.6.0