Module Concrete.Expression

See TaglessFinal.Expression.

type t = private
| BoolOp of {
location : Location.t;
op : BooleanOperator.t;
values : t list;
}
| NamedExpr of {
location : Location.t;
target : t;
value : t;
}
| BinOp of {
location : Location.t;
left : t;
op : BinaryOperator.t;
right : t;
}
| UnaryOp of {
location : Location.t;
op : UnaryOperator.t;
operand : t;
}
| Lambda of {
location : Location.t;
args : Arguments.t;
body : t;
}
| IfExp of {
location : Location.t;
test : t;
body : t;
orelse : t;
}
| Dict of {
location : Location.t;
keys : t option list;
values : t list;
}
| Set of {
location : Location.t;
elts : t list;
}
| ListComp of {
location : Location.t;
elt : t;
generators : Comprehension.t list;
}
| SetComp of {
location : Location.t;
elt : t;
generators : Comprehension.t list;
}
| DictComp of {
location : Location.t;
key : t;
value : t;
generators : Comprehension.t list;
}
| GeneratorExp of {
location : Location.t;
elt : t;
generators : Comprehension.t list;
}
| Await of {
location : Location.t;
value : t;
}
| Yield of {
location : Location.t;
value : t option;
}
| YieldFrom of {
location : Location.t;
value : t;
}
| Compare of {
location : Location.t;
left : t;
ops : ComparisonOperator.t list;
comparators : t list;
}
| Call of {
location : Location.t;
func : t;
args : t list;
keywords : Keyword.t list;
}
| FormattedValue of {
location : Location.t;
value : t;
conversion : int;
format_spec : t option;
}
| JoinedStr of {
location : Location.t;
values : t list;
}
| Constant of {
location : Location.t;
value : Constant.t;
kind : string option;
}
| Attribute of {
location : Location.t;
value : t;
attr : Identifier.t;
ctx : ExpressionContext.t;
}
| Subscript of {
location : Location.t;
value : t;
slice : t;
ctx : ExpressionContext.t;
}
| Starred of {
location : Location.t;
value : t;
ctx : ExpressionContext.t;
}
| Name of {
location : Location.t;
id : Identifier.t;
ctx : ExpressionContext.t;
}
| List of {
location : Location.t;
elts : t list;
ctx : ExpressionContext.t;
}
| Tuple of {
location : Location.t;
elts : t list;
ctx : ExpressionContext.t;
}
| Slice of {
location : Location.t;
lower : t option;
upper : t option;
step : t option;
}
include Ppx_sexp_conv_lib.Sexpable.S with type Expression.t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
val compare : t -> t -> int
val hash_fold_t : Ppx_hash_lib.Std.Hash.state -> t -> Ppx_hash_lib.Std.Hash.state
val hash : t -> Ppx_hash_lib.Std.Hash.hash_value
val make_boolop_of_t : location:Location.t -> op:BooleanOperator.t -> ?⁠values:t list -> unit -> t
val make_namedexpr_of_t : location:Location.t -> target:t -> value:t -> unit -> t
val make_binop_of_t : location:Location.t -> left:t -> op:BinaryOperator.t -> right:t -> unit -> t
val make_unaryop_of_t : location:Location.t -> op:UnaryOperator.t -> operand:t -> unit -> t
val make_lambda_of_t : location:Location.t -> args:Arguments.t -> body:t -> unit -> t
val make_ifexp_of_t : location:Location.t -> test:t -> body:t -> orelse:t -> unit -> t
val make_dict_of_t : location:Location.t -> ?⁠keys:t option list -> ?⁠values:t list -> unit -> t
val make_set_of_t : location:Location.t -> ?⁠elts:t list -> unit -> t
val make_listcomp_of_t : location:Location.t -> elt:t -> ?⁠generators:Comprehension.t list -> unit -> t
val make_setcomp_of_t : location:Location.t -> elt:t -> ?⁠generators:Comprehension.t list -> unit -> t
val make_dictcomp_of_t : location:Location.t -> key:t -> value:t -> ?⁠generators:Comprehension.t list -> unit -> t
val make_generatorexp_of_t : location:Location.t -> elt:t -> ?⁠generators:Comprehension.t list -> unit -> t
val make_await_of_t : location:Location.t -> value:t -> unit -> t
val make_yield_of_t : location:Location.t -> ?⁠value:t -> unit -> t
val make_yieldfrom_of_t : location:Location.t -> value:t -> unit -> t
val make_compare_of_t : location:Location.t -> left:t -> ?⁠ops:ComparisonOperator.t list -> ?⁠comparators:t list -> unit -> t
val make_call_of_t : location:Location.t -> func:t -> ?⁠args:t list -> ?⁠keywords:Keyword.t list -> unit -> t
val make_formattedvalue_of_t : location:Location.t -> value:t -> conversion:int -> ?⁠format_spec:t -> unit -> t
val make_joinedstr_of_t : location:Location.t -> ?⁠values:t list -> unit -> t
val make_constant_of_t : location:Location.t -> value:Constant.t -> ?⁠kind:string -> unit -> t
val make_attribute_of_t : location:Location.t -> value:t -> attr:Identifier.t -> ctx:ExpressionContext.t -> unit -> t
val make_subscript_of_t : location:Location.t -> value:t -> slice:t -> ctx:ExpressionContext.t -> unit -> t
val make_starred_of_t : location:Location.t -> value:t -> ctx:ExpressionContext.t -> unit -> t
val make_name_of_t : location:Location.t -> id:Identifier.t -> ctx:ExpressionContext.t -> unit -> t
val make_list_of_t : location:Location.t -> ?⁠elts:t list -> ctx:ExpressionContext.t -> unit -> t
val make_tuple_of_t : location:Location.t -> ?⁠elts:t list -> ctx:ExpressionContext.t -> unit -> t
val make_slice_of_t : location:Location.t -> ?⁠lower:t -> ?⁠upper:t -> ?⁠step:t -> unit -> t