| 
| static BinaryExpression  | Assign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | MakeBinary (ExpressionType binaryType, Expression left, Expression right) | 
|   | 
| static BinaryExpression  | MakeBinary (ExpressionType binaryType, Expression left, Expression right, bool liftToNull, MethodInfo? method) | 
|   | 
| static BinaryExpression  | MakeBinary (ExpressionType binaryType, Expression left, Expression right, bool liftToNull, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | Equal (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | Equal (Expression left, Expression right, bool liftToNull, MethodInfo? method) | 
|   | 
| static BinaryExpression  | ReferenceEqual (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | NotEqual (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | NotEqual (Expression left, Expression right, bool liftToNull, MethodInfo? method) | 
|   | 
| static BinaryExpression  | ReferenceNotEqual (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | GreaterThan (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | GreaterThan (Expression left, Expression right, bool liftToNull, MethodInfo? method) | 
|   | 
| static BinaryExpression  | LessThan (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | LessThan (Expression left, Expression right, bool liftToNull, MethodInfo? method) | 
|   | 
| static BinaryExpression  | GreaterThanOrEqual (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | GreaterThanOrEqual (Expression left, Expression right, bool liftToNull, MethodInfo? method) | 
|   | 
| static BinaryExpression  | LessThanOrEqual (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | LessThanOrEqual (Expression left, Expression right, bool liftToNull, MethodInfo? method) | 
|   | 
| static BinaryExpression  | AndAlso (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | AndAlso (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | OrElse (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | OrElse (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | Coalesce (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | Coalesce (Expression left, Expression right, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | Add (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | Add (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | AddAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | AddAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | AddAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | AddAssignChecked (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | AddAssignChecked (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | AddAssignChecked (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | AddChecked (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | AddChecked (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | Subtract (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | Subtract (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | SubtractAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | SubtractAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | SubtractAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | SubtractAssignChecked (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | SubtractAssignChecked (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | SubtractAssignChecked (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | SubtractChecked (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | SubtractChecked (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | Divide (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | Divide (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | DivideAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | DivideAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | DivideAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | Modulo (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | Modulo (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | ModuloAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | ModuloAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | ModuloAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | Multiply (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | Multiply (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | MultiplyAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | MultiplyAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | MultiplyAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | MultiplyAssignChecked (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | MultiplyAssignChecked (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | MultiplyAssignChecked (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | MultiplyChecked (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | MultiplyChecked (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | LeftShift (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | LeftShift (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | LeftShiftAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | LeftShiftAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | LeftShiftAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | RightShift (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | RightShift (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | RightShiftAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | RightShiftAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | RightShiftAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | And (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | And (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | AndAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | AndAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | AndAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | Or (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | Or (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | OrAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | OrAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | OrAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | ExclusiveOr (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | ExclusiveOr (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | ExclusiveOrAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | ExclusiveOrAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | ExclusiveOrAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | Power (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | Power (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | PowerAssign (Expression left, Expression right) | 
|   | 
| static BinaryExpression  | PowerAssign (Expression left, Expression right, MethodInfo? method) | 
|   | 
| static BinaryExpression  | PowerAssign (Expression left, Expression right, MethodInfo? method, LambdaExpression? conversion) | 
|   | 
| static BinaryExpression  | ArrayIndex (Expression array, Expression index) | 
|   | 
| static MethodCallExpression  | ArrayIndex (Expression array, params Expression[] indexes) | 
|   | 
| static MethodCallExpression  | ArrayIndex (Expression array, IEnumerable< Expression > indexes) | 
|   | 
| static BlockExpression  | Block (Expression arg0, Expression arg1) | 
|   | 
| static BlockExpression  | Block (Expression arg0, Expression arg1, Expression arg2) | 
|   | 
| static BlockExpression  | Block (Expression arg0, Expression arg1, Expression arg2, Expression arg3) | 
|   | 
| static BlockExpression  | Block (Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4) | 
|   | 
| static BlockExpression  | Block (params Expression[] expressions) | 
|   | 
| static BlockExpression  | Block (IEnumerable< Expression > expressions) | 
|   | 
| static BlockExpression  | Block (Type type, params Expression[] expressions) | 
|   | 
| static BlockExpression  | Block (Type type, IEnumerable< Expression > expressions) | 
|   | 
| static BlockExpression  | Block (IEnumerable< ParameterExpression >? variables, params Expression[] expressions) | 
|   | 
| static BlockExpression  | Block (Type type, IEnumerable< ParameterExpression >? variables, params Expression[] expressions) | 
|   | 
| static BlockExpression  | Block (IEnumerable< ParameterExpression >? variables, IEnumerable< Expression > expressions) | 
|   | 
| static BlockExpression  | Block (Type type, IEnumerable< ParameterExpression >? variables, IEnumerable< Expression > expressions) | 
|   | 
| static CatchBlock  | Catch (Type type, Expression body) | 
|   | 
| static CatchBlock  | Catch (ParameterExpression variable, Expression body) | 
|   | 
| static CatchBlock  | Catch (Type type, Expression body, Expression? filter) | 
|   | 
| static CatchBlock  | Catch (ParameterExpression variable, Expression body, Expression? filter) | 
|   | 
| static CatchBlock  | MakeCatchBlock (Type type, ParameterExpression? variable, Expression body, Expression? filter) | 
|   | 
| static ConditionalExpression  | Condition (Expression test, Expression ifTrue, Expression ifFalse) | 
|   | 
| static ConditionalExpression  | Condition (Expression test, Expression ifTrue, Expression ifFalse, Type type) | 
|   | 
| static ConditionalExpression  | IfThen (Expression test, Expression ifTrue) | 
|   | 
| static ConditionalExpression  | IfThenElse (Expression test, Expression ifTrue, Expression ifFalse) | 
|   | 
| static ConstantExpression  | Constant (object? value) | 
|   | 
| static ConstantExpression  | Constant (object? value, Type type) | 
|   | 
| static DebugInfoExpression  | DebugInfo (SymbolDocumentInfo document, int startLine, int startColumn, int endLine, int endColumn) | 
|   | 
| static DebugInfoExpression  | ClearDebugInfo (SymbolDocumentInfo document) | 
|   | 
| static DefaultExpression  | Empty () | 
|   | 
| static DefaultExpression  | Default (Type type) | 
|   | 
| static ElementInit  | ElementInit (MethodInfo addMethod, params Expression[] arguments) | 
|   | 
| static ElementInit  | ElementInit (MethodInfo addMethod, IEnumerable< Expression > arguments) | 
|   | 
| static DynamicExpression  | Dynamic (CallSiteBinder binder, Type returnType, IEnumerable< Expression > arguments) | 
|   | 
| static DynamicExpression  | Dynamic (CallSiteBinder binder, Type returnType, Expression arg0) | 
|   | 
| static DynamicExpression  | Dynamic (CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1) | 
|   | 
| static DynamicExpression  | Dynamic (CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2) | 
|   | 
| static DynamicExpression  | Dynamic (CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2, Expression arg3) | 
|   | 
| static DynamicExpression  | Dynamic (CallSiteBinder binder, Type returnType, params Expression[] arguments) | 
|   | 
| static DynamicExpression  | MakeDynamic (Type delegateType, CallSiteBinder binder, IEnumerable< Expression >? arguments) | 
|   | 
| static DynamicExpression  | MakeDynamic (Type delegateType, CallSiteBinder binder, Expression arg0) | 
|   | 
| static DynamicExpression  | MakeDynamic (Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1) | 
|   | 
| static DynamicExpression  | MakeDynamic (Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2) | 
|   | 
| static DynamicExpression  | MakeDynamic (Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2, Expression arg3) | 
|   | 
| static DynamicExpression  | MakeDynamic (Type delegateType, CallSiteBinder binder, params Expression[]? arguments) | 
|   | 
| static GotoExpression  | Break (LabelTarget target) | 
|   | 
| static GotoExpression  | Break (LabelTarget target, Expression? value) | 
|   | 
| static GotoExpression  | Break (LabelTarget target, Type type) | 
|   | 
| static GotoExpression  | Break (LabelTarget target, Expression? value, Type type) | 
|   | 
| static GotoExpression  | Continue (LabelTarget target) | 
|   | 
| static GotoExpression  | Continue (LabelTarget target, Type type) | 
|   | 
| static GotoExpression  | Return (LabelTarget target) | 
|   | 
| static GotoExpression  | Return (LabelTarget target, Type type) | 
|   | 
| static GotoExpression  | Return (LabelTarget target, Expression? value) | 
|   | 
| static GotoExpression  | Return (LabelTarget target, Expression? value, Type type) | 
|   | 
| static GotoExpression  | Goto (LabelTarget target) | 
|   | 
| static GotoExpression  | Goto (LabelTarget target, Type type) | 
|   | 
| static GotoExpression  | Goto (LabelTarget target, Expression? value) | 
|   | 
| static GotoExpression  | Goto (LabelTarget target, Expression? value, Type type) | 
|   | 
| static GotoExpression  | MakeGoto (GotoExpressionKind kind, LabelTarget target, Expression? value, Type type) | 
|   | 
| static IndexExpression  | MakeIndex (Expression instance, PropertyInfo? indexer, IEnumerable< Expression >? arguments) | 
|   | 
| static IndexExpression  | ArrayAccess (Expression array, params Expression[]? indexes) | 
|   | 
| static IndexExpression  | ArrayAccess (Expression array, IEnumerable< Expression >? indexes) | 
|   | 
| static IndexExpression  | Property (Expression instance, string propertyName, params Expression[]? arguments) | 
|   | 
| static IndexExpression  | Property (Expression? instance, PropertyInfo indexer, params Expression[]? arguments) | 
|   | 
| static IndexExpression  | Property (Expression? instance, PropertyInfo indexer, IEnumerable< Expression >? arguments) | 
|   | 
| static MemberExpression  | Property (Expression expression, string propertyName) | 
|   | 
| static MemberExpression  | Property (Expression? expression, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties|DynamicallyAccessedMemberTypes.NonPublicProperties)] Type type, string propertyName) | 
|   | 
| static MemberExpression  | Property (Expression? expression, PropertyInfo property) | 
|   | 
| static MemberExpression  | Property (Expression? expression, MethodInfo propertyAccessor) | 
|   | 
| static InvocationExpression  | Invoke (Expression expression, params Expression[]? arguments) | 
|   | 
| static InvocationExpression  | Invoke (Expression expression, IEnumerable< Expression >? arguments) | 
|   | 
| static LabelExpression  | Label (LabelTarget target) | 
|   | 
| static LabelExpression  | Label (LabelTarget target, Expression? defaultValue) | 
|   | 
| static LabelTarget  | Label () | 
|   | 
| static LabelTarget  | Label (string? name) | 
|   | 
| static LabelTarget  | Label (Type type) | 
|   | 
| static LabelTarget  | Label (Type type, string? name) | 
|   | 
| static Expression< TDelegate >  | Lambda< TDelegate > (Expression body, params ParameterExpression[]? parameters) | 
|   | 
| static Expression< TDelegate >  | Lambda< TDelegate > (Expression body, bool tailCall, params ParameterExpression[]? parameters) | 
|   | 
| static Expression< TDelegate >  | Lambda< TDelegate > (Expression body, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static Expression< TDelegate >  | Lambda< TDelegate > (Expression body, bool tailCall, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static Expression< TDelegate >  | Lambda< TDelegate > (Expression body, string? name, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static Expression< TDelegate >  | Lambda< TDelegate > (Expression body, string? name, bool tailCall, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Expression body, params ParameterExpression[]? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Expression body, bool tailCall, params ParameterExpression[]? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Expression body, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Expression body, bool tailCall, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Type delegateType, Expression body, params ParameterExpression[]? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Type delegateType, Expression body, bool tailCall, params ParameterExpression[]? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Type delegateType, Expression body, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Type delegateType, Expression body, bool tailCall, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Expression body, string? name, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Expression body, string? name, bool tailCall, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Type delegateType, Expression body, string? name, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static LambdaExpression  | Lambda (Type delegateType, Expression body, string? name, bool tailCall, IEnumerable< ParameterExpression >? parameters) | 
|   | 
| static Type  | GetFuncType (params Type[]? typeArgs) | 
|   | 
| static bool  | TryGetFuncType (Type[] typeArgs, [NotNullWhen(true)] out Type? funcType) | 
|   | 
| static Type  | GetActionType (params Type[]? typeArgs) | 
|   | 
| static bool  | TryGetActionType (Type[] typeArgs, [NotNullWhen(true)] out Type? actionType) | 
|   | 
| static Type  | GetDelegateType (params Type[] typeArgs) | 
|   | 
| static ListInitExpression  | ListInit (NewExpression newExpression, params Expression[] initializers) | 
|   | 
| static ListInitExpression  | ListInit (NewExpression newExpression, IEnumerable< Expression > initializers) | 
|   | 
| static ListInitExpression  | ListInit (NewExpression newExpression, MethodInfo? addMethod, params Expression[] initializers) | 
|   | 
| static ListInitExpression  | ListInit (NewExpression newExpression, MethodInfo? addMethod, IEnumerable< Expression > initializers) | 
|   | 
| static ListInitExpression  | ListInit (NewExpression newExpression, params ElementInit[] initializers) | 
|   | 
| static ListInitExpression  | ListInit (NewExpression newExpression, IEnumerable< ElementInit > initializers) | 
|   | 
| static LoopExpression  | Loop (Expression body) | 
|   | 
| static LoopExpression  | Loop (Expression body, LabelTarget? @break) | 
|   | 
| static LoopExpression  | Loop (Expression body, LabelTarget? @break, LabelTarget? @continue) | 
|   | 
| static MemberAssignment  | Bind (MemberInfo member, Expression expression) | 
|   | 
| static MemberAssignment  | Bind (MethodInfo propertyAccessor, Expression expression) | 
|   | 
| static MemberExpression  | Field (Expression? expression, FieldInfo field) | 
|   | 
| static MemberExpression  | Field (Expression expression, string fieldName) | 
|   | 
| static MemberExpression  | Field (Expression? expression, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.NonPublicFields)] Type type, string fieldName) | 
|   | 
| static MemberExpression  | PropertyOrField (Expression expression, string propertyOrFieldName) | 
|   | 
| static MemberExpression  | MakeMemberAccess (Expression? expression, MemberInfo member) | 
|   | 
| static MemberInitExpression  | MemberInit (NewExpression newExpression, params MemberBinding[] bindings) | 
|   | 
| static MemberInitExpression  | MemberInit (NewExpression newExpression, IEnumerable< MemberBinding > bindings) | 
|   | 
| static MemberListBinding  | ListBind (MemberInfo member, params ElementInit[] initializers) | 
|   | 
| static MemberListBinding  | ListBind (MemberInfo member, IEnumerable< ElementInit > initializers) | 
|   | 
| static MemberListBinding  | ListBind (MethodInfo propertyAccessor, params ElementInit[] initializers) | 
|   | 
| static MemberListBinding  | ListBind (MethodInfo propertyAccessor, IEnumerable< ElementInit > initializers) | 
|   | 
| static MemberMemberBinding  | MemberBind (MemberInfo member, params MemberBinding[] bindings) | 
|   | 
| static MemberMemberBinding  | MemberBind (MemberInfo member, IEnumerable< MemberBinding > bindings) | 
|   | 
| static MemberMemberBinding  | MemberBind (MethodInfo propertyAccessor, params MemberBinding[] bindings) | 
|   | 
| static MemberMemberBinding  | MemberBind (MethodInfo propertyAccessor, IEnumerable< MemberBinding > bindings) | 
|   | 
| static MethodCallExpression  | Call (MethodInfo method, Expression arg0) | 
|   | 
| static MethodCallExpression  | Call (MethodInfo method, Expression arg0, Expression arg1) | 
|   | 
| static MethodCallExpression  | Call (MethodInfo method, Expression arg0, Expression arg1, Expression arg2) | 
|   | 
| static MethodCallExpression  | Call (MethodInfo method, Expression arg0, Expression arg1, Expression arg2, Expression arg3) | 
|   | 
| static MethodCallExpression  | Call (MethodInfo method, Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4) | 
|   | 
| static MethodCallExpression  | Call (MethodInfo method, params Expression[]? arguments) | 
|   | 
| static MethodCallExpression  | Call (MethodInfo method, IEnumerable< Expression >? arguments) | 
|   | 
| static MethodCallExpression  | Call (Expression? instance, MethodInfo method) | 
|   | 
| static MethodCallExpression  | Call (Expression? instance, MethodInfo method, params Expression[]? arguments) | 
|   | 
| static MethodCallExpression  | Call (Expression? instance, MethodInfo method, Expression arg0, Expression arg1) | 
|   | 
| static MethodCallExpression  | Call (Expression? instance, MethodInfo method, Expression arg0, Expression arg1, Expression arg2) | 
|   | 
| static MethodCallExpression  | Call (Expression instance, string methodName, Type[]? typeArguments, params Expression[]? arguments) | 
|   | 
| static MethodCallExpression  | Call ([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.NonPublicMethods)] Type type, string methodName, Type[]? typeArguments, params Expression[]? arguments) | 
|   | 
| static MethodCallExpression  | Call (Expression? instance, MethodInfo method, IEnumerable< Expression >? arguments) | 
|   | 
| static NewArrayExpression  | NewArrayInit (Type type, params Expression[] initializers) | 
|   | 
| static NewArrayExpression  | NewArrayInit (Type type, IEnumerable< Expression > initializers) | 
|   | 
| static NewArrayExpression  | NewArrayBounds (Type type, params Expression[] bounds) | 
|   | 
| static NewArrayExpression  | NewArrayBounds (Type type, IEnumerable< Expression > bounds) | 
|   | 
| static NewExpression  | New (ConstructorInfo constructor) | 
|   | 
| static NewExpression  | New (ConstructorInfo constructor, params Expression[]? arguments) | 
|   | 
| static NewExpression  | New (ConstructorInfo constructor, IEnumerable< Expression >? arguments) | 
|   | 
| static NewExpression  | New (ConstructorInfo constructor, IEnumerable< Expression >? arguments, IEnumerable< MemberInfo >? members) | 
|   | 
| static NewExpression  | New (ConstructorInfo constructor, IEnumerable< Expression >? arguments, params MemberInfo[]? members) | 
|   | 
| static NewExpression  | New ([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type type) | 
|   | 
| static ParameterExpression  | Parameter (Type type) | 
|   | 
| static ParameterExpression  | Parameter (Type type, string? name) | 
|   | 
| static ParameterExpression  | Variable (Type type) | 
|   | 
| static ParameterExpression  | Variable (Type type, string? name) | 
|   | 
| static RuntimeVariablesExpression  | RuntimeVariables (params ParameterExpression[] variables) | 
|   | 
| static RuntimeVariablesExpression  | RuntimeVariables (IEnumerable< ParameterExpression > variables) | 
|   | 
| static SwitchCase  | SwitchCase (Expression body, params Expression[] testValues) | 
|   | 
| static SwitchCase  | SwitchCase (Expression body, IEnumerable< Expression > testValues) | 
|   | 
| static SwitchExpression  | Switch (Expression switchValue, params SwitchCase[]? cases) | 
|   | 
| static SwitchExpression  | Switch (Expression switchValue, Expression? defaultBody, params SwitchCase[]? cases) | 
|   | 
| static SwitchExpression  | Switch (Expression switchValue, Expression? defaultBody, MethodInfo? comparison, params SwitchCase[]? cases) | 
|   | 
| static SwitchExpression  | Switch (Type? type, Expression switchValue, Expression? defaultBody, MethodInfo? comparison, params SwitchCase[]? cases) | 
|   | 
| static SwitchExpression  | Switch (Expression switchValue, Expression? defaultBody, MethodInfo? comparison, IEnumerable< SwitchCase >? cases) | 
|   | 
| static SwitchExpression  | Switch (Type? type, Expression switchValue, Expression? defaultBody, MethodInfo? comparison, IEnumerable< SwitchCase >? cases) | 
|   | 
| static SymbolDocumentInfo  | SymbolDocument (string fileName) | 
|   | 
| static SymbolDocumentInfo  | SymbolDocument (string fileName, Guid language) | 
|   | 
| static SymbolDocumentInfo  | SymbolDocument (string fileName, Guid language, Guid languageVendor) | 
|   | 
| static SymbolDocumentInfo  | SymbolDocument (string fileName, Guid language, Guid languageVendor, Guid documentType) | 
|   | 
| static TryExpression  | TryFault (Expression body, Expression? fault) | 
|   | 
| static TryExpression  | TryFinally (Expression body, Expression? @finally) | 
|   | 
| static TryExpression  | TryCatch (Expression body, params CatchBlock[]? handlers) | 
|   | 
| static TryExpression  | TryCatchFinally (Expression body, Expression? @finally, params CatchBlock[]? handlers) | 
|   | 
| static TryExpression  | MakeTry (Type? type, Expression body, Expression? @finally, Expression? fault, IEnumerable< CatchBlock >? handlers) | 
|   | 
| static TypeBinaryExpression  | TypeIs (Expression expression, Type type) | 
|   | 
| static TypeBinaryExpression  | TypeEqual (Expression expression, Type type) | 
|   | 
| static UnaryExpression  | MakeUnary (ExpressionType unaryType, Expression operand, Type type) | 
|   | 
| static UnaryExpression  | MakeUnary (ExpressionType unaryType, Expression operand, Type type, MethodInfo? method) | 
|   | 
| static UnaryExpression  | Negate (Expression expression) | 
|   | 
| static UnaryExpression  | Negate (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | UnaryPlus (Expression expression) | 
|   | 
| static UnaryExpression  | UnaryPlus (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | NegateChecked (Expression expression) | 
|   | 
| static UnaryExpression  | NegateChecked (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | Not (Expression expression) | 
|   | 
| static UnaryExpression  | Not (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | IsFalse (Expression expression) | 
|   | 
| static UnaryExpression  | IsFalse (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | IsTrue (Expression expression) | 
|   | 
| static UnaryExpression  | IsTrue (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | OnesComplement (Expression expression) | 
|   | 
| static UnaryExpression  | OnesComplement (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | TypeAs (Expression expression, Type type) | 
|   | 
| static UnaryExpression  | Unbox (Expression expression, Type type) | 
|   | 
| static UnaryExpression  | Convert (Expression expression, Type type) | 
|   | 
| static UnaryExpression  | Convert (Expression expression, Type type, MethodInfo? method) | 
|   | 
| static UnaryExpression  | ConvertChecked (Expression expression, Type type) | 
|   | 
| static UnaryExpression  | ConvertChecked (Expression expression, Type type, MethodInfo? method) | 
|   | 
| static UnaryExpression  | ArrayLength (Expression array) | 
|   | 
| static UnaryExpression  | Quote (Expression expression) | 
|   | 
| static UnaryExpression  | Rethrow () | 
|   | 
| static UnaryExpression  | Rethrow (Type type) | 
|   | 
| static UnaryExpression  | Throw (Expression? value) | 
|   | 
| static UnaryExpression  | Throw (Expression? value, Type type) | 
|   | 
| static UnaryExpression  | Increment (Expression expression) | 
|   | 
| static UnaryExpression  | Increment (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | Decrement (Expression expression) | 
|   | 
| static UnaryExpression  | Decrement (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | PreIncrementAssign (Expression expression) | 
|   | 
| static UnaryExpression  | PreIncrementAssign (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | PreDecrementAssign (Expression expression) | 
|   | 
| static UnaryExpression  | PreDecrementAssign (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | PostIncrementAssign (Expression expression) | 
|   | 
| static UnaryExpression  | PostIncrementAssign (Expression expression, MethodInfo? method) | 
|   | 
| static UnaryExpression  | PostDecrementAssign (Expression expression) | 
|   | 
| static UnaryExpression  | PostDecrementAssign (Expression expression, MethodInfo? method) | 
|   | 
 | 
| static BinaryExpression  | GetUserDefinedBinaryOperator (ExpressionType binaryType, string name, Expression left, Expression right, bool liftToNull) | 
|   | 
| static MethodInfo  | GetUserDefinedBinaryOperator (ExpressionType binaryType, Type leftType, Type rightType, string name) | 
|   | 
| static BinaryExpression  | GetMethodBasedBinaryOperator (ExpressionType binaryType, Expression left, Expression right, MethodInfo method, bool liftToNull) | 
|   | 
| static BinaryExpression  | GetMethodBasedAssignOperator (ExpressionType binaryType, Expression left, Expression right, MethodInfo method, LambdaExpression conversion, bool liftToNull) | 
|   | 
| static BinaryExpression  | GetUserDefinedBinaryOperatorOrThrow (ExpressionType binaryType, string name, Expression left, Expression right, bool liftToNull) | 
|   | 
| static BinaryExpression  | GetUserDefinedAssignOperatorOrThrow (ExpressionType binaryType, string name, Expression left, Expression right, LambdaExpression conversion, bool liftToNull) | 
|   | 
| static bool  | IsLiftingConditionalLogicalOperator (Type left, Type right, MethodInfo method, ExpressionType binaryType) | 
|   | 
| static void  | ValidateParamswithOperandsOrThrow (Type paramType, Type operandType, ExpressionType exprType, string name) | 
|   | 
| static void  | ValidateOperator (MethodInfo method) | 
|   | 
| static void  | ValidateMethodInfo (MethodInfo method, string paramName) | 
|   | 
| static bool  | IsNullComparison (Expression left, Expression right) | 
|   | 
| static bool  | IsNullConstant (Expression e) | 
|   | 
| static void  | ValidateUserDefinedConditionalLogicOperator (ExpressionType nodeType, Type left, Type right, MethodInfo method) | 
|   | 
| static void  | VerifyOpTrueFalse (ExpressionType nodeType, Type left, MethodInfo opTrue, string paramName) | 
|   | 
| static bool  | IsValidLiftedConditionalLogicalOperator (Type left, Type right, ParameterInfo[] pms) | 
|   | 
| static BinaryExpression  | GetEqualityComparisonOperator (ExpressionType binaryType, string opName, Expression left, Expression right, bool liftToNull) | 
|   | 
| static BinaryExpression  | GetComparisonOperator (ExpressionType binaryType, string opName, Expression left, Expression right, bool liftToNull) | 
|   | 
| static Type  | ValidateCoalesceArgTypes (Type left, Type right) | 
|   | 
| static void  | ValidateOpAssignConversionLambda (LambdaExpression conversion, Expression left, MethodInfo method, ExpressionType nodeType) | 
|   | 
| static bool  | IsSimpleShift (Type left, Type right) | 
|   | 
| static Type  | GetResultTypeOfShift (Type left, Type right) | 
|   | 
| static BlockExpression  | BlockCore (Type type, ReadOnlyCollection< ParameterExpression > variables, ReadOnlyCollection< Expression > expressions) | 
|   | 
| static BlockExpression  | GetOptimizedBlockExpression (IReadOnlyList< Expression > expressions) | 
|   | 
| static void  | ValidateSpan (int startLine, int startColumn, int endLine, int endColumn) | 
|   | 
| static void  | ValidateElementInitAddMethodInfo (MethodInfo addMethod, string paramName) | 
|   | 
| static void  | RequiresCanRead (IReadOnlyList< Expression > items, string paramName) | 
|   | 
| static void  | RequiresCanWrite (Expression expression, string paramName) | 
|   | 
| static void  | ValidateGoto (LabelTarget target, ref Expression value, string targetParameter, string valueParameter, Type type) | 
|   | 
| static void  | ValidateGotoType (Type expectedType, ref Expression value, string paramName) | 
|   | 
| static PropertyInfo  | FindInstanceProperty ([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties|DynamicallyAccessedMemberTypes.NonPublicProperties)] Type type, string propertyName, Expression[] arguments) | 
|   | 
| static string  | GetArgTypesString (Expression[] arguments) | 
|   | 
| static PropertyInfo  | FindProperty ([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties|DynamicallyAccessedMemberTypes.NonPublicProperties)] Type type, string propertyName, Expression[] arguments, BindingFlags flags) | 
|   | 
| static bool  | IsCompatible (PropertyInfo pi, Expression[] args) | 
|   | 
| static bool  | IsCompatible (MethodBase m, Expression[] arguments) | 
|   | 
| static IndexExpression  | MakeIndexProperty (Expression instance, PropertyInfo indexer, string paramName, ReadOnlyCollection< Expression > argList) | 
|   | 
| static void  | ValidateIndexedProperty (Expression instance, PropertyInfo indexer, string paramName, ref ReadOnlyCollection< Expression > argList) | 
|   | 
| static void  | ValidateAccessor (Expression instance, MethodInfo method, ParameterInfo[] indexes, ref ReadOnlyCollection< Expression > arguments, string paramName) | 
|   | 
| static void  | ValidateAccessorArgumentTypes (MethodInfo method, ParameterInfo[] indexes, ref ReadOnlyCollection< Expression > arguments, string paramName) | 
|   | 
| static void  | ValidateLambdaArgs (Type delegateType, ref Expression body, ReadOnlyCollection< ParameterExpression > parameters, string paramName) | 
|   | 
| static TryGetFuncActionArgsResult  | ValidateTryGetFuncActionArgs (Type[] typeArgs) | 
|   | 
| static void  | ValidateSettableFieldOrPropertyMember (MemberInfo member, out Type memberType) | 
|   | 
| static PropertyInfo  | GetProperty (MethodInfo mi, string paramName, int index=-1) | 
|   | 
| static bool  | CheckMethod (MethodInfo method, MethodInfo propertyMethod) | 
|   | 
| static void  | ValidateListInitArgs (Type listType, ReadOnlyCollection< ElementInit > initializers, string listTypeParamName) | 
|   | 
| static void  | ValidateGettableFieldOrPropertyMember (MemberInfo member, out Type memberType) | 
|   | 
| static void  | ValidateMemberInitArgs (Type type, ReadOnlyCollection< MemberBinding > bindings) | 
|   | 
| static ParameterInfo[]  | ValidateMethodAndGetParameters (Expression instance, MethodInfo method) | 
|   | 
| static void  | ValidateStaticOrInstanceMethod (Expression instance, MethodInfo method) | 
|   | 
| static void  | ValidateCallInstanceType (Type instanceType, MethodInfo method) | 
|   | 
| static void  | ValidateArgumentTypes (MethodBase method, ExpressionType nodeKind, ref ReadOnlyCollection< Expression > arguments, string methodParamName) | 
|   | 
| static ParameterInfo[]  | GetParametersForValidation (MethodBase method, ExpressionType nodeKind) | 
|   | 
| static void  | ValidateArgumentCount (MethodBase method, ExpressionType nodeKind, int count, ParameterInfo[] pis) | 
|   | 
| static Expression  | ValidateOneArgument (MethodBase method, ExpressionType nodeKind, Expression arg, ParameterInfo pi, string methodParamName, string argumentParamName) | 
|   | 
| static bool  | TryQuote (Type parameterType, ref Expression argument) | 
|   | 
| static MethodInfo  | FindMethod ([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods|DynamicallyAccessedMemberTypes.NonPublicMethods)] Type type, string methodName, Type[] typeArgs, Expression[] args, BindingFlags flags) | 
|   | 
| static MethodInfo  | ApplyTypeArgs (MethodInfo m, Type[] typeArgs) | 
|   | 
| static void  | ValidateNewArgs (ConstructorInfo constructor, ref ReadOnlyCollection< Expression > arguments, ref ReadOnlyCollection< MemberInfo > members) | 
|   | 
| static void  | ValidateAnonymousTypeMember (ref MemberInfo member, out Type memberType, string paramName, int index) | 
|   | 
| static void  | ValidateConstructor (ConstructorInfo constructor, string paramName) | 
|   | 
| static void  | Validate (Type type, bool allowByRef) | 
|   | 
| static void  | ValidateSwitchCaseType (Expression @case, bool customType, Type resultType, string parameterName) | 
|   | 
| static void  | ValidateTryAndCatchHaveSameType (Type type, Expression tryBody, ReadOnlyCollection< CatchBlock > handlers) | 
|   | 
| static UnaryExpression  | GetUserDefinedUnaryOperatorOrThrow (ExpressionType unaryType, string name, Expression operand) | 
|   | 
| static UnaryExpression  | GetUserDefinedUnaryOperator (ExpressionType unaryType, string name, Expression operand) | 
|   | 
| static UnaryExpression  | GetMethodBasedUnaryOperator (ExpressionType unaryType, Expression operand, MethodInfo method) | 
|   | 
| static UnaryExpression  | GetUserDefinedCoercionOrThrow (ExpressionType coercionType, Expression expression, Type convertToType) | 
|   | 
| static UnaryExpression  | GetUserDefinedCoercion (ExpressionType coercionType, Expression expression, Type convertToType) | 
|   | 
| static UnaryExpression  | GetMethodBasedCoercionOperator (ExpressionType unaryType, Expression operand, Type convertToType, MethodInfo method) | 
|   | 
| static UnaryExpression  | MakeOpAssignUnary (ExpressionType kind, Expression expression, MethodInfo method) | 
|   |